
Azure CLI एक्सटेंशन Cirro संग्रह के लिए
एक Azure CLI एक्सटेंशन जो Azure संसाधन डेटा को निष्क्रिय रूप से एकत्र करता है और Cirro (https://github.com/bishopfox/cirro) स्कीमा के साथ संगत SQLite डेटाबेस में संग्रहीत करता है। यह सभी CLI कॉलों को JSON-lines फ़ाइल में भी लॉग करता है।
knack events से जुड़ता है:
EVENT_INVOKER_POST_PARSE_ARGS — कमांड तर्कों को लॉग करता हैEVENT_INVOKER_FILTER_RESULT — संसाधन डेटा को SQLite में लिखता हैaz extension add --source dist/cirro_azcli_ext-*.whl
az config set core.use_command_index=false
Azure CLI कमांड इंडेक्स द्वारा एक्सटेंशन को lazy-load करता है। इसे अक्षम करने से यह एक्सटेंशन सभी कमांडों के लिए लोड होता है ताकि यह हर कॉल का निरीक्षण कर सके।
जब कोई az कमांड किसी दूरस्थ Azure एंडपॉइंट (ARM, Graph,
Key Vault, आदि) से डेटा लौटाता है, तो एक्सटेंशन प्रत्येक परिणाम आइटम को वर्गीकृत करता है और उसे
उपयुक्त SQLite तालिका में लिखता है:
| वर्गीकरण संकेत | उदाहरण | लक्ष्य तालिका |
|---|---|---|
आइटम पर @odata.type | #microsoft.graph.user | users |
| ARM संसाधन ID पैटर्न | /subscriptions/x/providers/… | resources |
| CLI कमांड उपसर्ग | ad user list | users |
केवल-स्थानीय कमांड (version, extension, config, आदि) छोड़ दिए जाते हैं।
CREATE TABLE resources (
id TEXT PRIMARY KEY, sub_id TEXT, rg_id TEXT, resource_type TEXT, data TEXT
);
CREATE TABLE keyVaultItems (
id TEXT PRIMARY KEY, item_type TEXT, data TEXT
);
id TEXT PRIMARY KEY, data TEXT)applications · administrativeUnits · conditionalAccessPolicies · devices · directoryRoles · eligibleArmRBAC · eligibleRoleAssignments · groups · managementGroupEntities · namedLocations · organization · oauth2PermissionGrants · policies · roleAssignments · servicePrincipals · subscriptions · tenants · users
| कॉन्फ़िग कुंजी | डिफ़ॉल्ट | विवरण |
|---|---|---|
cirro.log_path | ~/.azure/cli_args.log | तर्क लॉग फ़ाइल पथ |
cirro.db_path | ~/.azure/cirro_collect.db | SQLite डेटाबेस पथ |
az config set cirro.db_path=/var/data/cirro_collect.db
az cirro status # show log stats and per-table row counts
az cirro status --tail 5 # show last 5 argument log entries