注意

本文档适用于 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. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.