{"id":242,"date":"2026-04-27T00:00:00","date_gmt":"2026-04-26T20:30:00","guid":{"rendered":"https:\/\/www.anynet.ir\/blog\/gnsi-acctz-%d8%ad%d8%b3%d8%a7%d8%a8%d8%b1%d8%b3%db%8c-accounting-%d8%b5%d9%81%d8%ad%d9%87-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%af%d8%b1-cisco-ios-xr\/"},"modified":"2026-10-19T19:07:26","modified_gmt":"2026-10-19T15:37:26","slug":"gnsi-acctz-%d8%ad%d8%b3%d8%a7%d8%a8%d8%b1%d8%b3%db%8c-accounting-%d8%b5%d9%81%d8%ad%d9%87-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%af%d8%b1-cisco-ios-xr","status":"publish","type":"post","link":"https:\/\/www.anynet.ir\/blog\/gnsi-acctz-%d8%ad%d8%b3%d8%a7%d8%a8%d8%b1%d8%b3%db%8c-accounting-%d8%b5%d9%81%d8%ad%d9%87-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%af%d8%b1-cisco-ios-xr\/","title":{"rendered":"gNSI Acctz \u2014 \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Accounting) \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0631 Cisco IOS XR"},"content":{"rendered":"<div>\n<div>\n<div>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0645\u0634\u06a9\u0644<\/h2>\n<p style=\"direction: rtl; text-align: right\"><a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-certz-tls-certificate-lifecycle-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Certz<\/a> \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u06a9\u0644\u0627\u06cc\u0646\u062a\u200c\u0647\u0627 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 TLS \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u062f. <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/grpc-authorization-with-authz\" style=\"color: rgb(0, 102, 204)\">Authz<\/a> \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0645\u062c\u0627\u0632 \u0628\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u062f\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc gRPC \u0627\u0633\u062a. <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/securing-gnmi-with-pathz\" style=\"color: rgb(0, 102, 204)\">Pathz<\/a> \u06a9\u0646\u062a\u0631\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0647 \u06a9\u062f\u0627\u0645 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc gNMI \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u062f. \u0627\u0645\u0627 \u067e\u0633 \u0627\u0632 \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u0645\u0631\u0627\u062d\u0644\u060c \u0648\u0627\u0642\u0639\u0627\u064b \u0686\u0647 \u0627\u062a\u0641\u0627\u0642\u06cc \u0627\u0641\u062a\u0627\u062f\u0647 \u0627\u0633\u062a\u061f \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Accounting) \u0633\u0646\u062a\u06cc AAA \u062f\u0631 IOS XR\u060c \u0646\u0634\u0633\u062a\u200c\u0647\u0627\u06cc CLI \u0648 NETCONF \u0631\u0627 \u067e\u0648\u0634\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f\u060c \u0627\u0645\u0627 \u0641\u0639\u0627\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 gRPC (\u0634\u0627\u0645\u0644 gNMI\u060c gNOI\u060c gRIBI \u0648 \u062e\u0648\u062f gNSI) \u0641\u0627\u0642\u062f \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Audit Trail) \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0647\u0633\u062a\u0646\u062f. \u0628\u062f\u0648\u0646 \u0648\u062c\u0648\u062f \u0633\u0648\u0627\u0628\u0642 \u062d\u0633\u0627\u0628\u0631\u0633\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0628\u0631\u0627\u06cc \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a (Management Plane) \u062f\u0631 gRPC\u060c \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc \u0627\u0646\u0637\u0628\u0627\u0642 (Compliance) \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u067e\u0627\u0633\u062e \u0628\u0647 \u0627\u06cc\u0646 \u067e\u0631\u0633\u0634 \u0646\u062f\u0627\u0631\u0646\u062f \u06a9\u0647 \u00ab\u0686\u0647 \u06a9\u0633\u06cc\u060c \u0686\u0647 \u06a9\u0627\u0631\u06cc \u0631\u0627\u060c \u062f\u0631 \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0648 \u0627\u0632 \u06a9\u062c\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0647 \u0627\u0633\u062a\u061f\u00bb. \u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u060c \u062a\u0646\u0647\u0627 \u06af\u0632\u06cc\u0646\u0647 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 syslog \u0628\u0648\u062f.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">Acctz \u0686\u06cc\u0633\u062a\u061f<\/h2>\n<p style=\"direction: rtl; text-align: right\"><a href=\"https:\/\/github.com\/openconfig\/gnsi\/tree\/main\/acctz\" style=\"color: rgb(0, 102, 204)\">gNSI Acctz<\/a> \u0627\u06cc\u0646 \u0634\u06a9\u0627\u0641 \u0631\u0627 \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a<strong style=\"color: rgb(26, 26, 26)\">\u0633\u0648\u0627\u0628\u0642 \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Accounting Records) \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0631\u0627<\/strong>\u0627\u0632 \u062f\u0633\u062a\u06af\u0627\u0647 \u0628\u0647 \u06cc\u06a9<strong style=\"color: rgb(26, 26, 26)\">\u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector)<\/strong>\u0627\u0632 \u0637\u0631\u06cc\u0642 gRPC \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0633\u0648\u0627\u0628\u0642 \u062a\u0645\u0627\u0645\u06cc \u0645\u0648\u0627\u0631\u062f\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0627 \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a (Management Plane) \u062f\u0631 \u062a\u0639\u0627\u0645\u0644 \u0647\u0633\u062a\u0646\u062f\u060c \u067e\u0648\u0634\u0634 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f:<\/p>\n<ul style=\"direction: rtl; text-align: right\">\n<li><strong style=\"color: rgb(26, 26, 26)\">\u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 (CLI)<\/strong>\u0648<strong style=\"color: rgb(26, 26, 26)\">\u067e\u0648\u0633\u062a\u0647 (Shell)<\/strong>\u062f\u0633\u062a\u0648\u0631\u0627\u062a (\u0628\u0633\u0637 \u06cc\u0627\u0641\u062a\u0647 \u0628\u0647 \u0641\u0631\u0645 \u06a9\u0627\u0645\u0644 \u2014<code>sh ver det<\/code>\u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f \u0628\u0647<code>show version detail<\/code>)<\/li>\n<li><strong style=\"color: rgb(26, 26, 26)\">\u0646\u0634\u0633\u062a\u200c\u0647\u0627\u06cc (Sessions) NETCONF<\/strong>RESTCONF<\/li>\n<li><strong style=\"color: rgb(26, 26, 26)\">\u0641\u0639\u0627\u0644\u06cc\u062a \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648\u0628 (WebUI)<\/strong>\u0648<strong style=\"color: rgb(26, 26, 26)\">\u062e\u062f\u0645\u0627\u062a (Services) gRPC \u2014 \u0634\u0627\u0645\u0644 gNMI, gNOI, gNSI, gRIBI, P4RT<\/strong>\u0648\u0631\u0648\u062f (Login)<\/li>\n<li><strong style=\"color: rgb(26, 26, 26)\">\u062e\u0631\u0648\u062c (Logout)<\/strong>\u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 (Events)<\/li>\n<li><strong style=\"color: rgb(26, 26, 26)\">\u0648\u0631\u0648\u062f<\/strong>\u0648<strong style=\"color: rgb(26, 26, 26)\">\u062e\u0631\u0648\u062c<\/strong>\u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right\">\u0647\u0631 \u0631\u06a9\u0648\u0631\u062f \u0634\u0627\u0645\u0644 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0627\u0633\u062a:<strong style=\"color: rgb(26, 26, 26)\">\u0645\u062a\u0627\u062f\u06cc\u062a\u0627\u06cc \u0646\u0634\u0633\u062a (Session metadata)<\/strong>(5-tuple\u060c \u0634\u0646\u0627\u0633\u0647 \u06a9\u0627\u0646\u0627\u0644\u060c TTY)\u060c<strong style=\"color: rgb(26, 26, 26)\">\u062c\u0632\u0626\u06cc\u0627\u062a \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authentication details)<\/strong>(\u0646\u0648\u0639\u060c \u0648\u0636\u0639\u06cc\u062a\u060c \u0639\u0644\u062a \u0634\u06a9\u0633\u062a)\u060c \u0648<strong style=\"color: rgb(26, 26, 26)\">\u0646\u062a\u06cc\u062c\u0647 \u0645\u062c\u0648\u0632\u062f\u0647\u06cc (Authorization outcome)<\/strong>(\u0645\u062c\u0627\u0632\/\u063a\u06cc\u0631\u0645\u062c\u0627\u0632 (PERMIT\/DENY) \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u062e\u0637\u200c\u0645\u0634\u06cc). \u0628\u0631\u0627\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc gRPC\u060c \u0646\u0627\u0645 RPC (\u0645\u0627\u0646\u0646\u062f<code>\/gnmi.gNMI\/Set<\/code>, <code>\/gnsi.certz.v1.Certz\/Rotate<\/code>) \u0648 \u06cc\u06a9 \u0627\u0633\u0646\u067e\u200c\u0634\u0627\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u062d\u062a\u0648\u0627 (Payload) \u06af\u0646\u062c\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0645\u062d\u062a\u0648\u0627\u0647\u0627\u06cc \u062d\u0633\u0627\u0633 (\u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u062e\u0635\u0648\u0635\u06cc \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-certz-tls-certificate-lifecycle-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Certz<\/a> \/ <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-credentialz-ssh-credential-rotation-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Credentialz<\/a>) \u0686\u0631\u062e\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0633\u0627\u0646\u0633\u0648\u0631 (Redacted) \u0634\u0648\u0646\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 \u062f\u0627\u0631\u0627\u06cc \u06cc\u06a9<strong style=\"color: rgb(26, 26, 26)\">\u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer)<\/strong>\u0627\u0632 \u0633\u0648\u0627\u0628\u0642 \u0627\u062e\u06cc\u0631 \u0627\u0633\u062a. \u06cc\u06a9 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0645\u062a\u062f<strong style=\"color: rgb(26, 26, 26)\">RecordSubscribe<\/strong>\u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u06cc\u06a9 \u0628\u0631\u0686\u0633\u0628 \u0632\u0645\u0627\u0646\u06cc (Timestamp) \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u0646\u0645\u0627\u06cc\u062f \u0648 \u062f\u0633\u062a\u06af\u0627\u0647 \u062a\u0645\u0627\u0645 \u0633\u0648\u0627\u0628\u0642 \u0631\u0627 \u0627\u0632 \u0622\u0646 \u0646\u0642\u0637\u0647 \u0628\u0647 \u0628\u0639\u062f \u0627\u0633\u062a\u0631\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u06cc\u06a9 \u0628\u0631\u0686\u0633\u0628 \u0632\u0645\u0627\u0646\u06cc\u0650<code>0<\/code>\u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u00ab\u0627\u0631\u0633\u0627\u0644 \u062a\u0645\u0627\u0645 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0628\u0627\u0641\u0631 \u0634\u062f\u0647\u00bb \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0627\u0633\u062a\u0631\u06cc\u0645 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u0634\u0633\u062a (Session) gNSI \u067e\u0627\u06cc\u0627\u0646 \u06cc\u0627\u0628\u062f \u06cc\u0627 \u062e\u0637\u0627\u06cc\u06cc \u0631\u062e \u062f\u0647\u062f\u060c \u0628\u0647 \u0637\u0648\u0631 \u0646\u0627\u0645\u062d\u062f\u0648\u062f \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u06cc\u0627\u0628\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0631 \u0686\u0627\u0631\u0686\u0648\u0628 AAA\u060c \u0628\u062e\u0634 Acctz \u0647\u0645\u0627\u0646<strong style=\"color: rgb(26, 26, 26)\">Accounting<\/strong>\u0627\u0633\u062a \u2014 \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Audit trail) \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u06a9\u0647 \u0628\u0627 \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a (Management plane) \u062f\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u0633\u062a\u060c \u0635\u0631\u0641\u200c\u0646\u0638\u0631 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0622\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a \u0645\u062c\u0627\u0632 \u0628\u0648\u062f\u0647 \u06cc\u0627 \u0631\u062f \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/p>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 IOS XR<\/h2>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u0646\u0633\u062e\u0647 (Release)<\/th>\n<th>\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">24.3.1<\/strong><\/td>\n<td>\u0645\u0639\u0631\u0641\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a \u062b\u0628\u062a \u0648\u0642\u0627\u06cc\u0639 (Logging) \u062f\u0631 gNSI Acctz \u2014 \u062f\u0648\u0637\u0631\u0641\u0647 (bidirectional)<code>Acctz.RecordSubscribe<\/code>\u0631\u06a9\u0648\u0631\u062f\u200c\u0647\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0648 \u0633\u0631\u0648\u06cc\u0633 gRPC.<code>grpc aaa accounting queue-size<\/code>\u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 (CLI).<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">24.4.1<\/strong><\/td>\n<td><code>AcctzStream<\/code>(\u0627\u0633\u062a\u0631\u06cc\u0645\u06cc\u0646\u06af \u0633\u0645\u062a \u0633\u0631\u0648\u0631) \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u062d\u0627\u0644\u062a \u062f\u0648\u0637\u0631\u0641\u0647 (bidirectional) \u0645\u0646\u0633\u0648\u062e \u0634\u062f\u0647 \u0627\u0633\u062a<code>Acctz<\/code>. <code>grpc aaa accounting history-memory<\/code>\u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 (CLI). \u0622\u0645\u0627\u0631 \u0628\u0647 \u062a\u0641\u06a9\u06cc\u06a9 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Per-Collector) \u062f\u0631<code>show gnsi acctz statistics<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"direction: rtl; text-align: right\">\u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627: \u062e\u0627\u0646\u0648\u0627\u062f\u0647\u200c\u0647\u0627\u06cc Cisco 8000\u060c NCS 5500 \u0648 ASR 9000. \u0634\u0645\u0627\u0631\u0647 \u0642\u0637\u0639\u0647 (SKU) \u062f\u0642\u06cc\u0642 \u0648 PI\/SMU \u0631\u0627 \u062f\u0631 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a\u200c\u0647\u0627\u06cc \u0627\u0646\u062a\u0634\u0627\u0631 (Release Notes) \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0634\u062f\u0647 \u062f\u0631:<\/strong>\u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0627\u0645\u0644 \u0628\u0631 \u0631\u0648\u06cc Cisco NCS-540 \u0628\u0627 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644 IOS XR \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a.<strong style=\"color: rgb(26, 26, 26)\">25.3.1<\/strong>\u062f\u0631 \u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 \u0631\u0641\u062a\u0627\u0631 \u062f\u0633\u062a\u06af\u0627\u0647 \u0628\u0627 \u067e\u0631\u0648\u062a\u06a9\u0644\/\u0645\u0634\u062e\u0635\u0627\u062a \u0641\u0646\u06cc (proto\/spec) \u06cc\u0627 \u0645\u062a\u0646 \u0627\u0635\u0644\u06cc xrdocs \u062a\u0641\u0627\u0648\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u06cc\u0646 \u062a\u0641\u0627\u0648\u062a \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0631\u0648\u0646\u200c\u062e\u0637\u06cc (inline) \u0630\u06a9\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<\/blockquote>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062f\u0648 \u0633\u0631\u0648\u06cc\u0633 gRPC<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 <a href=\"https:\/\/github.com\/openconfig\/gnsi\/blob\/main\/acctz\/acctz.proto\" style=\"color: rgb(0, 102, 204)\"><code>acctz.proto<\/code><\/a> \u062f\u0648 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u0633\u0631\u0648\u06cc\u0633 (Service)<\/th>\n<th>\u0646\u0648\u0639 \u062c\u0631\u06cc\u0627\u0646 (Stream type)<\/th>\n<th>\u0648\u0636\u0639\u06cc\u062a (Status)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\"><code>Acctz<\/code><\/strong><\/td>\n<td>\u062c\u0631\u06cc\u0627\u0646 \u062f\u0648\u0637\u0631\u0641\u0647 (Bidirectional stream) (<code>\u0627\u0634\u062a\u0631\u0627\u06a9 \u0631\u06a9\u0648\u0631\u062f (RecordSubscribe)<\/code>)<\/td>\n<td>\u0645\u0646\u0633\u0648\u062e \u0634\u062f\u0647 (Deprecated) (IOS XR 24.3.1)<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\"><code>\u062c\u0631\u06cc\u0627\u0646 Acctz (AcctzStream)<\/code><\/strong><\/td>\n<td>\u062c\u0631\u06cc\u0627\u0646 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0628\u0647 \u0633\u0631\u0648\u0631 (Client \u2192 server stream) (<code>\u0627\u0634\u062a\u0631\u0627\u06a9 \u0631\u06a9\u0648\u0631\u062f (RecordSubscribe)<\/code>)<\/td>\n<td>\u062a\u0631\u062c\u06cc\u062d\u06cc (Preferred) (IOS XR 24.4.1+)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"direction: rtl; text-align: right\"><code>AcctzStream<\/code>\u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0633\u062a\u0631\u06cc\u0645\u06cc\u0646\u06af \u06cc\u06a9\u200c\u0637\u0631\u0641\u0647 \u0627\u0632 \u0633\u0645\u062a \u0633\u0631\u0648\u0631 \u0627\u0633\u062a \u2014 \u06a9\u0644\u06a9\u062a\u0648\u0631 (Collector) \u06cc\u06a9<code>RecordRequest<\/code>\u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0633\u0631\u0648\u0631 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc<code>RecordResponse<\/code>\u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0631\u06cc\u0645 \u0628\u0627\u0632\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. \u0633\u0631\u0648\u06cc\u0633 \u0645\u0646\u0633\u0648\u062e\u200c\u0634\u062f\u0647<code>Acctz<\/code>\u0627\u0632 \u06cc\u06a9 \u0627\u0633\u062a\u0631\u06cc\u0645 \u062f\u0648\u0637\u0631\u0641\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0631\u062f. \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc\u200c\u0647\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u06cc\u06a9\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0648 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u061b \u0647\u0645\u06cc\u0634\u0647 \u0628\u0627<strong style=\"color: rgb(26, 26, 26)\">Reflection<\/strong>.<\/p>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0633\u062a\u0631\u06cc\u0645\u06cc\u0646\u06af (Streaming)<\/h2>\n<ol style=\"direction: rtl; text-align: right\">\n<li>A <strong style=\"color: rgb(26, 26, 26)\">\u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector)<\/strong>\u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc\u200c\u0647\u0627 (calls)<strong style=\"color: rgb(26, 26, 26)\">RecordSubscribe<\/strong>.<\/li>\n<li><strong style=\"color: rgb(26, 26, 26)\">RecordRequest<\/strong>\u062d\u0627\u0645\u0644 \u06cc\u06a9<strong style=\"color: rgb(26, 26, 26)\">\u0645\u0647\u0631 \u0632\u0645\u0627\u0646\u06cc (timestamp)<\/strong>(\u0646\u0627\u0646\u0648\u062b\u0627\u0646\u06cc\u0647 \u0627\u0632 \u0645\u0628\u062f\u0623 \u0632\u0645\u0627\u0646).<code>0<\/code>\u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u00ab\u0627\u0631\u0633\u0627\u0644 \u062a\u0645\u0627\u0645 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0628\u0627\u0641\u0631 \u0634\u062f\u0647\u00bb \u0627\u0633\u062a. \u0632\u0645\u0627\u0646 \u0641\u0639\u0644\u06cc \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u00ab\u0641\u0642\u0637 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u00bb \u0627\u0633\u062a.<\/li>\n<li>\u0633\u0631\u0648\u0631 \u062c\u0631\u06cc\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f<strong style=\"color: rgb(26, 26, 26)\">RecordResponse<\/strong>\u067e\u06cc\u0627\u0645\u200c\u0647\u0627 \u0628\u0647 \u0645\u062d\u0636 \u0627\u06cc\u062c\u0627\u062f \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f.<\/li>\n<li>\u0627\u06cc\u0646 \u062c\u0631\u06cc\u0627\u0646 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u0634\u0633\u062a (session) gNSI \u067e\u0627\u06cc\u0627\u0646 \u06cc\u0627\u0628\u062f\u060c \u06cc\u06a9 TCP keepalive \u0645\u0646\u0642\u0636\u06cc \u0634\u0648\u062f\u060c \u06cc\u0627 \u0633\u0631\u0648\u0631 \u06cc\u06a9 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0645\u062a\u0648\u0642\u0641\u200c\u0634\u062f\u0647 \u0631\u0627 \u06a9\u0647 \u0628\u0627\u0641\u0631 \u062e\u0631\u0648\u062c\u06cc \u0622\u0646 \u0628\u0631\u0627\u06cc \u0645\u062f\u062a \u0637\u0648\u0644\u0627\u0646\u06cc \u067e\u0631 \u0645\u0627\u0646\u062f\u0647 \u0627\u0633\u062a \u0642\u0637\u0639 \u06a9\u0646\u062f\u060c \u0628\u0647 \u0637\u0648\u0631 \u0646\u0627\u0645\u062d\u062f\u0648\u062f \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u06cc\u0627\u0628\u062f.<\/li>\n<\/ol>\n<pre><code><span> +-----------------+\n<\/span><span> | Remote Collector|\n<\/span><span> +-----------------+\n<\/span><span> ^\n<\/span><span> | gNSI Acctz stream\n<\/span><span> |\n<\/span><span> +----------------------------------+\n<\/span><span> | IOS XR Router |\n<\/span><span> | CLI NETCONF gNMI gNOI gRIBI |\n<\/span><span> | +------+-------+------+-----+--+\n<\/span><span> | Acctz Service |\n<\/span><span> +----------------------------------+\n<\/span><\/code><\/pre>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0648 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer)<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 \u06cc\u06a9 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer) \u0631\u0627 \u062d\u0641\u0638 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0642\u0637\u0639\u06cc\u200c\u0647\u0627\u06cc \u06a9\u0648\u062a\u0627\u0647 \u062f\u0631 Collector\u060c \u062a\u0645\u0627\u0645\u06cc \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0627\u0632 \u062f\u0633\u062a \u0646\u0631\u0648\u0646\u062f. \u0631\u0641\u062a\u0627\u0631 \u06a9\u0644\u06cc\u062f\u06cc:<\/p>\n<div style=\"display: flex\" title=\"\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634\">&nbsp;<\/div>\n<div style=\"display: flex\" title=\"\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634\">&nbsp;<\/div>\n<ul style=\"direction: rtl; text-align: right\">\n<li><strong style=\"color: rgb(26, 26, 26)\">\u0639\u0645\u0642 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 (History depth)<\/strong>\u0627\u0632 \u0637\u0631\u06cc\u0642 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0642\u0627\u0628\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0633\u062a:<code>grpc aaa accounting queue-size<\/code>(\u067e\u06cc\u0634\u200c\u0641\u0631\u0636: 40 \u0631\u06a9\u0648\u0631\u062f\u060c \u0645\u062d\u062f\u0648\u062f\u0647: 1 \u062a\u0627 512) \u0648<code>grpc aaa accounting history-memory<\/code>(\u067e\u06cc\u0634\u200c\u0641\u0631\u0636: 40 \u0645\u06af\u0627\u0628\u0627\u06cc\u062a\u060c \u0645\u062d\u062f\u0648\u062f\u0647: 1 \u062a\u0627 400 \u0645\u06af\u0627\u0628\u0627\u06cc\u062a).<\/li>\n<li>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0635\u0641 \u067e\u0631 \u0627\u0633\u062a \u0648 \u0647\u06cc\u0686 \u062c\u0645\u0639\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0627\u06cc (Collector) \u0645\u062a\u0635\u0644 \u0646\u06cc\u0633\u062a\u060c \u0642\u062f\u06cc\u0645\u06cc\u200c\u062a\u0631\u06cc\u0646 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/li>\n<li>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0635\u0641 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0631\u06cc\u0645\u06cc\u0646\u06af \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u062a\u0627<strong style=\"color: rgb(26, 26, 26)\">512 \u0631\u06a9\u0648\u0631\u062f \u0627\u0636\u0627\u0641\u06cc<\/strong>\u062f\u0631 \u062d\u06cc\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/li>\n<li>\u0628\u062f\u062a\u0631\u06cc\u0646 \u062d\u0627\u0644\u062a \u0645\u0635\u0631\u0641 \u062d\u0627\u0641\u0638\u0647 EMSd:<strong style=\"color: rgb(26, 26, 26)\">(N+1) \u00d7 history-memory<\/strong>\u06a9\u0647 \u062f\u0631 \u0622\u0646 N \u062a\u0639\u062f\u0627\u062f \u062c\u0645\u0639\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0647\u0627\u06cc (Collector) \u0645\u062a\u0635\u0644 \u0627\u0633\u062a.<\/li>\n<li>If <code>history_istruncated<\/code>\u062f\u0631 \u06cc\u06a9<code>RecordResponse<\/code>\u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u062c\u0645\u0639\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0628\u0631\u0686\u0633\u0628 \u0632\u0645\u0627\u0646\u06cc (Timestamp) \u0642\u062f\u06cc\u0645\u06cc\u200c\u062a\u0631 \u0627\u0632 \u0628\u0627\u0641\u0631 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a \u2014 \u0628\u0631\u062e\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0627\u0632 \u062f\u0633\u062a \u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f.<\/li>\n<\/ul>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1:<\/strong><code>RecordResponse.history_istruncated<\/code> is <code>true<\/code>\u062f\u0631 \u0627\u0648\u0644\u06cc\u0646 \u0631\u06a9\u0648\u0631\u062f \u0627\u0632<strong style=\"color: rgb(26, 26, 26)\">\u0647\u0631<\/strong>\u0628\u0627\u0632\u067e\u062e\u0634 (Replay)\u060c \u062d\u062a\u06cc \u062f\u0631 \u06cc\u06a9 \u0628\u0627\u0641\u0631 \u062a\u0627\u0632\u0647 \u0628\u0627<code>timestamp = \"1970-01-01T00:00:00Z<\/code>. \u0627\u06cc\u0646 \u067e\u0631\u0686\u0645 (Flag) \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0628\u06cc\u0644\u062f (Build) \u0635\u0631\u0641\u0627\u064b \u062c\u0647\u062a \u0627\u0637\u0644\u0627\u0639 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f \u0648 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631<code>Total History Truncation<\/code> in <code>show gnsi acctz statistics<\/code>\u0628\u0631\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u067e\u0631 \u0634\u062f\u0646 \u0648\u0627\u0642\u0639\u06cc \u0628\u0627\u0641\u0631 (Buffer wrap) \u0628\u0631\u0631\u0633\u06cc \u0645\u062c\u062f\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<\/blockquote>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0633\u0627\u062e\u062a\u0627\u0631 RecordResponse<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0647\u0631<strong style=\"color: rgb(26, 26, 26)\">RecordResponse<\/strong>\u0634\u0627\u0645\u0644 \u0686\u0647\u0627\u0631 \u062f\u0633\u062a\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0633\u062a:<\/p>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc<\/th>\n<th>\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc<\/th>\n<th>\u0647\u062f\u0641<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0646\u0634\u0633\u062a (Session)<\/strong><\/td>\n<td>\u0622\u062f\u0631\u0633 \u0645\u062d\u0644\u06cc (local_address), \u0622\u062f\u0631\u0633 \u0631\u0627\u0647 \u062f\u0648\u0631 (remote_address), \u067e\u0648\u0631\u062a \u0631\u0627\u0647 \u062f\u0648\u0631 (remote_port), \u0634\u0646\u0627\u0633\u0647 \u06a9\u0627\u0646\u0627\u0644 (channel_id), \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 (tty), \u0648\u0636\u0639\u06cc\u062a (status)<\/td>\n<td>\u0686\u0647 \u06a9\u0633\u06cc \u0648 \u0627\u0632 \u06a9\u062c\u0627 \u0645\u062a\u0635\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u06a9\u0627\u0631\u0628\u0631 \/ \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authn)<\/strong><\/td>\n<td>\u0647\u0648\u06cc\u062a (identity), \u0646\u0642\u0634 (role), \u0646\u0648\u0639 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (authn.type), \u0648\u0636\u0639\u06cc\u062a \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (authn.status)<\/td>\n<td>\u0686\u0647 \u06a9\u0633\u06cc \u0648 \u0686\u06af\u0648\u0646\u0647 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0634\u062f\u0647 \u0627\u0633\u062a<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0645\u062d\u062a\u0648\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633 (Service payload)<\/strong><\/td>\n<td>\u0633\u0631\u0648\u06cc\u0633 \u062f\u0633\u062a\u0648\u0631\u0627\u062a (cmd_service)(CLI\/NETCONF\/etc.) \u06cc\u0627\u0633\u0631\u0648\u06cc\u0633 gRPC (grpc_service)(gNMI\/gNOI\/gNSI\/etc.)<\/td>\n<td>\u0686\u0647 \u0686\u06cc\u0632\u06cc \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0645\u062c\u0648\u0632\u062f\u0647\u06cc (Authorization)<\/strong><\/td>\n<td>\u0648\u0636\u0639\u06cc\u062a \u0645\u062c\u0648\u0632\u062f\u0647\u06cc (authz.status)(\u0645\u062c\u0627\u0632\/\u063a\u06cc\u0631\u0645\u062c\u0627\u0632 &#8211; PERMIT\/DENY),\u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u062c\u0648\u0632\u062f\u0647\u06cc (authz.detail)<\/td>\n<td>\u0622\u06cc\u0627 \u0627\u062c\u0627\u0632\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0631\u062e\u062a \u06a9\u0627\u0645\u0644 \u0641\u06cc\u0644\u062f \u067e\u0631\u0648\u062a\u0648 (proto) \u062f\u0631 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-acctz-management-plane-accounting-on-cisco-ios-xr#appendix-recordresponse-field-tree\" style=\"color: rgb(0, 102, 204)\">\u067e\u06cc\u0648\u0633\u062a<\/a> \u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f.<\/p>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0631\u06a9\u0648\u0631\u062f\u200c\u0647\u0627\u06cc Command \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 gRPC<\/h3>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u0646\u0648\u0639 \u0631\u06a9\u0648\u0631\u062f<\/th>\n<th>\u0622\u0646\u0686\u0647 \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f<\/th>\n<th>\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0633\u0631\u0648\u06cc\u0633 \u062f\u0633\u062a\u0648\u0631 (CommandService)<\/strong><\/td>\n<td>CLI, Shell, NETCONF, RESTCONF, WebUI<\/td>\n<td>\u062f\u0633\u062a\u0648\u0631 (cmd) + \u0622\u0631\u06af\u0648\u0645\u0627\u0646\u200c\u0647\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 (cmd_args)(\u0628\u0633\u0637 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0632 \u0645\u062e\u0641\u0641),\u0645\u062c\u0648\u0632 (authz)\u0646\u062a\u06cc\u062c\u0647 (outcome)<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0633\u0631\u0648\u06cc\u0633 \u062c\u06cc\u200c\u0622\u0631\u200c\u067e\u06cc\u200c\u0633\u06cc (GrpcService)<\/strong><\/td>\n<td>gNMI, gNOI, gNSI, gRIBI, P4RT<\/td>\n<td>\u0646\u0627\u0645 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc (rpc_name)(HTTP\/2\u0645\u0633\u06cc\u0631 (path):\u0647\u062f\u0631 (header)\u060c \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc\u0645\u062d\u062a\u0648\u0627 (payload), \u0645\u062c\u0648\u0632 (authz)\u0646\u062a\u06cc\u062c\u0647 (outcome)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u062a\u0648\u062c\u0647:<\/strong>\u0631\u06a9\u0648\u0631\u062f\u200c\u0647\u0627\u06cc GRIBI \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0633\u06cc\u0627\u0631 \u067e\u0631\u062d\u062c\u0645 \u0628\u0627\u0634\u0646\u062f. \u062f\u0631 \u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u067e\u0631\u0648\u062a\u06a9\u0644 (proto comments) \u062a\u0648\u0635\u06cc\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u062b\u0628\u062a \u0648\u0642\u0627\u06cc\u0639 (logging) \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 GRIBI \u062f\u0631 \u062e\u0637\u200c\u0645\u0634\u06cc\u200c\u0647\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authorization Policy) \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u0628\u0627\u0634\u062f.<\/p>\n<\/blockquote>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0645\u0631\u062c\u0639 \u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 (CLI) \u0628\u0631\u0627\u06cc IOS XR<\/h2>\n<div class=\"table-responsive\" style=\"max-width: 100%\">\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u062f\u0633\u062a\u0648\u0631 (Command)<\/th>\n<th>\u0639\u0645\u0644\u06a9\u0631\u062f<\/th>\n<th>\u067e\u06cc\u0634\u200c\u0641\u0631\u0636 (Default)<\/th>\n<th>\u0645\u062d\u062f\u0648\u062f\u0647 (Range)<\/th>\n<th>\u0646\u0633\u062e\u0647 (Release)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>aaa accounting commands default start-stop group tacacs+<\/code><\/td>\n<td>\u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc AAA (\u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc Acctz)<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>grpc aaa accounting queue-size <\/code><\/td>\n<td>\u062a\u0639\u062f\u0627\u062f \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer) \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u062f<\/td>\n<td>40<\/td>\n<td>1\u2013512<\/td>\n<td>24.3.1<\/td>\n<\/tr>\n<tr>\n<td><code>grpc aaa accounting history-memory <\/code><\/td>\n<td>\u062d\u062f\u0627\u06a9\u062b\u0631 \u062d\u0627\u0641\u0638\u0647 \u0628\u0631\u0627\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u06a9\u0634 \u0634\u062f\u0647<\/td>\n<td>40 MB<\/td>\n<td>1\u2013400 MB<\/td>\n<td>24.4.1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u062f\u0633\u062a\u0648\u0631 \u0646\u0645\u0627\u06cc\u0634 (Show command)<\/th>\n<th>\u0622\u0646\u0686\u0647 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>show gnsi state<\/code><\/td>\n<td>\u0648\u0636\u0639\u06cc\u062a \u0632\u06cc\u0631\u0633\u06cc\u0633\u062a\u0645 gNSI (\u0634\u0627\u0645\u0644 Acctz Thread \u0648 \u0648\u0636\u0639\u06cc\u062a RDSFS)<\/td>\n<\/tr>\n<tr>\n<td><code>show gnsi acctz statistics<\/code><\/td>\n<td>\u0628\u0627\u0641\u0631 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 (History Buffer)\u060c \u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0635\u0641 (\u0627\u0631\u0633\u0627\u0644\u200c\u0634\u062f\u0647\/\u062d\u0630\u0641\u200c\u0634\u062f\u0647\/\u06a9\u0648\u062a\u0627\u0647\u200c\u0634\u062f\u0647)\u060c \u06a9\u0627\u0644\u06a9\u062a\u0648\u0631\u0647\u0627\u06cc \u0645\u062a\u0635\u0644\u060c \u0648 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\/\u062d\u0630\u0641\u200c\u0647\u0627 \u0628\u0647 \u062a\u0641\u06a9\u06cc\u06a9 \u0647\u0631 \u06a9\u0627\u0644\u06a9\u062a\u0648\u0631<\/td>\n<\/tr>\n<tr>\n<td><code>show aaa accounting statistics<\/code><\/td>\n<td>\u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Accounting) \u062f\u0631 \u0633\u0637\u062d AAA<\/td>\n<\/tr>\n<tr>\n<td><code>show tech-support gnsi<\/code><\/td>\n<td>\u0628\u0633\u062a\u0647 \u06a9\u0627\u0645\u0644 \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc (Diagnostic) \u0628\u0631\u0627\u06cc gNSI<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u06a9\u0627\u0631 \u0639\u0645\u0644\u06cc: \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Acctz) \u0633\u0631\u062a\u0627\u0633\u0631\u06cc (End-to-End)<\/h2>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/h3>\n<ul style=\"direction: rtl; text-align: right\">\n<li>\u0631\u0648\u062a\u0631 IOS XR \u0628\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a gRPC \u0641\u0639\u0627\u0644 (\u0646\u0633\u062e\u0647 24.3.1 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631 \u0628\u0631\u0627\u06cc Acctz\u061b \u0646\u0633\u062e\u0647 24.4.1 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631 \u0628\u0631\u0627\u06cc AcctzStream)<\/li>\n<li><a href=\"https:\/\/github.com\/fullstorydev\/grpcurl\" style=\"color: rgb(0, 102, 204)\">grpcurl<\/a> \u0646\u0635\u0628 \u0634\u062f\u0647<\/li>\n<li>\u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627\u06cc OpenConfig gNSI \u06a9\u0644\u0648\u0646 \u0634\u062f\u0647:<code>git clone https:\/\/github.com\/openconfig\/gnsi.git<\/code><\/li>\n<li>\u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc AAA (AAA Accounting) \u0631\u0648\u06cc \u0631\u0648\u062a\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a (\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f)<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u062a\u0645\u0627\u0645\u06cc \u0645\u0631\u0627\u062d\u0644 \u0631\u0627 \u067e\u0648\u0634\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f: \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0631\u0648\u062a\u0631 (Router)\u060c \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc RPC\u0647\u0627\u060c \u0634\u0631\u0648\u0639 \u062c\u0631\u06cc\u0627\u0646 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector stream)\u060c \u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a (Management Plane)\u060c \u0628\u0631\u0631\u0633\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0648 \u062a\u0623\u06cc\u06cc\u062f \u0646\u0647\u0627\u06cc\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u062a IOS XR CLI.<\/p>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0645\u062d\u06cc\u0637 (\u0627\u06cc\u0633\u062a\u06af\u0627\u0647 \u06a9\u0627\u0631\u06cc)<\/h3>\n<pre><code><span><span>export<\/span> <span>GNSI_IMPORT<\/span><span>=<\/span><span>\"<span>${GNSI_IMPORT<span>:-<\/span>$PWD}<\/span>\"<\/span>\n<\/span><span><span>export<\/span> <span>XR<\/span><span>=<\/span><span>\"<span>${XR<span>:-<\/span>198.51.100.1<span>:<\/span>57400}<\/span>\"<\/span>\n<\/span><span><span>export<\/span> <span>XR_USER<\/span><span>=<\/span><span>\"<span>${XR_USER<span>:-<\/span>cisco}<\/span>\"<\/span>\n<\/span><span><span>export<\/span> <span>XR_PASS<\/span><span>=<\/span><span>\"<span>${XR_PASS<span>:-<\/span>}<\/span>\"<\/span>\n<\/span><span><span>GRPC_MD<\/span><span>=<\/span><span>(<\/span>-H <span>\"username:<span>${XR_USER}<\/span>\"<\/span> <span>-H<\/span> <span>\"password:<span>${XR_PASS}<\/span>\"<\/span><span>)<\/span>\n<\/span><span><span>PROTO_ACCTZ<\/span><span>=<\/span><span>\"acctz\/acctz.proto\"<\/span>\n<\/span><\/code><\/pre>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06af\u0627\u0647:<\/strong>\u062a\u0645\u0627\u0645 \u0645\u062b\u0627\u0644\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0632<code>-plaintext<\/code>(\u0628\u062f\u0648\u0646 TLS) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc\u060c \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f<code>-plaintext<\/code>\u0628\u0627<code>-cacert<\/code>, <code>-cert<\/code>\u0648<code>-key<\/code>\u0641\u0644\u06af\u200c\u0647\u0627. \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-certz-tls-certificate-lifecycle-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">\u0645\u0642\u0627\u0644\u0647 Certz<\/a> \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc TLS.<\/p>\n<\/blockquote>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0631\u0648\u062a\u0631 (IOS XR CLI)<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0642\u0627\u0628\u0644\u06cc\u062a \u062d\u0633\u0627\u0628\u0631\u0633\u06cc AAA (AAA Accounting) \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f (\u0627\u06af\u0631 \u0642\u0628\u0644\u0627\u064b \u0641\u0639\u0627\u0644 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a) \u0648 \u0628\u0627\u0641\u0631 Acctz \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 (Tune) \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code><span>configure\n<\/span><span> aaa accounting commands default start-stop group tacacs+\n<\/span><span> aaa accounting exec default start-stop group tacacs+\n<\/span><span> grpc aaa accounting queue-size 100\n<\/span><span> grpc aaa accounting history-memory 80\n<\/span><span> commit\n<\/span><span>end\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u062a\u0623\u06cc\u06cc\u062f \u0641\u0639\u0627\u0644 \u0628\u0648\u062f\u0646 gNSI:<\/p>\n<pre><code><span>show gnsi state\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0644\u0637\u0641\u0627\u064b \u0645\u062a\u0646 \u0648\u0631\u0648\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0631\u062c\u0645\u0647 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0637\u0628\u0642 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646\u200c\u0634\u062f\u0647\u060c \u062a\u0631\u062c\u0645\u0647 \u0622\u0646 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0645.<\/p>\n<pre><code><span>----------------GNSI state--------------\n<\/span><span>Global:\n<\/span><span>Main Thread cerrno: Success\n<\/span><span>Acctz Thread cerrno: Success\n<\/span><span>State: Active\n<\/span><span>RDSFS State: Active\n<\/span><\/code><\/pre>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0641\u0647\u0631\u0633\u062a \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 (Reflection)<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0633\u062a\u06af\u0627\u0647 \u06a9\u062f\u0627\u0645\u200c\u06cc\u06a9 \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Acctz Services) \u0631\u0627 \u0635\u0627\u062f\u0631 (Export) \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n<pre><code><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> list gnsi.acctz.v1.Acctz\n<\/span><\/code><\/pre>\n<pre><code><span>gnsi.acctz.v1.Acctz.RecordSubscribe\n<\/span><\/code><\/pre>\n<pre><code><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> list gnsi.acctz.v1.AcctzStream\n<\/span><\/code><\/pre>\n<pre><code><span>gnsi.acctz.v1.AcctzStream.RecordSubscribe\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0647\u0631 \u062f\u0648 \u0633\u0631\u0648\u06cc\u0633 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 Reflection \u0638\u0627\u0647\u0631 \u0634\u0648\u0646\u062f\u060c \u0627\u0645\u0627 \u062f\u0631 \u0627\u06cc\u0645\u06cc\u062c\u200c\u0647\u0627\u06cc \u0641\u0639\u0644\u06cc \u062a\u0646\u0647\u0627<strong style=\"color: rgb(26, 26, 26)\">AcctzStream<\/strong>\u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u0633\u0631\u0648\u06cc\u0633 \u0645\u0646\u0633\u0648\u062e \u0634\u062f\u0647<code>Acctz<\/code>(\u062f\u0648 \u0637\u0631\u0641\u0647) \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u0642\u062f\u0627\u0631<code>Unimplemented<\/code>\u0631\u0627 \u0628\u0627\u0632\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. \u0647\u0645\u06cc\u0634\u0647 \u0627\u0632<code>AcctzStream<\/code>.<\/p>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062a\u0648\u0635\u06cc\u0641 RPC (\u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0631\u0648\u06cc\u0647 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631)<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0645\u062a\u062f RecordSubscribe \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> describe gnsi.acctz.v1.AcctzStream.RecordSubscribe\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u067e\u0627\u0633\u062e \u0631\u0648\u062a\u0631 (Router response)<\/p>\n<pre><code><span>gnsi.acctz.v1.AcctzStream.RecordSubscribe is a method:\n<\/span><span>rpc RecordSubscribe (.gnsi.acctz.v1.RecordRequest) returns ( stream.gnsi.acctz.v1.RecordResponse);\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0686\u0627\u067e \u06cc\u06a9 \u0642\u0627\u0644\u0628 \u0628\u0631\u0627\u06cc \u067e\u06cc\u0627\u0645 \u062f\u0631\u062e\u0648\u0627\u0633\u062a:<\/p>\n<pre><code><span>grpcurl -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> -msg-template describe gnsi.acctz.v1.RecordRequest\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u067e\u0627\u0633\u062e \u0631\u0648\u062a\u0631 (Router response)<\/p>\n<pre><code><span>Message template:\n<\/span><span>{\n<\/span><span> \"timestamp\": \"1970-01-01T00:00:00Z\"\n<\/span><span>}\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0641\u06cc\u0644\u062f<code>\u0645\u0647\u0631 \u0632\u0645\u0627\u0646\u06cc (timestamp)<\/code>\u0627\u0632 \u0641\u0631\u0645\u062a RFC 3339 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<code>1970-01-01T00:00:00Z<\/code>(\u0645\u0628\u062f\u0623 \u0632\u0645\u0627\u0646) \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc &#8220;\u0627\u0631\u0633\u0627\u0644 \u062a\u0645\u0627\u0645 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 (buffered history)&#8221; \u0627\u0633\u062a.<\/p>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\"><code>grpcurl<\/code>\u0646\u06a9\u062a\u0647:<\/strong>\u0627\u06cc\u0646 \u0641\u06cc\u0644\u062f \u06cc\u06a9<code>google.protobuf.Timestamp<\/code>\u0627\u0633\u062a\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646<code>{\"timestamp\":\"0\"}<\/code>\u0628\u0627 \u062e\u0637\u0627\u06cc \u062a\u062c\u0632\u06cc\u0647 (Parse Error) \u062f\u0631 \u0633\u0645\u062a \u06a9\u0644\u0627\u06cc\u0646\u062a \u0645\u0648\u0627\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632<code>{\"timestamp\":\"1970-01-01T00:00:00Z\"}<\/code>\u06cc\u0627 \u0635\u0631\u0641\u0627\u064b<code>{}<\/code>\u2014 \u0647\u0631 \u062f\u0648 \u06a9\u0644 \u0628\u0627\u0641\u0631 \u0631\u0627 \u0628\u0627\u0632\u067e\u062e\u0634 (Replay) \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/p>\n<\/blockquote>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0627\u0634\u062a\u0631\u0627\u06a9 (Subscribe): \u0628\u0627\u0632\u067e\u062e\u0634 \u062a\u0645\u0627\u0645\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0628\u0627\u0641\u0631 \u0634\u062f\u0647 (Buffered Records)<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0645\u0647\u0631 \u0632\u0645\u0627\u0646\u06cc (Timestamp)<code>1970-01-01T00:00:00Z<\/code>\u0628\u0627\u0632\u067e\u062e\u0634 \u062a\u0645\u0627\u0645 \u0645\u0648\u0627\u0631\u062f \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer):<\/p>\n<pre><code><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-d<\/span> <span>'{\"timestamp\": \"1970-01-01T00:00:00Z\"}'<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> gnsi.acctz.v1.AcctzStream.RecordSubscribe\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u062a\u0645\u0627\u0645 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0628\u0627\u0641\u0631 \u0634\u062f\u0647 \u0631\u0627 \u0627\u0633\u062a\u0631\u06cc\u0645 \u06a9\u0631\u062f\u0647 \u0648 \u0633\u067e\u0633 \u0628\u0627 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0628\u0644\u0627\u062f\u0631\u0646\u06af (Real-time) \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f. \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc<code>Ctrl+C<\/code>\u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0648\u0642\u0641 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f. \u0627\u0648\u0644\u06cc\u0646 \u0631\u06a9\u0648\u0631\u062f \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0634\u0627\u0645\u0644<code>historyIstruncated\": true<\/code>\u0628\u0627\u0634\u062f \u2014 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer) \u067e\u0631 \u0634\u062f\u0647 \u0648 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc\u200c\u062a\u0631 \u0627\u0632 \u062f\u0633\u062a \u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f:<\/p>\n<pre><code><span><span>{<\/span>\n<\/span><span> <span>\"sessionInfo\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"localAddress\"<\/span><span>:<\/span> <span>\"172.20.163.10\"<\/span><span>,<\/span>\n<\/span><span> <span>\"localPort\"<\/span><span>:<\/span> <span>57344<\/span><span>,<\/span>\n<\/span><span> <span>\"remoteAddress\"<\/span><span>:<\/span> <span>\"10.189.10.189\"<\/span><span>,<\/span>\n<\/span><span> <span>\"remotePort\"<\/span><span>:<\/span> <span>58091<\/span><span>,<\/span>\n<\/span><span> <span>\"ipProto\"<\/span><span>:<\/span> <span>6<\/span><span>,<\/span>\n<\/span><span> <span>\"channelId\"<\/span><span>:<\/span> <span>\"0\"<\/span><span>,<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"SESSION_STATUS_OPERATION\"<\/span><span>,<\/span>\n<\/span><span> <span>\"user\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"identity\"<\/span><span>:<\/span> <span>\"cisco\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"timestamp\"<\/span><span>:<\/span> <span>\"2026-04-16T05:51:01.332142269Z\"<\/span><span>,<\/span>\n<\/span><span> <span>\"historyIstruncated\"<\/span><span>:<\/span> <span>true<\/span><span>,<\/span>\n<\/span><span> <span>\"grpcService\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"serviceType\"<\/span><span>:<\/span> <span>\"GRPC_SERVICE_TYPE_GNSI\"<\/span><span>,<\/span>\n<\/span><span> <span>\"rpcName\"<\/span><span>:<\/span> <span>\"\/gnsi.credentialz.v1.Credentialz\/GetPublicKeys\"<\/span><span>,<\/span>\n<\/span><span> <span>\"authz\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"AUTHZ_STATUS_PERMIT\"<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"protoVal\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"@type\"<\/span><span>:<\/span> <span>\"type.googleapis.com\/google.protobuf.BytesValue\"<\/span><span>,<\/span>\n<\/span><span> <span>\"value\"<\/span><span>:<\/span> <span>null<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span><span>}<\/span>\n<\/span><\/code><\/pre>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0627\u0634\u062a\u0631\u0627\u06a9: \u0641\u0642\u0637 \u062c\u0631\u06cc\u0627\u0646 (Stream) \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0627\u062e\u06cc\u0631<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0631\u06cc\u0645 \u06a9\u0631\u062f\u0646 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0627\u0632 \u06cc\u06a9 \u0633\u0627\u0639\u062a \u06af\u0630\u0634\u062a\u0647 (\u0628\u0627 \u0641\u0631\u0645\u062a ISO 8601\/RFC 3339):<\/p>\n<pre><code><span><span># macOS:<\/span>\n<\/span><span><span>SINCE<\/span><span>=<\/span><span><span>$(<\/span><span>date<\/span> <span>-u<\/span> -v-1H +<span>\"%Y-%m-%dT%H:%M:%SZ\"<\/span><span>)<\/span><\/span>\n<\/span><span><span># Linux:<\/span>\n<\/span><span><span># SINCE=$(date -u -d \"1 hour ago\" +\"%Y-%m-%dT%H:%M:%SZ\")<\/span>\n<\/span><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-d<\/span> <span>\"{<span title=\"\\&quot;\">\\\"<\/span>timestamp<span title=\"\\&quot;\">\\\"<\/span>: <span title=\"\\&quot;\">\\\"<\/span><span>${SINCE}<\/span><span title=\"\\&quot;\">\\\"<\/span>}\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> gnsi.acctz.v1.AcctzStream.RecordSubscribe\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0631\u06cc\u0645<strong style=\"color: rgb(26, 26, 26)\">\u062c\u062f\u06cc\u062f<\/strong>\u062b\u0628\u062a \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0627\u0632 \u0627\u06cc\u0646 \u067e\u0633 (\u067e\u0631\u0634 \u0627\u0632 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647):<\/p>\n<pre><code><span><span>NOW<\/span><span>=<\/span><span><span>$(<\/span><span>date<\/span> <span>-u<\/span> +<span>\"%Y-%m-%dT%H:%M:%SZ\"<\/span><span>)<\/span><\/span>\n<\/span><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-d<\/span> <span>\"{<span title=\"\\&quot;\">\\\"<\/span>timestamp<span title=\"\\&quot;\">\\\"<\/span>: <span title=\"\\&quot;\">\\\"<\/span><span>${NOW}<\/span><span title=\"\\&quot;\">\\\"<\/span>}\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> gnsi.acctz.v1.AcctzStream.RecordSubscribe\n<\/span><\/code><\/pre>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a \u0648 \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0631\u0648\u062f \u0631\u06a9\u0648\u0631\u062f\u0647\u0627<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u062c\u0631\u06cc\u0627\u0646 (Stream) \u062f\u0631 \u06cc\u06a9 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a\u060c \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062f\u0648\u0645 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0648 \u0645\u0642\u062f\u0627\u0631\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a gRPC \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code><span><span># Credentialz CanGenerateKey<\/span>\n<\/span><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"credentialz\/credentialz.proto\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-d<\/span> <span>'{\"keyParams\": \"KEY_GEN_SSH_KEY_TYPE_EDDSA_ED25519\"}'<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> gnsi.credentialz.v1.Credentialz.CanGenerateKey\n<\/span><span><span># Certz GetProfileList<\/span>\n<\/span><span>grpcurl <span>-plaintext<\/span> <span>\\<\/span>\n<\/span><span> -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-proto<\/span> <span>\"certz\/certz.proto\"<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${GRPC_MD<span>[<\/span>@<span>]<\/span>}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> <span>-d<\/span> <span>'{}'<\/span> <span>\\<\/span>\n<\/span><span> <span>\"<span>${XR}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> gnsi.certz.v1.Certz.GetProfileList\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0647 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062c\u0631\u06cc\u0627\u0646 Acctz \u0628\u0627\u0632\u06af\u0631\u062f\u06cc\u062f. \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f RecordResponse \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u2014 \u06cc\u06a9\u06cc \u0628\u0631\u0627\u06cc \u0647\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc gRPC RPC \u06a9\u0647 \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1:<\/strong>\u0647\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc (RPC) \u06cc\u06a9\u062a\u0627\u06cc gRPC (<code>gNMI\/Get<\/code>, <code>gNMI\/Set<\/code>, <code>Pathz\/Get<\/code>, <code>Credentialz\/CanGenerateKey<\/code>, <code>Credentialz\/GetPublicKeys<\/code>) \u062f\u0648 \u0631\u06a9\u0648\u0631\u062f \u0628\u0627 \u0641\u0627\u0635\u0644\u0647 \u0632\u0645\u0627\u0646\u06cc \u062d\u062f\u0648\u062f 80 \u0645\u06cc\u06a9\u0631\u0648\u062b\u0627\u0646\u06cc\u0647 (\u00b5s) \u0635\u0627\u062f\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u062f\u0627\u0631\u0627\u06cc \u0645\u0642\u0627\u062f\u06cc\u0631 \u06cc\u06a9\u0633\u0627\u0646 \u062f\u0631<strong style=\"color: rgb(26, 26, 26)\">grpcService.rpcName<\/strong>authz<code>\u0648<\/code>, <code>protoVal<\/code>\u0647\u0633\u062a\u0646\u062f. \u0638\u0631\u0641\u06cc\u062a \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0648 \u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0647\u0631 RPC \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0636\u0631\u06cc\u0628 2 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u06cc\u06a9\u062a\u0627 (Unary calls) \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f.<code>protoVal<\/code>\u0638\u0631\u0641\u06cc\u062a \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0648 \u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0647\u0631 RPC \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 2 \u0628\u0631\u0627\u0628\u0631 \u0636\u0631\u06cc\u0628 \u0627\u0646\u062a\u0634\u0627\u0631 (Fan-out) \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u06cc\u06a9\u200c\u062a\u0627\u06cc\u06cc (Unary calls) \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<\/blockquote>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062e\u0648\u0627\u0646\u062f\u0646 \u06cc\u06a9 RecordResponse<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f \u0633\u0631\u0648\u06cc\u0633 gRPC \u0648\u0627\u0642\u0639\u06cc \u06a9\u0647 \u0627\u0632 \u06cc\u06a9 \u0631\u0648\u062a\u0631 Cisco 8000 \u06af\u0631\u0641\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0631\u06a9\u0648\u0631\u062f \u0632\u0645\u0627\u0646\u06cc \u062a\u0648\u0644\u06cc\u062f \u0634\u062f \u06a9\u0647<code>Credentialz.CanGenerateKey<\/code>\u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0634\u062f:<\/p>\n<pre><code><span><span>{<\/span>\n<\/span><span> <span>\"sessionInfo\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"localAddress\"<\/span><span>:<\/span> <span>\"172.20.163.10\"<\/span><span>,<\/span>\n<\/span><span> <span>\"localPort\"<\/span><span>:<\/span> <span>57344<\/span><span>,<\/span>\n<\/span><span> <span>\"remoteAddress\"<\/span><span>:<\/span> <span>\"10.189.10.189\"<\/span><span>,<\/span>\n<\/span><span> <span>\"remotePort\"<\/span><span>:<\/span> <span>58913<\/span><span>,<\/span>\n<\/span><span> <span>\"ipProto\"<\/span><span>:<\/span> <span>6<\/span><span>,<\/span>\n<\/span><span> <span>\"channelId\"<\/span><span>:<\/span> <span>\"0\"<\/span><span>,<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"SESSION_STATUS_OPERATION\"<\/span><span>,<\/span>\n<\/span><span> <span>\"user\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"identity\"<\/span><span>:<\/span> <span>\"cisco\"<\/span><span>,<\/span>\n<\/span><span> <span>\"role\"<\/span><span>:<\/span> <span>\"root-lr, netadmin, cisco-support\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"timestamp\"<\/span><span>:<\/span> <span>\"2026-04-16T06:01:47.028597996Z\"<\/span><span>,<\/span>\n<\/span><span> <span>\"grpcService\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"serviceType\"<\/span><span>:<\/span> <span>\"GRPC_SERVICE_TYPE_GNSI\"<\/span><span>,<\/span>\n<\/span><span> <span>\"rpcName\"<\/span><span>:<\/span> <span>\"\/gnsi.credentialz.v1.Credentialz\/CanGenerateKey\"<\/span><span>,<\/span>\n<\/span><span> <span>\"authz\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"AUTHZ_STATUS_PERMIT\"<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"protoVal\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"@type\"<\/span><span>:<\/span> <span>\"type.googleapis.com\/google.protobuf.BytesValue\"<\/span><span>,<\/span>\n<\/span><span> <span>\"value\"<\/span><span>:<\/span> <span>\"CAQ=\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span><span>}<\/span>\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0648 \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f \u0628\u0631\u0627\u06cc<code>Certz.GetProfileList<\/code>\u2014 \u0628\u0647 \u0645\u062d\u0645\u0648\u0644\u0647 (payload) \u062f\u0642\u062a \u06a9\u0646\u06cc\u062f<code>null<\/code>(\u0628\u062f\u0646\u0647 \u067e\u0627\u0633\u062e \u062e\u0627\u0644\u06cc \u0627\u0633\u062a\u060c \u06a9\u0648\u062a\u0627\u0647 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a):<\/p>\n<pre><code><span><span>{<\/span>\n<\/span><span> <span>\"sessionInfo\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"localAddress\"<\/span><span>:<\/span> <span>\"172.20.163.10\"<\/span><span>,<\/span>\n<\/span><span> <span>\"localPort\"<\/span><span>:<\/span> <span>57344<\/span><span>,<\/span>\n<\/span><span> <span>\"remoteAddress\"<\/span><span>:<\/span> <span>\"10.189.10.189\"<\/span><span>,<\/span>\n<\/span><span> <span>\"remotePort\"<\/span><span>:<\/span> <span>58914<\/span><span>,<\/span>\n<\/span><span> <span>\"ipProto\"<\/span><span>:<\/span> <span>6<\/span><span>,<\/span>\n<\/span><span> <span>\"channelId\"<\/span><span>:<\/span> <span>\"0\"<\/span><span>,<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"SESSION_STATUS_OPERATION\"<\/span><span>,<\/span>\n<\/span><span> <span>\"user\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"identity\"<\/span><span>:<\/span> <span>\"cisco\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"timestamp\"<\/span><span>:<\/span> <span>\"2026-04-16T06:01:47.400770922Z\"<\/span><span>,<\/span>\n<\/span><span> <span>\"grpcService\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"serviceType\"<\/span><span>:<\/span> <span>\"GRPC_SERVICE_TYPE_GNSI\"<\/span><span>,<\/span>\n<\/span><span> <span>\"rpcName\"<\/span><span>:<\/span> <span>\"\/gnsi.certz.v1.Certz\/GetProfileList\"<\/span><span>,<\/span>\n<\/span><span> <span>\"authz\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"AUTHZ_STATUS_PERMIT\"<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"protoVal\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"@type\"<\/span><span>:<\/span> <span>\"type.googleapis.com\/google.protobuf.BytesValue\"<\/span><span>,<\/span>\n<\/span><span> <span>\"value\"<\/span><span>:<\/span> <span>null<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span><span>}<\/span>\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f \u0628\u0631\u0627\u06cc \u06cc\u06a9 RPC \u062c\u0631\u06cc\u0627\u0646\u06cc (Streaming RPC) \u0645\u0627\u0646\u0646\u062f<code>RotateHostParameters<\/code>\u2014 \u062a\u0648\u062c\u0647<code>payloadIstruncated: true<\/code>(\u0645\u062d\u062a\u0648\u0627\u06cc \u062c\u0631\u06cc\u0627\u0646\u06cc \u0628\u0632\u0631\u06af \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u062b\u0628\u062a \u0646\u0634\u062f\u0647 \u0627\u0633\u062a):<\/p>\n<pre><code><span><span>{<\/span>\n<\/span><span> <span>\"sessionInfo\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"localAddress\"<\/span><span>:<\/span> <span>\"172.20.163.10\"<\/span><span>,<\/span>\n<\/span><span> <span>\"localPort\"<\/span><span>:<\/span> <span>57344<\/span><span>,<\/span>\n<\/span><span> <span>\"remoteAddress\"<\/span><span>:<\/span> <span>\"10.189.10.189\"<\/span><span>,<\/span>\n<\/span><span> <span>\"remotePort\"<\/span><span>:<\/span> <span>58076<\/span><span>,<\/span>\n<\/span><span> <span>\"ipProto\"<\/span><span>:<\/span> <span>6<\/span><span>,<\/span>\n<\/span><span> <span>\"channelId\"<\/span><span>:<\/span> <span>\"0\"<\/span><span>,<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"SESSION_STATUS_OPERATION\"<\/span><span>,<\/span>\n<\/span><span> <span>\"user\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"identity\"<\/span><span>:<\/span> <span>\"cisco\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"timestamp\"<\/span><span>:<\/span> <span>\"2026-04-16T05:50:39.054469860Z\"<\/span><span>,<\/span>\n<\/span><span> <span>\"grpcService\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"serviceType\"<\/span><span>:<\/span> <span>\"GRPC_SERVICE_TYPE_GNSI\"<\/span><span>,<\/span>\n<\/span><span> <span>\"rpcName\"<\/span><span>:<\/span> <span>\"\/gnsi.credentialz.v1.Credentialz\/RotateHostParameters\"<\/span><span>,<\/span>\n<\/span><span> <span>\"payloadIstruncated\"<\/span><span>:<\/span> <span>true<\/span><span>,<\/span>\n<\/span><span> <span>\"authz\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"AUTHZ_STATUS_PERMIT\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span><span>}<\/span>\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0648 \u062e\u0648\u062f \u062c\u0631\u06cc\u0627\u0646 Acctz \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f (Record) \u062e\u0648\u062f-\u0627\u0631\u062c\u0627\u0639 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n<pre><code><span><span>{<\/span>\n<\/span><span> <span>\"sessionInfo\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"localAddress\"<\/span><span>:<\/span> <span>\"172.20.163.10\"<\/span><span>,<\/span>\n<\/span><span> <span>\"localPort\"<\/span><span>:<\/span> <span>57344<\/span><span>,<\/span>\n<\/span><span> <span>\"remoteAddress\"<\/span><span>:<\/span> <span>\"10.189.10.189\"<\/span><span>,<\/span>\n<\/span><span> <span>\"remotePort\"<\/span><span>:<\/span> <span>58880<\/span><span>,<\/span>\n<\/span><span> <span>\"ipProto\"<\/span><span>:<\/span> <span>6<\/span><span>,<\/span>\n<\/span><span> <span>\"channelId\"<\/span><span>:<\/span> <span>\"0\"<\/span><span>,<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"SESSION_STATUS_OPERATION\"<\/span><span>,<\/span>\n<\/span><span> <span>\"user\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"identity\"<\/span><span>:<\/span> <span>\"cisco\"<\/span><span>,<\/span>\n<\/span><span> <span>\"role\"<\/span><span>:<\/span> <span>\"root-lr, netadmin, cisco-support\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span><span>,<\/span>\n<\/span><span> <span>\"timestamp\"<\/span><span>:<\/span> <span>\"2026-04-16T06:01:22.999917154Z\"<\/span><span>,<\/span>\n<\/span><span> <span>\"grpcService\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"serviceType\"<\/span><span>:<\/span> <span>\"GRPC_SERVICE_TYPE_GNSI\"<\/span><span>,<\/span>\n<\/span><span> <span>\"rpcName\"<\/span><span>:<\/span> <span>\"\/gnsi.acctz.v1.AcctzStream\/RecordSubscribe\"<\/span><span>,<\/span>\n<\/span><span> <span>\"payloadIstruncated\"<\/span><span>:<\/span> <span>true<\/span><span>,<\/span>\n<\/span><span> <span>\"authz\"<\/span><span>:<\/span> <span>{<\/span>\n<\/span><span> <span>\"status\"<\/span><span>:<\/span> <span>\"AUTHZ_STATUS_PERMIT\"<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span> <span>}<\/span>\n<\/span><span><span>}<\/span>\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc:<\/p>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u0641\u06cc\u0644\u062f<\/th>\n<th>\u062a\u0648\u0636\u06cc\u062d\u0627\u062a<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>sessionInfo.user.identity<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0686\u0647 \u06a9\u0633\u06cc<\/strong>\u2014 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u06cc\u0627 SPIFFE ID<\/td>\n<\/tr>\n<tr>\n<td><code>sessionInfo.user.role<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u06af\u0631\u0648\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc<\/strong> \u2014 <code>root-lr, netadmin, cisco-support<\/code>\u0648 \u063a\u06cc\u0631\u0647 (\u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 \u0628\u0631\u062e\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0638\u0627\u0647\u0631 \u0634\u0648\u062f)<\/td>\n<\/tr>\n<tr>\n<td><code>sessionInfo.remoteAddress<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0627\u0632 \u06a9\u062c\u0627<\/strong>\u2014 \u0622\u062f\u0631\u0633 IP \u06a9\u0644\u0627\u06cc\u0646\u062a<\/td>\n<\/tr>\n<tr>\n<td><code>sessionInfo.status<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0646\u0648\u0639 \u0646\u0634\u0633\u062a (Session)<\/strong> \u2014 <code>SESSION_STATUS_OPERATION<\/code>\u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc RPC,<code>SESSION_STATUS_LOGIN<\/code>\/<code>LOGOUT<\/code>\u0628\u0631\u0627\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0646\u0634\u0633\u062a<\/td>\n<\/tr>\n<tr>\n<td><code>grpcService.rpcName<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0686\u0647 \u0686\u06cc\u0632\u06cc<\/strong>\u2014 \u0645\u0633\u06cc\u0631 \u06a9\u0627\u0645\u0644 gRPC (\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644:<code>\/gnsi.credentialz.v1.Credentialz\/CanGenerateKey<\/code>)<\/td>\n<\/tr>\n<tr>\n<td><code>grpcService.serviceType<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u06a9\u062f\u0627\u0645 \u062e\u0627\u0646\u0648\u0627\u062f\u0647 gRPC<\/strong> \u2014 <code>GRPC_SERVICE_TYPE_GNSI<\/code>, <code>GRPC_SERVICE_TYPE_GNMI<\/code>, \u0648 \u063a\u06cc\u0631\u0647<\/td>\n<\/tr>\n<tr>\n<td><code>grpcService.authz.status<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0645\u062c\u0627\u0632 \u06cc\u0627 \u063a\u06cc\u0631\u0645\u062c\u0627\u0632<\/strong> \u2014 <code>AUTHZ_STATUS_PERMIT<\/code> or <code>AUTHZ_STATUS_DENY<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>grpcService.payloadIstruncated<\/code><\/td>\n<td>\u0622\u06cc\u0627 \u0645\u062d\u062a\u0648\u0627 (Payload) \u0628\u0631\u0627\u06cc \u06af\u0646\u062c\u0627\u0646\u062f\u0646 \u06a9\u0627\u0645\u0644\u060c \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u0628\u0632\u0631\u06af \u0628\u0648\u062f\u0647 \u0627\u0633\u062a<\/td>\n<\/tr>\n<tr>\n<td><code>grpcService.protoVal<\/code><\/td>\n<td>\u0646\u0645\u0648\u0646\u0647 \u0645\u062d\u062a\u0648\u0627 (protobuf \u06a9\u062f\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0628\u0627 base64) \u2014 \u0628\u0631\u0627\u06cc RPC\u0647\u0627\u06cc \u062a\u06a9\u06cc \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a\u060c \u0628\u0631\u0627\u06cc RPC\u0647\u0627\u06cc \u062c\u0631\u06cc\u0627\u0646\u06cc\u0650 \u06a9\u0648\u062a\u0627\u0647 \u0634\u062f\u0647\u060c \u0645\u0648\u062c\u0648\u062f \u0646\u06cc\u0633\u062a<\/td>\n<\/tr>\n<tr>\n<td><code>cmdService.cmd<\/code> + <code>cmdArgs<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u062f\u0633\u062a\u0648\u0631 CLI<\/strong>\u2014 \u0628\u0633\u0637 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0632 \u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a (\u0628\u0631\u0627\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc CommandService)<\/td>\n<\/tr>\n<tr>\n<td><code>timestamp<\/code><\/td>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0686\u0647 \u0632\u0645\u0627\u0646\u06cc<\/strong>\u2014 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f RFC 3339 \u0628\u0627 \u062f\u0642\u062a \u0646\u0627\u0646\u0648\u062b\u0627\u0646\u06cc\u0647<\/td>\n<\/tr>\n<tr>\n<td><code>historyIstruncated<\/code><\/td>\n<td>\u0622\u06cc\u0627 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646 \u0646\u0642\u0637\u0647 \u0627\u0632 \u062f\u0633\u062a \u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f (\u067e\u0631 \u0634\u062f\u0646 \u0628\u0627\u0641\u0631)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1:<\/strong><code>\u0646\u0642\u0634 \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 sessionInfo.user.role<\/code>\u0646\u0627\u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u0633\u062a \u2014 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0645\u062a\u0648\u0627\u0644\u06cc \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u0645\u0634\u0627\u0628\u0647 \u062f\u0631 \u06cc\u06a9 \u06a9\u0627\u0646\u0627\u0644 \u06cc\u06a9\u0633\u0627\u0646 \u06af\u0627\u0647\u06cc \u0634\u0627\u0645\u0644<code>role\": \"root-lr, cisco-support<\/code>\u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u06af\u0627\u0647\u06cc \u06a9\u0644\u06cc\u062f<code>role<\/code>\u0631\u0627 \u06a9\u0627\u0645\u0644\u0627\u064b \u062d\u0630\u0641 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0642\u0648\u0627\u0646\u06cc\u0646 \u0647\u0634\u062f\u0627\u0631 (Alerting rules) \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633<code>\u0647\u0648\u06cc\u062a (identity)<\/code>\u0645\u0631\u062a\u0628\u0637 \u06a9\u0646\u06cc\u062f\u060c \u0646\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633<code>role<\/code>\u062f\u0631 \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647 (build).<\/p>\n<\/blockquote>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1:<\/strong>\u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0646\u0627\u0645\u0648\u0641\u0642 gRPC \u0628\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0628\u0631\u0686\u0633\u0628\u200c\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u06cc\u06a9 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc<code>grpcurl<\/code>\u0628\u0627 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0627\u0634\u062a\u0628\u0627\u0647\u060c \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f<code>SESSION_STATUS_LOGIN<\/code>\u0628\u0627 \u0628\u0631\u0686\u0633\u0628<code>CMD_SERVICE_TYPE_CLI<\/code>(\u0628\u0627 \u0648\u062c\u0648\u062f \u0627\u06cc\u0646\u06a9\u0647 \u0647\u06cc\u0686 CLI \u0644\u0645\u0633 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a) \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f<code>SESSION_STATUS_OPERATION \/ AUTHZ_STATUS_DENY<\/code>\u0631\u0648\u06cc<code>ServerReflectionInfo<\/code>\u0635\u0627\u062f\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0633\u0645\u062a LOGIN \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0627\u0631\u0627\u06cc<code>localAddress: \"None<\/code> \/ <code>remoteAddress: \"None<\/code>\u0647\u0633\u062a\u0646\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062e\u0637\u200c\u0644\u0648\u0644\u0647\u200c\u0647\u0627\u06cc \u0627\u0646\u0637\u0628\u0627\u0642 (compliance pipelines) \u06a9\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 5-tuple \u0639\u0645\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u0648\u0631\u0648\u062f \u0646\u0627\u0645\u0648\u0641\u0642 \u0631\u0627 \u0628\u0647 \u0645\u0646\u0628\u0639 \u062e\u0627\u0635\u06cc \u0646\u0633\u0628\u062a \u062f\u0647\u0646\u062f.<\/p>\n<\/blockquote>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0627\u0645\u0646\u06cc\u062a \u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1:<\/strong>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06cc\u06a9<code>gNMI\/Set<\/code>\u062a\u0648\u0633\u0637 Pathz \u0631\u062f \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0631\u06a9\u0648\u0631\u062f Acctz \u0647\u0645\u0686\u0646\u0627\u0646 \u0634\u0627\u0645\u0644 \u0645\u062d\u062a\u0648\u0627\u06cc \u06a9\u0627\u0645\u0644 base64-encoded \u0627\u0632 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u0646\u062f\u0647 \u0633\u0639\u06cc \u062f\u0631 \u062a\u0646\u0638\u06cc\u0645 \u0622\u0646 \u062f\u0627\u0634\u062a\u0647 \u0627\u0633\u062a. \u06cc\u06a9<code>protoVal<\/code>\u0631\u062f \u0634\u062f\u0647 \u0627\u0632 \u0646\u0648\u0639<code>Credentialz\/RotateAccountCredentials.password<\/code> or <code>\u06cc\u0627<\/code>Certz\/Rotate<code>protoVal<\/code>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627\u0639\u062b \u0646\u0634\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u062d\u0631\u0645\u0627\u0646\u0647 \u0628\u0647 \u0644\u0627\u06af \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Audit Log) \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u0631\u0627<\/p>\n<\/blockquote>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u062a\u0623\u06cc\u06cc\u062f \u062f\u0631 IOS XR<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062c\u0631\u06cc\u0627\u0646 (Stream)\u060c \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 (Records) \u062a\u0648\u0644\u06cc\u062f \u0648 \u062a\u062d\u0648\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f:<\/p>\n<pre><code><span>show gnsi acctz statistics\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u062e\u0631\u0648\u062c\u06cc \u0646\u0645\u0648\u0646\u0647 (\u06a9\u0648\u062a\u0627\u0647 \u0634\u062f\u0647):<\/p>\n<pre><code><span>Acctz History Buffer:\n<\/span><span> Total Records: 80029\n<\/span><span> Total History Truncation: 0\n<\/span><span> Grpc Service Records:\n<\/span><span> GNMI: 80002\n<\/span><span> GNOI: 0\n<\/span><span> GNSI: 4\n<\/span><span> GRIBI: 0\n<\/span><span> P4RT: 0\n<\/span><span> Cmd Service Records:\n<\/span><span> Shell: 0\n<\/span><span> Cli: 23\n<\/span><span> Netconf: 0\n<\/span><span> History snapshot:\n<\/span><span> Max Memory Size: 80 MB\n<\/span><span> Memory Used: 0 MB\n<\/span><span> Max Number Of Records: 100\n<\/span><span> Records Used: 30\n<\/span><span>gRPC Accounting Queue:\n<\/span><span> Grpc services:\n<\/span><span> GNMI: 80002 sent, 0 dropped, 0 truncated\n<\/span><span> GNOI: 0 sent, 0 dropped, 0 truncated\n<\/span><span> GNSI: 4 sent, 0 dropped, 4 truncated\n<\/span><span>...\n<\/span><span>Cmd Accounting Queue:\n<\/span><span> Cmd services:\n<\/span><span> Shell: 0 sent, 0 dropped, 0 truncated\n<\/span><span> Cli: 23 sent, 0 dropped, 0 truncated\n<\/span><span> Netconf: 0 sent, 0 dropped, 0 truncated\n<\/span><span>...\n<\/span><span>Client Stats:\n<\/span><span> Number Of Clients: 1\n<\/span><span> History Truncation Events: 0\n<\/span><span> Record Requests: 4\n<\/span><span> Record Responses: 80029\n<\/span><span>Collectors:\n<\/span><span> Collector Statistics:\n<\/span><span> IP: 192.168.122.1\n<\/span><span> Port: 25906\n<\/span><span> Total: Records: 80029, Drops: 0\n<\/span><span> Grpc Service Records:\n<\/span><span> gNMI: Records: 80002, Drops: 0\n<\/span><span> gNSI: Records: 4, Drops: 0\n<\/span><span> Cmd Service Records:\n<\/span><span> CLI: Records: 23, Drops: 0\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\">\u0645\u0648\u0627\u0631\u062f \u0642\u0627\u0628\u0644 \u0628\u0631\u0631\u0633\u06cc:<\/p>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u0628\u062e\u0634<\/th>\n<th>\u0645\u0648\u0627\u0631\u062f \u0642\u0627\u0628\u0644 \u0628\u0631\u0631\u0633\u06cc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0628\u0627\u0641\u0631 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 (History Buffer)<\/strong><\/td>\n<td>\u0645\u062c\u0645\u0648\u0639 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u0628\u0627\u06cc\u062f \u063a\u06cc\u0631 \u0635\u0641\u0631 \u0628\u0627\u0634\u062f.\u0645\u062c\u0645\u0648\u0639 \u062d\u0630\u0641\u200c\u0647\u0627\u06cc \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 (Total History Truncation)\u0628\u0627\u06cc\u062f0\u2014 \u063a\u06cc\u0631 \u0635\u0641\u0631 \u0628\u0648\u062f\u0646 \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u0627\u0632 \u062f\u0633\u062a \u0631\u0641\u062a\u0646 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0627\u0633\u062a.<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0635\u0641 (Queue Counters)<\/strong><\/td>\n<td>\u062d\u0630\u0641 \u0634\u062f\u0647 (dropped)\u0648\u06a9\u0648\u062a\u0627\u0647 \u0634\u062f\u0647 (truncated)\u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627 \u0628\u0647 \u0627\u0632\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633. \u0645\u0642\u0627\u062f\u06cc\u0631 \u063a\u06cc\u0631 \u0635\u0641\u0631 \u062f\u0631 \u0628\u062e\u0634 \u062d\u0630\u0641\u200c\u0647\u0627 (drops) \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u0633\u0631\u0631\u06cc\u0632 \u0634\u062f\u0646 \u0635\u0641 \u0627\u0633\u062a.<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0622\u0645\u0627\u0631 \u06a9\u0644\u0627\u06cc\u0646\u062a (Client Stats)<\/strong><\/td>\n<td>\u062a\u0639\u062f\u0627\u062f \u06a9\u0644\u0627\u06cc\u0646\u062a\u200c\u0647\u0627 \u2265 1. \u067e\u0627\u0633\u062e\u200c\u0647\u0627\u06cc \u0631\u06a9\u0648\u0631\u062f (Record Responses)\u0628\u0627\u06cc\u062f \u0628\u0627 \u0622\u0646\u0686\u0647 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a\u060c \u0645\u0637\u0627\u0628\u0642\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/td>\n<\/tr>\n<tr>\n<td><strong style=\"color: rgb(26, 26, 26)\">\u0622\u0645\u0627\u0631 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector Statistics)<\/strong><\/td>\n<td>\u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0648 \u062d\u0630\u0641\u200c\u0647\u0627 \u0628\u0647 \u0627\u0632\u0627\u06cc \u0647\u0631 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Per-Collector) \u2014 \u062a\u0623\u06cc\u06cc\u062f\u06a9\u0646\u0646\u062f\u0647 \u062a\u062d\u0648\u06cc\u0644 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u0647 \u0647\u0631 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 \u0645\u062a\u0635\u0644.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"direction: rtl; text-align: right\">\u0647\u0645\u0686\u0646\u06cc\u0646 \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Accounting) \u062f\u0631 \u0633\u0637\u062d AAA \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code><span>show aaa accounting statistics\n<\/span><\/code><\/pre>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u0634\u06a9\u0627\u0641\u200c\u0647\u0627\u06cc \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Auditing) \u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 (CLI) \u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1.<\/strong>\u062f\u0648 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u0631\u062a\u0628\u0637 \u06a9\u0647 \u0627\u067e\u0631\u0627\u062a\u0648\u0631\u0647\u0627 \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u0622\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc \u06a9\u0646\u0646\u062f:<\/p>\n<ul>\n<li><code>show aaa accounting statistics<\/code>\u0627\u0632 gNSI Acctz \u062c\u062f\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a \u2014 \u0646\u0645\u0627\u06cc AAA \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a<code>GNMI\/GNSI\/GNOI\/GRIBI\/P4RT: 0<\/code>\u0628\u0627\u0642\u06cc \u0645\u06cc\u200c\u0645\u0627\u0646\u062f\u060c \u0635\u0631\u0641\u200c\u0646\u0638\u0631 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 AcctzStream \u0686\u0646\u062f \u0631\u06a9\u0648\u0631\u062f \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062a\u0646\u0647\u0627 \u0646\u0645\u0627\u06cc \u0645\u0639\u062a\u0628\u0631 \u0627\u0632 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0627\u0633\u062a\u0631\u06cc\u0645 \u0634\u062f\u0647\u060c<code>show gnsi acctz statistics<\/code>\u0628\u0647\u200c\u0639\u0644\u0627\u0648\u0647 \u062e\u0648\u062f\u0650 \u0627\u0633\u062a\u0631\u06cc\u0645 \u0627\u0633\u062a.<\/li>\n<li>SSH<code>show<\/code>\u062f\u0633\u062a\u0648\u0631\u0627\u062a<strong style=\"color: rgb(26, 26, 26)\">\u062a\u0648\u0644\u06cc\u062f<\/strong>\u0646\u0645\u06cc\u200c\u06a9\u0646\u0646\u062f<code>CommandService<\/code>\u0631\u06a9\u0648\u0631\u062f\u0647\u0627 (\u0641\u0642\u0637 \u06cc\u06a9 \u0645\u0648\u0631\u062f<code>SESSION_STATUS_LOGIN<\/code>\u062f\u0631 \u0647\u0631 \u0646\u0634\u0633\u062a). \u062b\u0628\u062a \u0648\u0642\u0627\u06cc\u0639 (Logging) \u062f\u0633\u062a\u0648\u0631 \u0628\u0647 \u062f\u0633\u062a\u0648\u0631 Acctz \u0628\u0631\u0627\u06cc CLI \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 SSH\u060c \u06cc\u06a9 \u0634\u06a9\u0627\u0641 \u062f\u0631 \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0627\u0633\u062a\u061b \u062d\u0633\u0627\u0628\u0631\u0633\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 CLI \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 TACACS+ AAA \u0645\u062a\u06a9\u06cc \u0627\u0633\u062a.<\/li>\n<\/ul>\n<\/blockquote>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u0627\u06a9\u200c\u0633\u0627\u0632\u06cc (Cleanup): \u062a\u0648\u0642\u0641 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector)<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u0628\u0631\u0627\u06cc \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0646 \u062c\u0631\u06cc\u0627\u0646 (Stream)\u060c \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc Ctrl+C \u0631\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 grpcurl \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f. \u0633\u0631\u0648\u0631 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0634\u0633\u062a (Session) \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0631\u0627 \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<code>Ctrl+C<\/code>\u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 grpcurl \u0628\u0631\u0627\u06cc \u0645\u062a\u0648\u0642\u0641 \u06a9\u0631\u062f\u0646 \u062c\u0631\u06cc\u0627\u0646 (Stream). \u0633\u0631\u0648\u0631 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0634\u0633\u062a (Session) Collector \u0631\u0627 \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code><span>show gnsi acctz statistics\n<\/span><\/code><\/pre>\n<p style=\"direction: rtl; text-align: right\"><code>\u062a\u0639\u062f\u0627\u062f \u06a9\u0644\u0627\u06cc\u0646\u062a\u200c\u0647\u0627 (Clients)<\/code>\u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0648\u0627\u062d\u062f \u06a9\u0627\u0647\u0634 \u06cc\u0627\u0628\u062f.<\/p>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc (Debugging) \u0628\u0627 grpcurl<\/h3>\n<pre><code><span><span># Describe the RPC and its streaming semantics<\/span>\n<\/span><span>grpcurl -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> describe gnsi.acctz.v1.AcctzStream.RecordSubscribe\n<\/span><span><span># Show the RecordRequest message template<\/span>\n<\/span><span>grpcurl -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> -msg-template describe gnsi.acctz.v1.RecordRequest\n<\/span><span><span># Show the RecordResponse message structure<\/span>\n<\/span><span>grpcurl -import-path <span>\"<span>$GNSI_IMPORT<\/span>\"<\/span> <span>-proto<\/span> <span>\"<span>$PROTO_ACCTZ<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> -msg-template describe gnsi.acctz.v1.RecordResponse\n<\/span><\/code><\/pre>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u0627\u06cc\u0634 (Monitoring) \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 YANG Telemetry<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0645\u062f\u0644 YANG \u0627\u0632 \u0646\u0648\u0639 OpenConfig<strong style=\"color: rgb(26, 26, 26)\"><code>openconfig-gnsi-acctz<\/code><\/strong>\u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627 (Counters) \u0631\u0627 \u0647\u0645 \u0628\u0631\u0627\u06cc \u0633\u0645\u062a \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0648 \u0647\u0645 \u0628\u0631\u0627\u06cc \u0633\u0645\u062a \u062a\u0648\u0644\u06cc\u062f \u0631\u06a9\u0648\u0631\u062f (Record) \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<blockquote style=\"direction: rtl; text-align: right\">\n<p><strong style=\"color: rgb(26, 26, 26)\">\u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1:<\/strong>\u062f\u0633\u062a\u06af\u0627\u0647 \u062a\u0628\u0644\u06cc\u063a \u0645\u06cc\u200c\u06a9\u0646\u062f<code>openconfig-gnsi-acctz, 0.2.0<\/code>(\u0646\u0647 \u0646\u0633\u062e\u0647 \u0628\u0627\u0644\u0627\u062f\u0633\u062a\u06cc<code>0.4.0<\/code>)\u060c \u0648 \u0647\u0631 \u0645\u0633\u06cc\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u062a\u062d\u062a<code>\/system\/aaa\/acctz<\/code>\u0648<code>\/system\/aaa\/accounting<\/code>\u0628\u0627\u0632\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f<code>NotFound<\/code>. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0627\u0632<code>show gnsi acctz statistics<\/code>\u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0633\u0645\u062a gNMI \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u0648\u062f. \u062a\u0646\u0647\u0627 \u0633\u06cc\u06af\u0646\u0627\u0644 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631\u060c \u0631\u062f\u06cc\u0641 \u0634\u0645\u0627\u0631\u0646\u062f\u0647 \u0628\u0647 \u0627\u0632\u0627\u06cc \u0647\u0631 RPC \u0628\u0631\u0627\u06cc<code>\/gnsi.acctz.v1.AcctzStream\/RecordSubscribe<\/code>\u062a\u062d\u062a<code>openconfig-gnsi-authz:authz-policy-counters<\/code>.<\/p>\n<\/blockquote>\n<p style=\"direction: rtl; text-align: right\"><strong style=\"color: rgb(26, 26, 26)\">\u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u06a9\u0644\u0627\u06cc\u0646\u062a (Client Counters)<\/strong>(\u067e\u0627\u06cc\u0647:<code>\/system\/grpc-servers\/grpc-server[name=<server>]\/acctz\/state\/counters<\/server><\/code>):<\/p>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th>\u0645\u0633\u06cc\u0631 YANG (\u0646\u0633\u0628\u062a \u0628\u0647 \u067e\u0627\u06cc\u0647)<\/th>\n<th>\u062a\u0648\u0636\u06cc\u062d \u0639\u0645\u0644\u06a9\u0631\u062f<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>...\/record-requests<\/code><\/td>\n<td>\u0645\u062c\u0645\u0648\u0639 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc RecordRequest \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f\u0647 \u0627\u0632 \u062c\u0645\u0639\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0647\u0627 (Collectors)<\/td>\n<\/tr>\n<tr>\n<td><code>...\/record-responses<\/code><\/td>\n<td>\u0645\u062c\u0645\u0648\u0639 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc RecordResponse \u0627\u0631\u0633\u0627\u0644 \u0634\u062f\u0647 \u0628\u0647 \u062c\u0645\u0639\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0647\u0627 (Collectors)<\/td>\n<\/tr>\n<tr>\n<td><code>...\/history-istruncated<\/code><\/td>\n<td>\u062a\u0639\u062f\u0627\u062f \u062f\u0641\u0639\u0627\u062a\u06cc \u06a9\u0647 \u06cc\u06a9 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0627 \u0628\u0631\u0686\u0633\u0628 \u0632\u0645\u0627\u0646\u06cc (Timestamp) \u0642\u062f\u06cc\u0645\u06cc\u200c\u062a\u0631 \u0627\u0632 \u0628\u0627\u0641\u0631 \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u2014 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0627\u0632 \u062f\u0633\u062a \u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"direction: rtl; text-align: right\"><strong style=\"color: rgb(26, 26, 26)\">\u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0631\u06a9\u0648\u0631\u062f \u0645\u0646\u0628\u0639<\/strong>(\u067e\u0627\u06cc\u0647:<code>\/system\/aaa\/accounting\/acctz\/source-records\/source-record[service=<svc>][type=<type>]\/state\/counters<\/type><\/svc><\/code>):<\/p>\n<table class=\"english-numbers\" style=\"direction: rtl; text-align: right\">\n<thead>\n<tr>\n<th><code>[\u0633\u0631\u0648\u06cc\u0633]<\/code><\/th>\n<th><code>[\u0646\u0648\u0639]<\/code><\/th>\n<th>\u0622\u0646\u0686\u0647 \u0634\u0645\u0627\u0631\u0634 \u0645\u06cc\u200c\u0634\u0648\u062f<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>CMD_SERVICE<\/code><\/td>\n<td><code>CLI<\/code><\/td>\n<td>\u062b\u0628\u062a \u062f\u0633\u062a\u0648\u0631\u0627\u062a CLI<\/td>\n<\/tr>\n<tr>\n<td><code>CMD_SERVICE<\/code><\/td>\n<td><code>SHELL<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc Shell<\/td>\n<\/tr>\n<tr>\n<td><code>CMD_SERVICE<\/code><\/td>\n<td><code>NETCONF<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc NETCONF<\/td>\n<\/tr>\n<tr>\n<td><code>CMD_SERVICE<\/code><\/td>\n<td><code>RESTCONF<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc RESTCONF<\/td>\n<\/tr>\n<tr>\n<td><code>CMD_SERVICE<\/code><\/td>\n<td><code>WEBUI<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc WebUI<\/td>\n<\/tr>\n<tr>\n<td><code>GRPC_SERVICE<\/code><\/td>\n<td><code>GNMI<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc gNMI<\/td>\n<\/tr>\n<tr>\n<td><code>GRPC_SERVICE<\/code><\/td>\n<td><code>GNOI<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc gNOI<\/td>\n<\/tr>\n<tr>\n<td><code>GRPC_SERVICE<\/code><\/td>\n<td><code>GNSI<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc gNSI<\/td>\n<\/tr>\n<tr>\n<td><code>GRPC_SERVICE<\/code><\/td>\n<td><code>GRIBI<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc gRIBI<\/td>\n<\/tr>\n<tr>\n<td><code>GRPC_SERVICE<\/code><\/td>\n<td><code>P4RT<\/code><\/td>\n<td>\u062b\u0628\u062a\u200c\u0647\u0627\u06cc P4RT<\/td>\n<\/tr>\n<tr>\n<td><code>SESSION_SERVICE<\/code><\/td>\n<td><code>LOGIN<\/code><\/td>\n<td>\u062b\u0628\u062a \u0631\u0648\u06cc\u062f\u0627\u062f \u0648\u0631\u0648\u062f (Login)<\/td>\n<\/tr>\n<tr>\n<td><code>SESSION_SERVICE<\/code><\/td>\n<td><code>LOGOUT<\/code><\/td>\n<td>\u062b\u0628\u062a \u0631\u0648\u06cc\u062f\u0627\u062f \u062e\u0631\u0648\u062c (Logout)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"direction: rtl; text-align: right\">\u0647\u0631 \u062a\u0631\u06a9\u06cc\u0628 \u06cc\u06a9<code>...\/records<\/code>\u0631\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0645\u0633\u06cc\u0631 \u06a9\u0627\u0645\u0644 \u0631\u0627 \u0628\u0627 \u062c\u0627\u06cc\u06af\u0630\u0627\u0631\u06cc<code>[service]<\/code>\u0648<code>[type]<\/code>\u062f\u0631 \u0645\u0633\u06cc\u0631 \u067e\u0627\u06cc\u0647 \u0628\u0627\u0644\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0627\u0634\u062a\u0631\u0627\u06a9 \u062f\u0631<code>history-istruncated<\/code>\u0628\u0631\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u0632\u0645\u0627\u0646 \u0633\u0631\u0631\u06cc\u0632 \u0634\u062f\u0646 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer)\u061b \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u067e\u06cc\u0634 \u0627\u0632 \u0622\u0646\u06a9\u0647 \u062a\u0648\u0633\u0637 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u0648\u0646\u062f\u060c \u0627\u0632 \u062f\u0633\u062a \u0645\u06cc\u200c\u0631\u0648\u0646\u062f. \u0627\u06af\u0631 \u0627\u06cc\u0646 \u0634\u0645\u0627\u0631\u0646\u062f\u0647 (Counter) \u0647\u0645\u0686\u0646\u0627\u0646 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0627\u0633\u062a\u060c \u0645\u0642\u062f\u0627\u0631<code>grpc aaa accounting queue-size<\/code> \/ <code>grpc aaa accounting history-memory<\/code>\u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f \u06cc\u0627 \u0638\u0631\u0641\u06cc\u062a \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0631\u0627 \u0627\u0631\u062a\u0642\u0627 \u062f\u0647\u06cc\u062f.<\/p>\n<p style=\"direction: rtl; text-align: right\">\u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0631\u06a9\u0648\u0631\u062f \u0645\u0646\u0628\u0639 (Source Record Counters) \u06a9\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u0648\u0639 \u0633\u0631\u0648\u06cc\u0633 \u062a\u0641\u06a9\u06cc\u06a9 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u062a\u0635\u0648\u06cc\u0631\u06cc \u0644\u062d\u0638\u0647\u200c\u0627\u06cc \u0627\u0632 \u0641\u0639\u0627\u0644\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0628\u0637\u200c\u0647\u0627\u06cc \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a (Management Plane) \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc \u0638\u0631\u0641\u06cc\u062a (Capacity Planning) \u0648 \u0646\u0638\u0627\u0631\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc (Security Monitoring) \u0628\u0633\u06cc\u0627\u0631 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/p>\n<h3 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0628\u0631\u0631\u0633\u06cc \u0633\u0631\u06cc\u0639 \u062a\u0644\u0647\u200c\u0645\u062a\u0631\u06cc (Telemetry) \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 gnmic<\/h3>\n<p style=\"direction: rtl; text-align: right\">\u062a\u0623\u06cc\u06cc\u062f \u0634\u0645\u0627\u0631\u0646\u062f\u0647\u200c\u0647\u0627\u06cc Acctz \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 Get \u062f\u0631 gNMI (<a href=\"https:\/\/gnmic.openconfig.net\/\" style=\"color: rgb(0, 102, 204)\">gnmic<\/a>):<\/p>\n<pre><code><span>gnmic <span>-a<\/span> <span>\"<span>${XR}<\/span>\"<\/span> <span>--insecure<\/span> <span>-u<\/span> <span>\"<span>${XR_USER}<\/span>\"<\/span> <span>-p<\/span> <span>\"<span>${XR_PASS}<\/span>\"<\/span> <span>\\<\/span>\n<\/span><span> get <span>--path<\/span> <span>\"\/system\/grpc-servers\/grpc-server\/acctz\/state\/counters\/record-responses\"<\/span> <span>\\<\/span>\n<\/span><span> <span>--path<\/span> <span>\"\/system\/grpc-servers\/grpc-server\/acctz\/state\/counters\/history-istruncated\"<\/span>\n<\/span><\/code><\/pre>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0646\u06a9\u0627\u062a\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u062a\u0648\u062c\u0647 \u06a9\u0631\u062f<\/h2>\n<ul style=\"direction: rtl; text-align: right\">\n<li>\u0633\u0631\u0631\u06cc\u0632 \u0628\u0627\u0641\u0631 (Buffer overflow):\u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer) \u0645\u062d\u062f\u0648\u062f \u0627\u0633\u062a. \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647\u0634\u0645\u0627\u0631\u0646\u062f\u0647 \u062d\u0630\u0641 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u06a9\u0644\u06cc (Total History Truncation Counter) \u062f\u0631\u062f\u0633\u062a\u0648\u0631 show gnsi acctz statistics\u063a\u06cc\u0631 \u0635\u0641\u0631 \u0628\u0627\u0634\u062f\u060c \u06cc\u0639\u0646\u06cc \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector) \u0639\u0642\u0628 \u0645\u0627\u0646\u062f\u0647 \u0627\u0633\u062a. \u0645\u0642\u062f\u0627\u0631queue-size\u0648history-memory\u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f\u060c \u06cc\u0627 \u067e\u0647\u0646\u0627\u06cc \u0628\u0627\u0646\u062f (Bandwidth) \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.(\u062f\u0631 \u0646\u0633\u062e\u0647 25.3.1 NCS-540\u060chistory_istruncated\u062f\u0631 \u067e\u0627\u0633\u062e\u060c \u0633\u06cc\u06af\u0646\u0627\u0644 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f\u06cc \u0646\u06cc\u0633\u062a \u2014 \u0628\u0647 \u0628\u062e\u0634 \u062a\u0627\u0631\u06cc\u062e\u0686\u0647 \u0648 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.)<\/li>\n<li>\u0645\u062d\u0631\u0645\u0627\u0646\u06af\u06cc \u0644\u0627\u06af \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Audit-log secrecy):<br \/>\n\t\u0631\u062f \u0634\u062f\u0647 (denied)gNMI Set\u0631\u06a9\u0648\u0631\u062f\u0647\u0627 \u0634\u0627\u0645\u0644 \u06a9\u0644 \u0645\u062d\u0645\u0648\u0644\u0647 (Payload) \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u0628\u0647 \u0635\u0648\u0631\u062a base64 protobuf \u062f\u0631protoVal\u0647\u0633\u062a\u0646\u062f. \u0645\u0633\u06cc\u0631 \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Audit pipe) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0633\u0631\u062a\u0627\u0633\u0631\u06cc \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u0647\u0631\u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062d\u0627\u0648\u06cc \u0627\u0633\u0631\u0627\u0631\u06cc \u0628\u0627\u0634\u062f \u06a9\u0647 \u062a\u0645\u0627\u0633\u200c\u06af\u06cc\u0631\u0646\u062f\u0647 \u0642\u0628\u0644 \u0627\u0632 \u0645\u0633\u062f\u0648\u062f \u0634\u062f\u0646 \u0633\u0639\u06cc \u062f\u0631 \u0646\u0648\u0634\u062a\u0646 \u0622\u0646\u200c\u0647\u0627 \u062f\u0627\u0634\u062a\u0647 \u0627\u0633\u062a.\u0647\u0633\u062a\u0646\u062f. \u0645\u0633\u06cc\u0631 \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Audit pipe) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0633\u0631\u062a\u0627\u0633\u0631\u06cc \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u0647\u0631\u062f\u0648 \u0631\u06a9\u0648\u0631\u062f \u0628\u0631\u0627\u06cc \u0647\u0631 RPC \u06cc\u06a9\u200c\u0637\u0631\u0641\u0647 (25.3.1): \u0647\u0631 gRPC RPC \u06cc\u06a9\u200c\u0637\u0631\u0641\u0647\u060c \u062f\u0648 \u0631\u06a9\u0648\u0631\u062f Acctz \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u06cc\u06a9\u0633\u0627\u0646 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0638\u0631\u0641\u06cc\u062a \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 \u0648 \u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0647\u0631 RPC \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0636\u0631\u06cc\u0628 2 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u0627\u06cc RPC\u0647\u0627\u06cc \u06cc\u06a9\u200c\u0637\u0631\u0641\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f (RPC\u0647\u0627\u06cc \u062c\u0631\u06cc\u0627\u0646\u06cc \u0647\u0645\u0686\u0646\u0627\u0646 \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f \u0648\u0627\u062d\u062f \u0628\u0627payloadIstruncated: true\u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f).<\/li>\n<li>\u0627\u0646\u062f\u0627\u0632\u0647 \u0631\u06a9\u0648\u0631\u062f: \u0645\u062d\u0645\u0648\u0644\u0647\u200c\u0647\u0627\u06cc \u0628\u0632\u0631\u06af gRPC (\u0645\u0627\u0646\u0646\u062f gNMI Set \u0628\u0627 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062d\u062c\u06cc\u0645 \u06cc\u0627 \u0648\u0631\u0648\u062f\u06cc\u200c\u0647\u0627\u06cc gRIBI AFT) \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u06cc \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 \u0631\u0627 \u0628\u0631 \u0627\u06cc\u0646 \u0627\u0633\u0627\u0633 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u0644\u0627\u06af\u200c\u06af\u06cc\u0631\u06cc gRIBI \u0628\u0633\u06cc\u0627\u0631 \u067e\u0631\u062d\u062c\u0645 \u0627\u0633\u062a \u2014 \u062a\u0648\u0636\u06cc\u062d\u0627\u062a proto \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u062f\u0631 \u0633\u06cc\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authorization Policy) \u062e\u0627\u0645\u0648\u0634 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u062f.<\/li>\n<li>\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u062d\u0630\u0641 (Truncation fields):\u0647\u0631 \u062f\u0648 \u0641\u06cc\u0644\u062f cmd_istruncatedhistory-memory \u0648 payload_istruncated \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0645\u0628\u062f\u0623\u060c \u0645\u06cc\u0627\u0646\u200c\u0627\u0641\u0632\u0627\u0631 (Middleware) \u06cc\u0627 \u06af\u06cc\u0631\u0646\u062f\u0647 \u0628\u0647 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0627\u062c\u0631\u0627\u06cc\u06cc \u0631\u0633\u06cc\u062f\u0647 \u0627\u0633\u062a. \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u067e\u0631\u0686\u0645\u200c\u0647\u0627 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u06cc\u06a9 \u0647\u0634\u062f\u0627\u0631 \u062b\u0628\u062a \u06a9\u0646\u062f.<\/li>\n<li>\u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0645\u062a\u0648\u0642\u0641\u200c\u0634\u062f\u0647 (Stuck Collectors): \u0627\u06af\u0631 \u0628\u0627\u0641\u0631 \u062e\u0631\u0648\u062c\u06cc \u0633\u0631\u0648\u0631 \u0628\u0647 \u0633\u0645\u062a \u06cc\u06a9 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 \u0628\u0631\u0627\u06cc \u0645\u062f\u062a \u0637\u0648\u0644\u0627\u0646\u06cc \u067e\u0631 \u0628\u0645\u0627\u0646\u062f\u060c \u0633\u0631\u0648\u0631 \u0622\u0646 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 \u0631\u0627 \u0642\u0637\u0639 \u0645\u06cc\u200c\u06a9\u0646\u062f (\u0645\u0634\u0627\u0628\u0647 \u0631\u0641\u062a\u0627\u0631 BGP send-hold-timer). \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647 \u062f\u0648\u0628\u0627\u0631\u0647 \u0645\u062a\u0635\u0644 \u0634\u062f\u0647 \u0648 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0645\u0635\u0631\u0641 \u0645\u062c\u062f\u062f \u06a9\u0646\u062f\u060c \u062d\u0630\u0641 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/li>\n<li>\u0628\u0633\u0637 \u062f\u0633\u062a\u0648\u0631 (Command expansion): \u0628\u0631\u0627\u06cc \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc CLI \u0648 Shell\u060c \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u062e\u0641\u0641 \u0628\u0647 \u0634\u06a9\u0644 \u06a9\u0627\u0645\u0644 \u062e\u0648\u062f \u0628\u0633\u0637 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f (<code>sh ver det | gr foo<\/code> \u2192 <code>show version detail | grep foo<\/code>). \u0622\u0631\u06af\u0648\u0645\u0627\u0646\u200c\u0647\u0627\u06cc \u0634\u0646\u0627\u062e\u062a\u0647\u200c\u0634\u062f\u0647 \u062f\u0631 \u0648\u0627\u0698\u0647\u200c\u0646\u0627\u0645\u0647 \u0628\u0633\u0637 \u0645\u06cc\u200c\u06cc\u0627\u0628\u0646\u062f\u061b \u062a\u0648\u06a9\u0646\u200c\u0647\u0627\u06cc \u0646\u0627\u0634\u0646\u0627\u062e\u062a\u0647 \u0628\u0647 \u0647\u0645\u0627\u0646 \u0634\u06a9\u0644 \u0628\u0627\u0642\u06cc \u0645\u06cc\u200c\u0645\u0627\u0646\u0646\u062f<\/li>\n<li>\u0627\u0645\u0646\u06cc\u062a: \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0628\u0627\u06cc\u062f \u0645\u0627\u0646\u0646\u062f \u0647\u0631 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0633\u0637\u062d \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0648 \u0627\u0632 \u0646\u0638\u0631 \u0634\u0628\u06a9\u0647 \u0627\u06cc\u0632\u0648\u0644\u0647 \u0634\u0648\u0646\u062f. \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062d\u0633\u0627\u0633 (\u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u062e\u0635\u0648\u0635\u06cc \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-certz-tls-certificate-lifecycle-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Certz<\/a> \/ <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-credentialz-ssh-credential-rotation-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Credentialz<\/a> \u062c\u0627\u0628\u062c\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f) \u062f\u0631 \u0631\u06a9\u0648\u0631\u062f \u062d\u0630\u0641 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/li>\n<li>\u06a9\u0627\u0646\u0627\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u0627\u0632\u06cc: syslog \u0648 TACACS+ \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06a9\u0627\u0646\u0627\u0644\u200c\u0647\u0627\u06cc \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Audit) \u0645\u0648\u0627\u0632\u06cc \u0628\u0627\u0642\u06cc \u0628\u0645\u0627\u0646\u0646\u062f. Acctz \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0622\u0646\u200c\u0647\u0627 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0628\u0644\u06a9\u0647 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0622\u0646\u200c\u0647\u0627\u060c \u0642\u0627\u0628\u0644\u06cc\u062a \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Accounting) \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0648 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 gRPC \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<li>AcctzStream \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 Acctz: \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc\u060c AcctzStream (\u067e\u062e\u0634 \u062c\u0631\u06cc\u0627\u0646\u06cc \u0627\u0632 \u0633\u0645\u062a \u0633\u0631\u0648\u0631) \u0627\u0633\u062a. Acctz (\u06a9\u0647 \u0627\u0632 \u0646\u0648\u0639 \u062f\u0648\u0637\u0631\u0641\u0647 \u0628\u0648\u062f\u0647 \u0648 \u0645\u0646\u0633\u0648\u062e \u0634\u062f\u0647 \u0627\u0633\u062a) \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 Reflection \u062f\u06cc\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc\u060c \u062e\u0637\u0627\u06cc Unimplemented (\u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc\u200c\u0646\u0634\u062f\u0647) \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. \u0647\u0645\u06cc\u0634\u0647 \u0627\u0632 AcctzStream.RecordSubscribe \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0646\u062a\u06cc\u062c\u0647\u200c\u06af\u06cc\u0631\u06cc<\/h2>\n<p style=\"direction: rtl; text-align: right\">Acctz \u0634\u06a9\u0627\u0641 \u062f\u06cc\u062f\u0627\u0631\u06cc \u0628\u06cc\u0646 \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Accounting) \u0633\u0646\u062a\u06cc AAA \u0648 \u0639\u0645\u0644\u06cc\u0627\u062a\u200c\u0647\u0627\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 gRPC \u0631\u0627 \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0647\u0631 \u062f\u0633\u062a\u0648\u0631 CLI\u060c \u0648\u06cc\u0631\u0627\u06cc\u0634 NETCONF \u0648 gRPC RPC \u06cc\u06a9 \u0631\u06a9\u0648\u0631\u062f \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u0646\u0634\u0633\u062a (Session)\u060c \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authentication) \u0648 \u0645\u062c\u0648\u0632\u062f\u0647\u06cc (Authorization) \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0628\u0644\u0627\u062f\u0631\u0646\u06af \u0628\u0631\u0627\u06cc \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0647\u0627\u06cc (Collectors) \u0631\u0627\u0647 \u062f\u0648\u0631 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0631\u06cc\u0645 \u0627\u0633\u062a. <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-certz-tls-certificate-lifecycle-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Certz<\/a> \u0648 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-credentialz-ssh-credential-rotation-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Credentialz<\/a> \u06a9\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authentication) \u0631\u0627 \u0628\u0631 \u0639\u0647\u062f\u0647 \u062f\u0627\u0631\u0646\u062f\u060c<a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/grpc-authorization-with-authz\" style=\"color: rgb(0, 102, 204)\">Authz<\/a> \u0648 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/securing-gnmi-with-pathz\" style=\"color: rgb(0, 102, 204)\">\u0648 Pathz<\/a> \u06a9\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062c\u0648\u0632\u062f\u0647\u06cc (Authorization) \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f\u060c \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 Acctz \u06a9\u0647 \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Accounting) \u0631\u0627 \u062a\u06a9\u0645\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0647\u0631 \u0633\u0647 \u0631\u06a9\u0646 \u0645\u062f\u0644 AAA \u0631\u0627 \u062f\u0631 IOS XR \u067e\u0648\u0634\u0634 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f.<\/p>\n<ul style=\"direction: rtl; text-align: right\">\n<li>Acctz<strong style=\"color: rgb(26, 26, 26)\">\u062c\u0631\u06cc\u0627\u0646\u200c\u0647\u0627 (streams)<\/strong>\u0627\u0631\u0633\u0627\u0644 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u062d\u0633\u0627\u0628\u062f\u0627\u0631\u06cc (Accounting Records) \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0628\u0647 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0647\u0627 (Collectors) \u2014 CLI\u060c Shell\u060c NETCONF\u060c RESTCONF\u060c WebUI\u060c gNMI\u060c gNOI\u060c gNSI\u060c gRIBI\u060c P4RT\u060c \u0648\u0631\u0648\u062f\/\u062e\u0631\u0648\u062c.<\/li>\n<li><strong style=\"color: rgb(26, 26, 26)\">\u0645\u0647\u0631 \u0632\u0645\u0627\u0646\u06cc (Timestamp)<code>0<\/code><\/strong>\u0628\u0627\u0632\u067e\u062e\u0634 \u06a9\u0644 \u0628\u0627\u0641\u0631 \u0686\u0631\u062e\u0634\u06cc (Circular Buffer). \u0632\u0645\u0627\u0646 \u0641\u0639\u0644\u06cc \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u00ab\u0641\u0642\u0637 \u0631\u06a9\u0648\u0631\u062f\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u00bb \u0627\u0633\u062a.<\/li>\n<li><strong style=\"color: rgb(26, 26, 26)\">\u067e\u0627\u0633\u062e \u0631\u06a9\u0648\u0631\u062f (RecordResponse)<\/strong>\u062d\u0627\u0645\u0644 \u0645\u062a\u0627\u062f\u06cc\u062a\u0627\u06cc \u0646\u0634\u0633\u062a (Session)\u060c \u062c\u0632\u0626\u06cc\u0627\u062a \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authentication)\u060c \u0646\u062a\u06cc\u062c\u0647 \u0645\u062c\u0648\u0632\u062f\u0647\u06cc (Authorization) \u0648 \u0645\u062d\u0645\u0648\u0644\u0647\u200c\u0647\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 (\u0628\u0627 \u062d\u0630\u0641 \u0645\u0648\u0627\u0631\u062f \u062d\u0633\u0627\u0633).<\/li>\n<li>\u0647\u0631 \u0631\u06a9\u0648\u0631\u062f \u0634\u0627\u0645\u0644 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0627\u0633\u062a<strong style=\"color: rgb(26, 26, 26)\">\u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u062c\u0648\u0632\u062f\u0647\u06cc (AuthzDetail)<\/strong>(\u0645\u062c\u0627\u0632\/\u063a\u06cc\u0631\u0645\u062c\u0627\u0632) \u2014 \u062e\u0637 \u0644\u0648\u0644\u0647\u200c\u0647\u0627\u06cc \u0627\u0646\u0637\u0628\u0627\u0642 (Compliance pipelines) \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062a\u0635\u0645\u06cc\u0645\u0627\u062a \u0645\u062c\u0648\u0632\u062f\u0647\u06cc \u0631\u0627 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u062e\u0648\u062f \u0641\u0639\u0627\u0644\u06cc\u062a \u0631\u062f\u06cc\u0627\u0628\u06cc \u06a9\u0646\u0646\u062f.<\/li>\n<li>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0638\u0631\u0641\u06cc\u062a \u0628\u0627\u0641\u0631 \u0628\u0627<code>grpc aaa accounting queue-size<\/code>(\u067e\u06cc\u0634\u200c\u0641\u0631\u0636 40\u060c \u062d\u062f\u0627\u06a9\u062b\u0631 512) \u0648<code>grpc aaa accounting history-memory<\/code>(\u067e\u06cc\u0634\u200c\u0641\u0631\u0636 40 \u0645\u06af\u0627\u0628\u0627\u06cc\u062a\u060c \u062d\u062f\u0627\u06a9\u062b\u0631 400 \u0645\u06af\u0627\u0628\u0627\u06cc\u062a).<\/li>\n<li>\u062a\u0631\u062c\u06cc\u062d \u062f\u0647\u06cc\u062f \u0627\u0632<strong style=\"color: rgb(26, 26, 26)\">AcctzStream<\/strong>(\u0646\u0633\u062e\u0647 24.4.1 \u0628\u0647 \u0628\u0639\u062f) \u0628\u0647 \u062c\u0627\u06cc \u0631\u0648\u0634 \u062f\u0648\u0637\u0631\u0641\u0647 \u0645\u0646\u0633\u0648\u062e \u0634\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u061b \u062a\u0623\u06cc\u06cc\u062f \u0631\u0648\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 \u0628\u0627<code>Acctz<\/code>\u0628\u0627\u0632\u062a\u0627\u0628 (Reflection)<strong style=\"color: rgb(26, 26, 26)\">\u062a\u0644\u0647\u200c\u0645\u062a\u0631\u06cc YANG \u0627\u0632 \u0637\u0631\u06cc\u0642<\/strong>.<\/li>\n<li>openconfig-gnsi-acctz<code>\u0645\u0635\u0631\u0641 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc\u200c\u06a9\u0646\u0646\u062f\u0647\u060c \u0633\u0631\u0631\u06cc\u0632 \u0628\u0627\u0641\u0631 \u0648 \u062a\u0648\u0644\u06cc\u062f \u0631\u06a9\u0648\u0631\u062f \u0628\u0647 \u0627\u0632\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0631\u062f\u06cc\u0627\u0628\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/code>\u0631\u062f\u06cc\u0627\u0628\u06cc \u0645\u0635\u0631\u0641 \u062c\u0645\u0639\u200c\u06a9\u0646\u0646\u062f\u0647 (Collector)\u060c \u0633\u0631\u0631\u06cc\u0632 \u0628\u0627\u0641\u0631 (Buffer Overflow) \u0648 \u062a\u0648\u0644\u06cc\u062f \u0631\u06a9\u0648\u0631\u062f \u0628\u0647 \u0627\u0632\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 (Per-Service Record).<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right\"><strong style=\"color: rgb(26, 26, 26)\">\u06af\u0627\u0645 \u0628\u0639\u062f\u06cc:<\/strong>\u0647\u0631 \u067e\u0646\u062c \u0633\u0631\u0648\u06cc\u0633 gNSI \u0634\u0627\u0645\u0644 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a (Authentication) (<a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-certz-tls-certificate-lifecycle-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Certz<\/a>, <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-credentialz-ssh-credential-rotation-on-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">Credentialz<\/a>)\u060c \u062a\u0639\u06cc\u06cc\u0646 \u0633\u0637\u062d \u062f\u0633\u062a\u0631\u0633\u06cc (Authorization) (<a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/grpc-authorization-with-authz\" style=\"color: rgb(0, 102, 204)\">Authz<\/a>, <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/securing-gnmi-with-pathz\" style=\"color: rgb(0, 102, 204)\">Pathz<\/a>) \u0648 \u062d\u0633\u0627\u0628\u0631\u0633\u06cc (Accounting) (Acctz) \u0627\u06a9\u0646\u0648\u0646 \u062a\u062d\u062a \u067e\u0648\u0634\u0634 \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0645\u0644 \u0628\u0647 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/introducing-gnsi-grpc-native-aaa-for-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">\u0645\u0631\u0648\u0631 \u06a9\u0644\u06cc \u0633\u0631\u06cc<\/a> \u0628\u0627\u0632\u06af\u0631\u062f\u06cc\u062f.<\/p>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u0645\u0631\u0627\u062c\u0639<\/h2>\n<ol style=\"direction: rtl; text-align: right\">\n<li>XRdocs \u2014 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/AcctZ\" style=\"color: rgb(0, 102, 204)\">AcctZ<\/a><\/li>\n<li>OpenConfig \u2014 <a href=\"https:\/\/github.com\/openconfig\/gnsi\/blob\/main\/acctz\/acctz.proto\" style=\"color: rgb(0, 102, 204)\"><code>acctz.proto<\/code><\/a>, <a href=\"https:\/\/github.com\/openconfig\/gnsi\/blob\/main\/acctz\/README.md\" style=\"color: rgb(0, 102, 204)\"><code>acctz\/README.md<\/code><\/a><\/li>\n<li>OpenConfig \u2014 <a href=\"https:\/\/www.netconfcentral.org\/modules\/openconfig-gnsi-acctz\/2024-12-24\/source\/raw\/\" style=\"color: rgb(0, 102, 204)\"><code>openconfig-gnsi-acctz<\/code>\u0645\u062f\u0644 YANG \u0646\u0633\u062e\u0647 0.4.0<\/a><\/li>\n<li>Cisco IOS XR \u2014 <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/iosxr\/cisco8000\/programmability\/b-programmability-configuration-guide-cisco8000\/m-grpc-fundamentals-and-authentication.html\" style=\"color: rgb(0, 102, 204)\">\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u067e\u0630\u06cc\u0631\u06cc (Programmability): \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc gRPC<\/a> (\u0628\u062e\u0634\u200c\u0647\u0627\u06cc gNSI Acctz Logging + AcctzStream)<\/li>\n<li>Cisco IOS XR \u2014 <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/iosxr\/cisco8000\/programmability\/b-programmability-cr-cisco8000\/grpc-commands.html\" style=\"color: rgb(0, 102, 204)\">\u0645\u0631\u062c\u0639 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u067e\u0630\u06cc\u0631\u06cc (Programmability): \u062f\u0633\u062a\u0648\u0631\u0627\u062a gRPC<\/a> (<code>grpc aaa accounting history-memory<\/code>, <code>grpc aaa accounting queue-size<\/code>, <code>show gnsi acctz statistics<\/code>)<\/li>\n<li>\u0633\u0631\u06cc \u2014 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/introducing-gnsi-grpc-native-aaa-for-cisco-ios-xr\" style=\"color: rgb(0, 102, 204)\">\u0646\u0645\u0627\u06cc \u06a9\u0644\u06cc gNSI \u062f\u0631 IOS XR<\/a><\/li>\n<\/ol>\n<hr>\n<h2 style=\"color: rgb(26, 26, 26); font-weight: 700; direction: rtl; text-align: right\">\u067e\u06cc\u0648\u0633\u062a: \u062f\u0631\u062e\u062a \u0641\u06cc\u0644\u062f RecordResponse<\/h2>\n<p style=\"direction: rtl; text-align: right\">\u0633\u0627\u062e\u062a\u0627\u0631 \u06a9\u0627\u0645\u0644 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0628\u0631\u0627\u06cc \u0645\u0631\u062c\u0639. \u0628\u062e\u0634 <a href=\"https:\/\/xrdocs.io\/programmability\/blogs\/gnsi-acctz-management-plane-accounting-on-cisco-ios-xr#recordresponse-structure\" style=\"color: rgb(0, 102, 204)\">\u0633\u0627\u062e\u062a\u0627\u0631 RecordResponse<\/a> \u062f\u0631 \u0628\u0627\u0644\u0627\u060c \u0686\u0647\u0627\u0631 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0631\u0627 \u0628\u0631\u062c\u0633\u062a\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<pre><code><span>RecordSubscribe(RecordRequest) \u2192 stream RecordResponse\n<\/span><span>\u2502\n<\/span><span>\u251c\u2500\u2500 RecordRequest\n<\/span><span>\u2502 \u2514\u2500\u2500 timestamp: google.protobuf.Timestamp\n<\/span><span>\u2502 (0 = \"send all available Records\")\n<\/span><span>\u2502\n<\/span><span>\u2514\u2500\u2500 stream RecordResponse\n<\/span><span> \u251c\u2500\u2500 session_info (SessionInfo)\n<\/span><span> \u2502 \u251c\u2500\u2500 local_address \/ local_port\n<\/span><span> \u2502 \u251c\u2500\u2500 remote_address \/ remote_port\n<\/span><span> \u2502 \u251c\u2500\u2500 ip_proto (6=TCP, 17=UDP)\n<\/span><span> \u2502 \u251c\u2500\u2500 channel_id\n<\/span><span> \u2502 \u251c\u2500\u2500 tty (console0, vty0, pty0)\n<\/span><span> \u2502 \u251c\u2500\u2500 status (LOGIN, LOGOUT, ONCE, ENABLE, IDLE, OPERATION)\n<\/span><span> \u2502 \u251c\u2500\u2500 user (UserDetail)\n<\/span><span> \u2502 \u2502 \u251c\u2500\u2500 identity (username, SPIFFE ID)\n<\/span><span> \u2502 \u2502 \u251c\u2500\u2500 role (privilege level, user group)\n<\/span><span> \u2502 \u2502 \u2514\u2500\u2500 ssh_principal\n<\/span><span> \u2502 \u2514\u2500\u2500 authn (AuthnDetail)\n<\/span><span> \u2502 \u251c\u2500\u2500 type (PASSWORD, SSHKEY, SSHCERT, TLSCERT, PAP, CHAP)\n<\/span><span> \u2502 \u251c\u2500\u2500 status (SUCCESS, FAIL, ERROR)\n<\/span><span> \u2502 \u2514\u2500\u2500 cause\n<\/span><span> \u251c\u2500\u2500 timestamp\n<\/span><span> \u251c\u2500\u2500 history_istruncated: bool\n<\/span><span> \u251c\u2500\u2500 service_request (oneof)\n<\/span><span> \u2502 \u251c\u2500\u2500 cmd_service (CommandService)\n<\/span><span> \u2502 \u2502 \u251c\u2500\u2500 service_type (SHELL, CLI, WEBUI, RESTCONF, NETCONF)\n<\/span><span> \u2502 \u2502 \u251c\u2500\u2500 cmd, cmd_istruncated\n<\/span><span> \u2502 \u2502 \u251c\u2500\u2500 cmd_args[], cmd_args_istruncated\n<\/span><span> \u2502 \u2502 \u2514\u2500\u2500 authz (AuthzDetail: PERMIT\/DENY + detail)\n<\/span><span> \u2502 \u2514\u2500\u2500 grpc_service (GrpcService)\n<\/span><span> \u2502 \u251c\u2500\u2500 service_type (GNMI, GNOI, GNSI, GRIBI, P4RT)\n<\/span><span> \u2502 \u251c\u2500\u2500 rpc_name (\"\/gnmi.gNMI\/Set\", etc.)\n<\/span><span> \u2502 \u251c\u2500\u2500 payload (proto_val or string_val)\n<\/span><span> \u2502 \u251c\u2500\u2500 payload_istruncated\n<\/span><span> \u2502 \u2514\u2500\u2500 authz (AuthzDetail: PERMIT\/DENY + detail)\n<\/span><span> \u251c\u2500\u2500 component_name\n<\/span><span> \u2514\u2500\u2500 task_ids[]\n<\/span><\/code><\/pre>\n<hr>\n<div style=\"display: flex\" title=\"\u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634\">&nbsp;<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0634\u06a9\u0644 Certz \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u06a9\u0644\u0627\u06cc\u0646\u062a\u200c\u0647\u0627 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 TLS \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u062f. Authz \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0645\u062c\u0627\u0632 \u0628\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u062f\u0627\u0645 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc gRPC \u0627\u0633\u062a. Pathz\u2026<\/p>\n","protected":false},"author":1,"featured_media":238,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[98,232,234,47,236,35],"tags":[],"class_list":["post-242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automation","category-gnsi","category-grpc","category-iosxr","category-programmability","category-security"],"_links":{"self":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/posts\/242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/comments?post=242"}],"version-history":[{"count":1,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/posts\/242\/revisions"}],"predecessor-version":[{"id":244,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/posts\/242\/revisions\/244"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/media\/238"}],"wp:attachment":[{"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/media?parent=242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/categories?post=242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.anynet.ir\/blog\/wp-json\/wp\/v2\/tags?post=242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}