snmpd.conf的基础配置

snmpd.conf的基础配置

当下的 SNMP 服务器通常用来被诸如 Nagios、Cacti、Zabbix 等监控软件收集数据,SNMP 的很多高级特性用的不是特别频繁。因而只需对 SNMP 进行一些简单、基础的配置以满足各种监控软件的需求。

通常 SNMP 服务的配置文件位于 /etc/snmp/snmpd.conf,先来看一下这个文件:

有以上这些配置其实已经能够基本满足大多数需求了,还算是比较简单的,配置 SNMP 可以参考以下步骤:

1. 首先定义一个共同体名称(community),这里是 public ,及可以访问这个 public 的用户名(sec name),这里是 notConfigUser 。public 相当于用户 notConfigUser 的密码。

2. 定义一个组名(groupName)这里是 notConfigGroup,及组的安全级别,把 notConfigGroup 这个用户加到这个组中。

3. 定义一个可操作的视图(view)名, 这里是 all,范围是 .1。

4. 定义 notConfigUser 这个组在 all 这个视图范围内可做的操作,这时定义了 notConfigUser 组的成员可对 .1 这个视图做只读操作。

这样对 snmpd.conf 文件就基本完成了,用 service snmpd restart 重启 snmpd 服务。

之后,我们需要一个测试,验证 SNMP 配置的正确性。在监控主机中执行以下命令:

上述信息说明 SNMP 已经正常工作了。

现在我们在目标主机上来写一些脚本来获取 Memory、CPU、DiskIO 等状态。

Memory 脚本:

CPU 脚本:

Disk I/O 脚本:

现在我们已经能得到这数据了,怎么才能让监控主机通过 snmpd 得到这些数据呢?可以在目标主机的 /etc/snmp/snmpd.conf 文件中加入这些配置:

这样在监控主机上运行:

[root@chenyi ~]# snmpwalk -v 1 192.168.1.220 -c public .1.3.6.1.4.1.2021.53

其中 UCD-SNMP-MIB::ucdavis.53.101.1 = STRING: “442″ 中的 442 就是 mem.sh 输出的第一个数据,1006 是 mem.sh 输出的第二个数据。

略作修改:(此处参照其他文章)

我们已经通过 snmpd 从监控主机上得到了目标主机上内存使用状态的两个参数,其它脚本也是一样的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章