本页内容
日志记录、SNMP 和遥测
了解如何在任何 MX204、MX301、MX304、MX10004 或 MX10008 路由器上启用系统日志记录、SNMP 和遥测。
系统日志记录 (Syslog)
您可以配置系统日志记录 (syslog) 来维护网络的稳定性、安全性和性能。系统日志配置允许网络管理员监控、排除故障和审核设备活动。
要在交换机上本地配置系统日志:
set system syslog file system log any notice set system syslog file system log authorization info
要配置远程系统日志服务器(将日志发送到外部系统日志服务器):
set system syslog host 192.168.1.1/24 any notice
要在设置源接口时配置远程系统日志:
set system syslog host 192.168.1.1/24 source-address 192.168.1.10
SNMP
简单网络管理协议 (SNMP) 有助于从单个管理主机监控交换机、路由器和其他基于 IP 的设备等网络设备。默认情况下,任何 MX 系列路由器均未启用此协议。但是,在这些路由器上运行的操作系统 Junos OS Evolved 支持 SNMPv1、SNMPv2c 和 SNMPv3。
要启用 SNMP,需要在 [edit] 层级添加配置语句。SNMP 的最低配置是启用 SNMP 轮询。
set snmp community public authorization read-only
要配置基本 SNMP 身份:
set snmp contact "Network Operation Center" set snmp location "California Office - Server Room" set snmp description "Internet Edge Router"
要将 SNMP 查询限制到受信任的管理端口:
set snmp community public clients 192.168.1.100
要配置 SNMP 陷阱:
set snmp trap-group NMS targets 192.168.1.100
要在配置后验证 SNMP 是否正在运行:
show snmp statistics
或
show snmp mib
遥测
Junos 遥测是瞻博网络的遥测解决方案,旨在从 Junos 设备传输遥测数据。Junos 设备可以使用遥测基础架构流式传输实时网络数据,例如流量模式、设备状态、错误率和其他指标,从而洞察网络的运行状况和行为。有关更多信息,请参阅 了解 Junos 遥测技术。要配置 gRPC 并验证遥测流,请参阅 了解基于 gRPC 的服务的身份验证和授权。
请按照以下步骤使用 gNMI 在 Junos 设备上配置和验证遥测流。 为 gRPC 服务配置相互(双向)身份验证,确保您有一台运行 Junos 的设备,以及一台可以访问 Junos 设备上的一个流量端口的 Linux 计算机或 VM。
配置相互身份验证后:
-
在建立通道时,服务器提供其公钥证书。
-
客户端使用服务器的根证书颁发机构证书对服务器进行身份验证。
-
客户端在连接到服务器时也会提供其证书,并且服务器验证证书。如果证书验证成功,则允许客户端进行调用。
-
获取 X.509 证书 (服务器根证书颁发机构和服务器密钥对)。运行以下命令:
user@nms:~$ openssl genrsa -out server.key 4096 user@nms:~$ openssl req -new -x509 -sha256 -key serverRootCA.key -out serverRootCA.crt -days 3650 -subj "/C=US/ST=CA/L=Sunnyvale/O=Juniper/CN=serverRootCA" user@nms:~$ openssl genrsa -out server.key 4096 user@nms:~$ openssl req -new -key server.key -out server.csr -sha256 -subj "/C=US/ST=CA/L=Sunnyvale/O=Juniper/OU=serverRootCAOrg/CN=vJunosEvolved" user@nms:~$ openssl x509 -req -in server.csr -CA serverRootCA.crt -CAkey serverRootCA.key -CAcreateserial -out server.crt -days 365 -extfile server_ssl_cert_ext.cnf
注意:gRPC 服务器的证书必须在公用名 (CN) 字段中定义服务器的主机名(上述示例命令中的主机名使用 vJunosEvolved 作为服务器的主机名),或者必须在文件的
“主题备用名称(subjectAltName 或 SAN)”IP 地址“字段中定义服务器的 IP 地址。客户端应用程序必须使用相同的值来建立与服务器的连接。如果证书定义了 SubjectAltName IP 地址字段,则在身份验证期间将忽略公用名字段。server_ssl_cert_ext.cnf文件
内容为:server_ssl_cert_ext.cnfuser@nms:~$ cat server_ssl_cert_ext.cnf #### include -extfile server_ssl_cert_ext.cnf in command to include extensions file #### openssl.cnf extensions = v3_sign [v3_sign] subjectAltName=IP:172.25.11.11
运行以下命令:
user@nms:~$ openssl genrsa -out clientRootCA.key 4096 user@nms:~$ openssl req -new -x509 -sha256 -key clientRootCA.key -out clientRootCA.crt -days 3650 -subj "/C=US/ST=CA/L=Sunnyvale/O=Juniper/CN=clientRootCA" user@nms:~$ openssl genrsa -out client.key 4096 user@nms:~$ openssl req -new -key client.key -out client.csr -sha256 -subj "/C=US/ST=CA/L=Sunnyvale/O=Juniper/OU=serverRootCAOrg/CN= client-desktop" user@nms:~$ openssl x509 -req -in client.csr -CA clientRootCA.crt -CAkey clientRootCA.key -CAcreateserial -out client.crt -days 365 -extfile server_ssl_cert_ext.cnf
-
启用 gRPC 服务,运行以下命令:
set system services http servers server grpc-server port 32767 set system services http servers server grpc-server grpc gnoi set system services http servers server grpc-server grpc gnmi set system services http servers server grpc-server tls local-certificate grpc-server
要配置相互身份验证而不是仅服务器身份验证,请在层次结构中
edit system services extension-service request-response grpc ssl运行以下命令:set system services extension-service request-response grpc ssl port 32767 set system services extension-service request-response grpc ssl local-certificate grpc-server
要直接在网络设备配置中配置 gRPC 客户端的身份验证,请运行以下命令:
set system services extension-service request-response grpc ssl mutual-authentication certificate-authority grpc-client-CA set system services extension-service request-response grpc ssl mutual-authentication client-certificate-request require-certificate-and-verify set system services extension-service request-response grpc ssl hot-reloading set system services extension-service request-response grpc ssl use-pki set system services extension-service traceoptions file jsd set system services extension-service traceoptions flag all set security pki ca-profile grpc-client-CA ca-identity clientRootCA set security pki traceoptions file size 10m set security pki traceoptions file files 3
-
将您在客户端上生成的证书复制到 gRPC 服务器,运行以下命令:
user@nms:~$ scp -O server.crt lab@172.25.11.11:/var/home/lab user@nms:~$ scp -O server.key lab@172.25.11.11:/var/home/lab user@nms:~$ scp -O clientRootCA.crt lab@172.25.11.11:/var/home/lab
-
在服务器上加载证书,运行以下命令:
user@host> request security pki local-certificate load certificate-id grpc-server filename /var/home/lab/server.crt key /var/home/lab/server.key user@host> request security pki ca-certificate load ca-profile grpc-client-CA filename /var/home/lab/client.crt
-
配置 gRPC 服务的用户帐户,运行以下命令:
user@host# set system login user gnoi-user class super-user user@host# set system login user gnoi-user authentication plain-text-password user@host# set system login user gnoi-user full-name "gNOI client"
-
通过识别要从设备接收的信息来选择传感器路径。要通过 Junos 遥测进行流式传输的信息是使用遥测传感器路径指定的。
遥测传感器路径是到要监控的操作数据或指标的分层路径(使用 YANG 定义)。使用瞻博网络 Junos YANG 数据模型浏览器 查看所有受支持的传感器路径、它们对应的分叶以及支持它们的设备平台。
例如,以下传感器路径流式传输设备上接口的管理和操作状态信息:
/junos/system/linecard/interface
-
确定要监控的内容后,下载并安装 gNMI 客户端,下载、安装和配置 gNMI 客户端 以测试设备上的遥测流。Junos 设备支持各种订阅类型,请参阅 订阅类型, 了解网络的订阅类型和 订阅模式 。在此示例中,我们选择“流”作为订阅类型,选择“示例”作为模式。
-
在 Linux 计算机上测试遥测流,从命令提示符,使用 gNMI 客户端订阅遥测数据。运行以下命令:
gnmic sub -a <device_ip>:<gnmi_port> -u <username> -p <password> --format json subscribe --path <sensor path> --mode stream --stream-mode sample --sample-interval <seconds>例如:
root@controller:~$ gnmic sub -a 172.25.11.11:32767 -u gnoi-user -p gnoi123 --tls-ca serverRootCA.crt --tls-cert client.crt --tls-key client.key --format json subscribe --path /junos/system/linecard/interface --mode stream --stream-mode sample --sample-interval 10s地点:
format- 指定 gNMI 客户端用于显示遥测数据的输出格式。json 格式以 JSON 形式显示遥测数据。可用选项包括 JSON、BYTES、PROTO、ASCII 和 JSON_IETF。sub- 调用 gNMI 订阅 RPC 以与设备建立遥测订阅path -YANG 传感器流式遥测数据的路径是否为mode -定义订阅模式。流模式建立连续订阅,随时间推移发送遥测更新。stream-mode -指定流订阅的流式处理行为。示例模式会定期发送更新。sample-interval-设置配置流模式示例时流订阅的采样间隔。
-
验证收集器上是否接收到了遥测数据。成功的输出确认已建立 gNMI 连接,并且遥测数据正在从设备流式传输。
gNMI 遥测输出示例(JSON 格式)
{ "source": "172.25.11.11:32767", "subscription-name": "default-1782391912", "timestamp": 1782391912042548677, "time": "2026-06-25T05:51:52.042548677-07:00", "prefix": "interfaces/interface[name=et-0/0/0]", "updates": [ { "Path": "name", "values": { "name": "et-0/0/0" } }, { "Path": "state/hardware-port", "values": { "state/hardware-port": "FPC0:PIC0:PORT0" } }, { "Path": "state/transceiver", "values": { "state/transceiver": "FPC0:PIC0:PORT0:Xcvr0" } }, { "Path": "state/physical-channel", "values": { "state/physical-channel": { "element": [ { "Value": { "JsonVal": "MA==" } }, { "Value": { "JsonVal": "MQ==" } }, { "Value": { "JsonVal": "Mg==" } }, { "Value": { "JsonVal": "Mw==" } } ] } } }, { "Path": "name", "values": { "name": "et-0/0/1" } }, { "Path": "state/hardware-port", "values": { "state/hardware-port": "FPC0:PIC0:PORT1" } }, { "Path": "state/transceiver", "values": { "state/transceiver": "FPC0:PIC0:PORT1:Xcvr0" } }, { "Path": "state/physical-channel", "values": { "state/physical-channel": { "element": [ { "Value": { "JsonVal": "MA==" } }, { "Value": { "JsonVal": "MQ==" } }, { "Value": { "JsonVal": "Mg==" } }, { "Value": { "JsonVal": "Mw==" } } ] } } }, … truncated接收连续遥测数据表明 gNMI 遥测流在 Junos 设备上正常运行。
-
在开源或第三方收集器上实施。现在,您已验证您的遥测设置是否正常工作,您可以安装众多可用的开源或第三方收集器之一。这些收集器的设置和配置超出了本指南的讨论范围。
有关 Junos 遥测的更多信息,请参阅 Junos 遥测用户指南。