注意
本文档适用于 Ceph 开发版本。
SNMP 网关服务
SNMPSNMP仍然是一个广泛使用的协议,用于监控跨各种硬件和软件平台的分布式系统和设备。Ceph的SNMP集成专注于将Prometheus Alertmanager集群中的警报转发到网关守护进程。网关守护进程将警报转换为SNMP通知,并将其发送到指定的SNMP管理平台。网关守护进程来自snmp_notifier项目,它提供SNMP V2c和V3支持(认证和加密)。
Ceph的SNMP网关服务默认部署一个网关实例。您可以通过提供放置信息来增加此数量。但是,请记住,如果您启用多个SNMP网关守护进程,您的SNMP管理平台将针对同一事件接收多个通知。
兼容性
下表显示了网关实现支持的SNMP版本
SNMP版本 |
支持 |
Notes |
---|---|---|
V1 |
❌ |
snmp_notifier不支持 |
V2c |
✔ |
|
V3 authNoPriv |
✔ |
使用用户名/密码认证,没有加密(NoPriv = 没有隐私) |
V3 authPriv |
✔ |
使用用户名/密码认证,并使用加密到SNMP管理平台 |
部署SNMP网关
SNMP V2c和V3都提供凭证支持。在V2c的情况下,这只是社区字符串 - 但对于V3环境,您必须提供额外的认证信息。这些凭证在部署服务时不在命令行上支持。相反,您必须使用凭证文件(yaml格式)创建服务,或在yaml文件中指定完整的服务定义。
命令格式
ceph orch apply snmp-gateway <snmp_version:V2c|V3> <destination> [<port:int>] [<engine_id>] [<auth_protocol: MD5|SHA>] [<privacy_protocol:DES|AES>] [<placement>] ...
使用说明
您必须提供
--snmp-version
参数参数
--destination
必须为格式主机名:端口(无默认值)您可以省略
--port
。它默认为9464参数
--engine-id
是设备的唯一标识符(十六进制),仅SNMP v3需要。对于SNMP V3,设置
--auth-protocol
默认为SHA对于SNMP V3,使用加密时必须定义
--privacy-protocol
您must提供一个 -i <文件名> 将秘密/密码传递给编排器
部署示例
SNMP V2c
这是一个V2c示例,显示了CLI和服务部署
ceph orch apply snmp-gateway --port 9464 --snmp_version=V2c --destination=192.168.122.73:162 -i ./snmp_creds.yaml
使用包含以下内容的凭证文件
---
snmp_community: public
或者,您可以创建网关的yaml定义,并从一个文件中应用它
ceph orch apply -i snmp-gateway.yml
文件包含以下配置
service_type: snmp-gateway
service_name: snmp-gateway
placement:
count: 1
spec:
credentials:
snmp_community: public
port: 9464
snmp_destination: 192.168.122.73:162
snmp_version: V2c
SNMP V3(authNoPriv)
支持仅认证的SNMP V3的snmp-gateway服务部署如下;
ceph orch apply snmp-gateway --snmp-version=V3 --engine-id=800C53F000000 --destination=192.168.122.1:162 -i ./snmpv3_creds.yml
使用凭证文件为;
---
snmp_v3_auth_username: myuser
snmp_v3_auth_password: mypassword
或作为服务配置文件
service_type: snmp-gateway
service_name: snmp-gateway
placement:
count: 1
spec:
credentials:
snmp_v3_auth_password: mypassword
snmp_v3_auth_username: myuser
engine_id: 800C53F000000
port: 9464
snmp_destination: 192.168.122.1:162
snmp_version: V3
SNMP V3(authPriv)
定义一个实现认证和隐私(加密)的SNMP V3网关服务需要两个额外的值
ceph orch apply snmp-gateway --snmp-version=V3 --engine-id=800C53F000000 --destination=192.168.122.1:162 --privacy-protocol=AES -i ./snmpv3_creds.yml
使用凭证文件为;
---
snmp_v3_auth_username: myuser
snmp_v3_auth_password: mypassword
snmp_v3_priv_password: mysecret
Note
凭证存储在主机上,限制为root用户,并通过环境文件(--env-file
)传递给snmp_notifier守护进程,以限制暴露。
AlertManager集成
当部署或更新SNMP网关服务时,Prometheus Alertmanager配置会自动更新,以将任何具有OID标签的警报转发到SNMP网关守护进程进行处理。
实现MIB
要理解SNMP通知/陷阱,您需要将MIB应用于您的SNMP管理平台。MIB(CEPH-MIB.txt)可以从主要的Ceph仓库下载
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.