Cloud Monitoring की मदद से डेटाबेस मॉनिटर करना

यह सिर्फ़ Cloud Firestore Enterprise वर्शन के लिए काम का है.

इस दस्तावेज़ में, MongoDB के साथ काम करने वाले Cloud Firestore के लिए ऑडिट लॉगिंग के बारे में बताया गया है. Google Cloud सेवाएं, ऑडिट लॉग जनरेट करती हैं. इनमें आपके Google Cloud संसाधनों में एडमिन और ऐक्सेस से जुड़ी गतिविधियों को रिकॉर्ड किया जाता है.

क्लाउड ऑडिट लॉग के बारे में ज़्यादा जानने के लिए, यहां दिया गया लेख पढ़ें:

नोट

ऑडिट लॉगिंग को कॉन्फ़िगर करते समय, datastore.googleapis.com सेवा के नाम का इस्तेमाल करें. इससे datastore.googleapis.com और firestore.googleapis.com. Once configured, logs for the Cloud Firestore with MongoDB compatibility API include the service namefirestore.googleapis.com`, दोनों को कॉन्फ़िगर किया जा सकता है.

DATA_READ या DATA_WRITE अनुरोध को प्रोसेस होने में कितना समय लगा, यह देखने के लिए, AuditLog के metadata ऑब्जेक्ट में मौजूद processing_duration फ़ील्ड देखें. processing_duration फ़ील्ड से पता चलता है कि डेटाबेस को किसी अनुरोध को प्रोसेस करने में कितना समय लगा. यह असली उपयोगकर्ता के लिए तय की गई लेटेन्सी से कम है. खास तौर पर, इसमें नेटवर्क ओवरहेड शामिल नहीं है.

सेवा का नाम

Cloud Firestore ऑडिट लॉग, सेवा के नाम firestore.googleapis.com का इस्तेमाल करते हैं. इस सेवा के लिए फ़िल्टर करें:

protoPayload.serviceName="firestore.googleapis.com"

अनुमति के टाइप के हिसाब से तरीके

हर IAM अनुमति में एक type प्रॉपर्टी होती है. इसकी वैल्यू एक इनम होती है, जो चार वैल्यू में से कोई एक हो सकती है: ADMIN_READ, ADMIN_WRITE, DATA_READ या DATA_WRITE. किसी तरीके को कॉल करने पर, Cloud Firestore एक ऑडिट लॉग जनरेट करता है. इसकी कैटगरी, उस तरीके को पूरा करने के लिए ज़रूरी अनुमति की type प्रॉपर्टी पर निर्भर करती है.

जिन तरीकों के लिए, IAM की अनुमति के साथ type प्रॉपर्टी की वैल्यू DATA_READ, DATA_WRITE या ADMIN_READ की ज़रूरत होती है वे डेटा ऐक्सेस के ऑडिट लॉग जनरेट करते हैं.

ऐसे तरीके जिनके लिए आईएएम की अनुमति ज़रूरी होती है. इनमें type प्रॉपर्टी की वैल्यू ADMIN_WRITE generate होती है. साथ ही, एडमिन की गतिविधि के ऑडिट लॉग जनरेट होते हैं.

अनुमति का टाइप तरीके
ADMIN_READ google.cloud.location.Locations.GetLocation
google.cloud.location.Locations.ListLocations
google.firestore.admin.v1.FirestoreAdmin.GetBackup
google.firestore.admin.v1.FirestoreAdmin.GetBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.GetDatabase
google.firestore.admin.v1.FirestoreAdmin.GetField
google.firestore.admin.v1.FirestoreAdmin.GetIndex
google.firestore.admin.v1.FirestoreAdmin.ListBackupSchedules
google.firestore.admin.v1.FirestoreAdmin.ListBackups
google.firestore.admin.v1.FirestoreAdmin.ListDatabases
google.firestore.admin.v1.FirestoreAdmin.ListFields
google.firestore.admin.v1.FirestoreAdmin.ListIndexes
google.firestore.admin.v1beta1.FirestoreAdmin.GetIndex
google.firestore.admin.v1.MongoDBCompatible.ListIndexes
google.firestore.admin.v1.MongoDBCompatible.ListDatabases
ADMIN_WRITE google.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.CreateDatabase
google.firestore.admin.v1.FirestoreAdmin.CreateIndex
google.firestore.admin.v1.FirestoreAdmin.DeleteBackup
google.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.DeleteDatabase
google.firestore.admin.v1.FirestoreAdmin.DeleteIndex
google.firestore.admin.v1.FirestoreAdmin.RestoreDatabase
google.firestore.admin.v1.FirestoreAdmin.UpdateBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase
google.firestore.admin.v1.FirestoreAdmin.UpdateField
google.longrunning.Operations.CancelOperation
google.longrunning.Operations.DeleteOperation
DATA_READ google.firestore.v1.MongoDBCompatible.Find
google.firestore.v1.MongoDBCompatible.Aggregate
google.firestore.v1.MongoDBCompatible.GetMore
google.firestore.v1.MongoDBCompatible.ListCollections
google.firestore.v1.MongoDBCompatible.Count
google.firestore.v1.MongoDBCompatible.Distinct
google.firestore.v1.MongoDBCompatible.CommitTransaction
google.firestore.v1.MongoDBCompatible.AbortTransaction
google.firestore.v1.MongoDBCompatible.EndSessions
google.firestore.v1.MongoDBCompatible.KillCursors
DATA_WRITE google.firestore.v1.MongoDBCompatible.Insert
google.firestore.v1.MongoDBCompatible.Update
google.firestore.v1.MongoDBCompatible.Delete
google.firestore.v1.MongoDBCompatible.FindAndModify
google.firestore.v1.MongoDBCompatible.CreateCollection

अनुरोध करने वाले लोगों की पहचान करना

ऑडिट लॉग की एंट्री में, उस आइडेंटिटी के बारे में जानकारी शामिल होती है जिसने लॉग की गई कार्रवाई की है. अनुरोध करने वाले की पहचान करने के लिए, AuditLog ऑब्जेक्ट में मौजूद इन फ़ील्ड को देखें:

  • कॉल करने वाले की पहचान, AuthenticationInfo फ़ील्ड में सेव की जाती है. इसमें उपयोगकर्ता का principalEmail शामिल हो सकता है. इस जानकारी को कभी-कभी छिपा दिया जाता है.

  • AuditLog एंट्री के requestMetadata ऑब्जेक्ट में मौजूद callerIp फ़ील्ड में, कॉल करने वाले का आईपी पता शामिल होता है.