scathatheworm.net-snmp
ansible-netsnmp
用于部署和配置简单的 v1/v2c SNMP 守护进程的 Ansible 角色
defaults/main.yml 中变量的说明
默认日志级别
可以设为 0,1,2,3,4,5,6,7,对应的日志级别为:
- 0: 紧急
- 1: 警报
- 2: 严重
- 3: 错误
- 4: 警告
- 5: 通知
- 6: 信息
- 7: 调试
默认值为 6,日志信息较为冗长
snmpd_loglevel: 4
定义监听端口
snmpd_port: 161
默认禁用 IPv6
snmpd_ipv6_enabled: false
sysLocation、sysContact 和 sysName 定义,默认为空
# snmpd_sysLocation:
# snmpd_sysContact:
# snmpd_sysName:
回退为使用 ansible 清单中的主机名作为 sysName
snmpd_sysName_ansible_inventory_hostname: true
构建视图
systemview
被赋予最常用的 OID 用于查看主机资源,all
定义了一个包含所有资源的视图。这是可选的。
snmpd_views:
- name: systemview
tree_object: .1.3.6.1.2.1.1
- name: systemview
tree_object: .1.3.6.1.2.1.25
- name: all
tree_object: .1
访问控制
这将定义名为 public
和 private
的社区,仅 localhost 可以访问。view
和 network
是可选的。对于 trapcommunity
,不应定义视图和网络。这部分是可选的。
snmpd_community_acl:
- type: rocommunity
community_name: public
view: systemview
network: 127.0.0.1
- type: rwcommunity
community_name: private
view: systemview
network: 127.0.0.1
- type: trapcommunity
community_name: trapcommunity
定义陷阱目的地
trapsink
用于发送 SNMPv1 陷阱,trap2sink
用于发送 SNMPv2 陷阱。通常应定义单一版本,否则目的地将接收到重复通知。端口的定义是可选的,默认值为 162。社区也是可选的,但如果使用,必须在访问控制中使用 snmpd_community_acl
定义为 trapcommunity
。
snmpd_trap_destionation:
- type: trapsink
host: 127.0.0.1
community: trapcommunity
port: 162
- type: trap2sink
host: 127.0.0.1
community: trapcommunity
port: 162
在 SNMP 认证失败时发送陷阱通知
snmpd_auth_traps: true
启用 agentx 主行为以实现扩展性
snmpd_enable_agentx: true
额外的 SNMP 配置
这允许定义额外的自定义配置参数
snmpd_additional_config: |
sysServices 72
proc mountd
proc ntalkd 4
proc sendmail 10 1
disk / 10000
disk /var 5%
includeAllDisks 10%
load 12 10 5
trapsink localhost public
iquerySecName internalUser
rouser internalUser
defaultMonitors yes
linkUpDownNotifications yes
extend test1 /bin/echo Hello, world!
extend-sh test2 echo Hello, world! ; echo Hi there ; exit 35
安装
ansible-galaxy install scathatheworm.net-snmp
许可证
gpl-2.0
下载
316
拥有者
IT stuff.