13.3. 部署 SNMP 网关
您可以使用 SNMPV2c 或 SNMPV3 部署简单网络管理协议(SNMP)网关。部署 SNMP 网关的方法有两种:
- 通过创建凭据文件。
- 通过创建一个服务配置 yaml 文件,其中包含所有详细信息。
您可以使用以下参数根据版本部署 SNMP 网关:
-
service_type
是snmp-gateway
。 -
service_name
是任何用户定义的字符串。 -
count
是要在存储集群中部署的 SNMP 网关的数量。 -
snmp_destination
参数必须为 hostname:port 格式。 -
engine-id
是设备的唯一标识符,hex 格式,SNNV3 网关需要。红帽建议为此参数使用 '8000C53F_CLUSTER_FSID_WITHOUT_DASHES_'。 -
对于 SNMPV2c 网关,
snmp_community
参数为public
。 -
SNMPV3 网关需要
auth-protocol
,默认情况下是SHA
。 -
对于需要 进行身份验证和加密的 SNMPV3 网关,
privacy-protocol
是必须的。 -
端口默认为
9464
。 -
您必须提供
-i FILENAME
,将 secret 和密码传递给编配器。
在部署或更新 SNMP 网关服务后,Prometheus Alertmanager 配置会自动更新,以将对象识别符转发到 SNMP 网关守护进程以进行进一步处理。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 对节点的根级别访问权限。
-
在目标主机上配置
snmptrapd
,这是 SNMP 管理主机。
流程
登录到 Cephadm shell:
示例
[root@host01 ~]# cephadm shell
为需要部署 SNMP 网关的主机创建一个标签:
语法
ceph orch host label add HOSTNAME snmp-gateway
示例
[ceph: root@host01 /]# ceph orch host label add host02 snmp-gateway
根据 SNMP 版本创建凭据文件或服务配置文件:
对于 SNMPV2c,按如下所示创建该文件:
示例
[ceph: root@host01 /]# cat snmp_creds.yml snmp_community: public
或者
示例
[ceph: root@host01 /]# cat 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
对于仅限使用身份验证的 SNMPV3,请按如下所示创建该文件:
示例
[ceph: root@host01 /]# cat snmp_creds.yml snmp_v3_auth_username: myuser snmp_v3_auth_password: mypassword
或者
示例
[ceph: root@host01 /]# cat snmp-gateway.yml 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: 8000C53Ff64f341c655d11eb8778fa163e914bcc port: 9464 snmp_destination: 192.168.122.1:162 snmp_version: V3
对于使用验证和加密的 SNMPV3,请按如下所示创建该文件:
示例
[ceph: root@host01 /]# cat snmp_creds.yml snmp_v3_auth_username: myuser snmp_v3_auth_password: mypassword snmp_v3_priv_password: mysecret
或者
示例
[ceph: root@host01 /]# cat snmp-gateway.yml service_type: snmp-gateway service_name: snmp-gateway placement: count: 1 spec: credentials: snmp_v3_auth_password: mypassword snmp_v3_auth_username: myuser snmp_v3_priv_password: mysecret engine_id: 8000C53Ff64f341c655d11eb8778fa163e914bcc port: 9464 snmp_destination: 192.168.122.1:162 snmp_version: V3
运行
ceph orch
命令:语法
ceph orch apply snmp-gateway --snmp_version=V2c_OR_V3 --destination=SNMP_DESTINATION [--port=PORT_NUMBER]\ [--engine-id=8000C53F_CLUSTER_FSID_WITHOUT_DASHES_] [--auth-protocol=MDS_OR_SHA] [--privacy_protocol=DES_OR_AES] -i FILENAME
或者
语法
ceph orch apply -i FILENAME.yml
对于 SNMPV2c,使用
snmp_creds
文件,使用snmp-version
作为V2c
运行ceph orch
命令:示例
[ceph: root@host01 /]# ceph orch apply snmp-gateway --snmp-version=V2c --destination=192.168.122.73:162 --port=9464 -i snmp_creds.yml
对于仅限带有身份验证的 SNMPV3,使用
snmp_creds
文件,使用snmp-version
作为V3
和engine-id
运行ceph orch
命令:示例
[ceph: root@host01 /]# ceph orch apply snmp-gateway --snmp-version=V3 --engine-id=8000C53Ff64f341c655d11eb8778fa163e914bcc--destination=192.168.122.73:162 -i snmp_creds.yml
对于使用
snmp_creds
文件的 SNMPV3
,请使用snmp-version
作为 V3、privacy-protocol
和engine-id
运行ceph 或ch
命令:示例
[ceph: root@host01 /]# ceph orch apply snmp-gateway --snmp-version=V3 --engine-id=8000C53Ff64f341c655d11eb8778fa163e914bcc--destination=192.168.122.73:162 --privacy-protocol=AES -i snmp_creds.yml
或者
对于所有 SNMP 版本(使用
snmp-gateway
文件),请运行以下命令:示例
[ceph: root@host01 /]# ceph orch apply -i snmp-gateway.yml
其它资源
- 请参阅 Red Hat Ceph Storage Operations Guide 中的 Configuring 'snmptrapd' 部分。