Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1104205
  • 博文数量: 170
  • 博客积分: 1603
  • 博客等级: 上尉
  • 技术积分: 1897
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 15:54
文章分类

全部博文(170)

文章存档

2016年(27)

2015年(21)

2014年(27)

2013年(21)

2012年(7)

2011年(67)

我的朋友

分类: 系统运维

2011-04-15 16:39:34

生成snmp v3账号密码需要net-snmp-config这个脚本,这个脚本在snmp-devel中,这个开发包依赖很多其他的开发包,但是这个脚本本身对其他包没有依赖,所以直接从这个包里解压出来用就可以了

snmpd.conf中注释掉V1 V2协议,允许所有IP段
#       groupName      securityModel securityName
#group   notConfigGroup v1           notConfigUser
#group   notConfigGroup v2c           notConfigUser

# group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact all none none 
修改成all,原来是system-view

## incl/excl subtree mask
view all included .1 80
view前面的注释取消掉

关闭snmp
如果是新安装的snmp,需要用服务脚本先启动一次snmp再关闭,不然有些路径没有导致v3用户生成失败
删除原来的配置文件/var/net-snmp/snmpd.conf(这个是生成过v3用户才出现的)
创建用户
net-snmp-config --create-snmpv3-user -ro -a 密码-A MD5 -x 盐 -X DES 用户名
创建后/var/net-snmp/snmpd.conf中会有一行内容为createUser xxxx的内容
snmpd.conf末尾会追加你的v3用户组
开启snmpd后/var/net-snmp/snmpd.conf中内容会变为加密文
通过下面命令看是否返回本机网卡信息
snmpwalk -v3 -u 用户名 -l authPriv -a MD5 -A 密码 -x DES -X 盐 127.0.0.1 if


snmpd的服务启动脚本会读取/etc/sysconfig/snmpd.option的内容
几个snmpd版本的参数有点小区别,这里主要配置不写访问日志的参数,不然cacti每5分钟一条记录
redhat 5.4 
OPTIONS="-Ln -p /var/run/snmpd.pid -a"就不写入日志了
4.7没有n这个参数就要用f写入/dev/null,还要先LS指定日志等级
OPTIONS="-LS 3 d -Lf /dev/null -p /var/run/snmpd.pid -a"

snmpdiskio是cacti监控硬盘模板的脚本
snmpdiskio中增加函数(这个随便定义,方便起见直接用了原来一个模板调用的脚本)
function mysql()
{
        ps up `cat /var/run/mysqld/mysqld.pid ` | sed '1d' | awk 'BEGIN{ OFS="\n"} { print $3,$4,$5,$6 }'
}

case增加
        'mysql')
                mysql
        ;;
/etc/snmp/snmpd.conf追加
exec .1.3.6.1.4.1.2021.59 mysqlinfo /usr/local/bin/snmpdiskio mysql

重启snmpd后可以用
snmpwalk -v3 -u 用户 -l authPriv -a MD5 -A 密码 -x DES -X 盐 127.0.0.1 .1.3.6.1.4.1.2021.59
获得mysql的占用情况

再在cacti中增加相关自定义模板,OID用.1.3.6.1.4.1.2021.59.xxxxx,具体数字用snmpwalk返回内容选择

同理可用脚本检测任何脚本返回内容

top脚本snmpwalk返回错误
UCD-SNMP-MIB::ucdavis.55.101.1 = STRING: ".top: failed tty get"
但是远端脚本正确执行

原因是top需要一个tty来运行,加入-b参数正常返回值
top -bn 1 -p `cat /var/lib/mysql/localhost.localdomain.pid` | sed -n '8p' | awk 'BEGIN {OFS="\n"} { print $9,$10 }'
ps up `cat /var/lib/mysql/localhost.localdomain.pid` | sed '1d' | awk 'BEGIN{ OFS="\n"} { print $5,$6 }
阅读(4491) | 评论(0) | 转发(0) |
0

上一篇:apache JKmod

下一篇:cacti配置

给主人留下些什么吧!~~