1.修改snmp脚本,目录为:/etc/snmp/script
nbsysmon-snmp.sh内容如下:
#!/bin/sh
ps -A -o pid,%cpu,%mem,vsz,rsz,comm|grep systeminfo|awk 'BEGIN {c+=$2}{m+=$3}{v+=$4}{r+=$5}{n+=1}{p=$6} END {printf("%.2f\n%.2f\n%d\n%d\n%d\n%s\n",c,m,v,r,n,p)}'
2.然后修改snmp.conf,路径为:/etc/snmp/
增加如下内容:
# Add by renyp
exec .1.3.6.1.4.1.101.1 NewRelicSysMonUsage /etc/snmp/scripts/nrsysmon-snmp.sh
exec .1.3.6.1.4.1.101.2 NBSSysMonUsage /etc/snmp/scripts/nbsysmon-snmp.sh
exec .1.3.6.1.4.1.101.3 VALGRINDSysMonUsage /etc/snmp/scripts/valgrind-snmp.sh
pass_persist .1.3.6.1.3.1 /usr/bin/perl /etc/snmp/scripts//iostat-persist.pl
# Add by renyp end
3.通过命令测试配置是否通过
snmpwalk -v1 -c nbslens localhost .1.3.6.1.4.1.101.2
出现以下内容表示配置成功:
[root@test1 snmp]# snmpwalk -v1 -c nbslens localhost .1.3.6.1.4.1.101.2
SNMPv2-SMI::enterprises.101.2.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.101.2.2.1 = STRING: "NBSSysMonUsage"
SNMPv2-SMI::enterprises.101.2.3.1 = STRING: "/etc/snmp/scripts/nbsysmon-snmp.sh"
SNMPv2-SMI::enterprises.101.2.100.1 = INTEGER: 0
SNMPv2-SMI::enterprises.101.2.101.1 = STRING: "0.00" --cpu百分比
SNMPv2-SMI::enterprises.101.2.101.2 = STRING: "0.00" --内存百分比
SNMPv2-SMI::enterprises.101.2.101.3 = STRING: "132424" --虚拟内存
SNMPv2-SMI::enterprises.101.2.101.4 = STRING: "2184" --物理内存
SNMPv2-SMI::enterprises.101.2.101.5 = STRING: "1"
SNMPv2-SMI::enterprises.101.2.101.6 = STRING: "systeminfo"
SNMPv2-SMI::enterprises.101.2.102.1 = INTEGER: 0
SNMPv2-SMI::enterprises.101.2.103.1 = ""
4.在cacti中添加进程信息
在填写cacti信息时,OID最好先测试后填写,因为cacti没有提供编辑Graph功能,一旦创建错误,必须删除重新创建,所以在创建之前先测试ID。
如测试是否生成CPU百分比数据。
测试命令为:snmpwalk -v1 -c nbslens localhost .1.3.6.1.4.1.101.1
生成结果为没有报错即为配置成功。
还有填写title最好是可识别的。在图表展示的时候方便阅读。
5.在监控过程中还可以查看日志,看是否有错误信息。