被管理设备
Router,switch, window server, linux server, printer…….
网络管理代理
网管工作站
管理信息库(MIB)
网络管理协议
SNMPpv1SNMPv2 SNMPv3
161port
轮询polling
中断interrupe
Udp协议所有报文都是有161port 但是trap使用162port
共同体名(community)(只读和读写)
常用管理软件
安装配置使用snmp
安装snmp
rpm �Cqa | grep net-snmp
yum install �Cy net-snmp*
修改配置文件snmpd.conf
rocommunitypublic
disk/ 100000
disk/boot 10000000
启动服务
Servicesnmpd restart
Netstat�Ctunpl | grep 161
Netstat�Ctunpl | grep 162
Chkconfig--list | grep snmp
Chkconfig--level 35 snmpd on
Linux System oid
常用system oid
Linux系统负载
1分钟负载.1.3.6.1.4.1.2021.10.1.5.1
15分钟负载.1.3.6.1.4.1.2021.10.1.5.3
Linuxcpu使用和空闲
Cpu使用率.1.3.6.1.4.1.2021.11.50.0
Cpu空闲率.1.3.6.1.4.1.2021.11.53.0
Linux内存使用量
内存使用量.1.3.6.1.2.1.25.2.3.1.6.2
Swap使用量.1.3.6.1.2.1.25.2.3.1.6.3
Linux系统进程数
系统当前的进程数.1.3.6.1.2.1.25.1.6.0
Linux硬盘空间
根分区.1.3.6.1.4.1.2021.9.1.8.1
/boot分区.1.3.6.1.4.1.2021.9.1.8.2
Linuxtcp连接数.1.3.6.2.1.6.9.0
Snmp常用指令
Snmpwalk-v1 �Ccpublic localhost �Cm all 查看系统所有的oid及oid名称
Snmptranslate�CTd .1.3.6.1.4.1.2021.9.1.8.1查看oid的描述
Snmptranslate�CT1 .1.3.6.1.4.1.2021.9.1.8.1查看单个oid的描述
Snmptranslate�CTd .1.3.6.1.4.1.2021.9.1.8.1查看整个oid的全称
Snmpget�Cv1 �Ccpublic localhost .1.3.6.1.4.1.2021.9.1.8.1查看oid的名称和值
Mrtg绘制监控图
安装mrtg
Rpm�Cqa | grep mrtg
Yuminstall �Cy mrtg*
Mrtg流量图的实现过程
Snmp调试
修改mrtg配置文件
HtmlDir:/var/www/mrtg
ImageDir:/var/www/mrtg
LogDir:/var/lib/mrtg
ThreshDir:/var/lib/mrtg
监视eth1网卡
监视系统负载[1分钟+15分钟]
监视cpu负载[使用+闲置]
监视内存使用量[mem+swap]
监视硬盘空间[系统盘+数据盘]
监视打开的tcp连接数[tcp连接数]
根据配置文件生成图片和部分网页文件
/usr/bin/mrtg /etc/mrtg/mrtg.cnf会出错再执行三次env /usr/bin/mrtg /etc/mrtg/mrtg.cnf即可
Crontab �Ce
*/2 * * * *env /usr/bin/mrtg /etc/mrtg/mrtg.cnf
或使用
Vi/etc/cron.d/mrtg
*/2 * * * *env LC=C /usr/bin/mrtg /etc/mrtg/mrtg.cnf --lock-file/var/lock/mrtg/mrtg_1 --confcache-file /var/lib/mrtg/mrtg.ok
生成首页index.html
Indexmaker--output /var/www/mrtg/index.html --title=“System state Monitor”/etc/mrtg/mrtg.cfg
Cat/etc/httpd/conf/mrtg.cnf >> /usr/local/apache2/etc/httpd.conf
Cron轮循生成监控图片文件
Vi /etc/cron.d/mrtg
*/2 * * * *env LC=C /usr/bin/mrtg /etc/mrtg/mrtg.cnf --lock-file/var/lock/mrtg/mrtg_1 --confcache-file /var/lib/mrtg/mrtg.ok
Shell脚本实现邮件报警-web
Vi /root/monitor.sh
#!/bin/bash
#monitor.sh
################# web monitor##################
/usr/bin/nc localhost 80 �Cw 3 & >/dev/null
#nc just like telete and stat 3s at 80port
h=‘echo $?’
if [ $h �Cne 0 ]
then
echo “httpd is down ” | mail �Cs “webmonitor” [email protected]
fi
#################### apache##################
/usr/bin/nc localhost 80 �Cw 3 & >/dev/null
#nc just like telete and stat 3s at 80port
h=‘echo $?’
if [ $h �Cne 0 ]
then
echo “apache‘s 80 port is down,please startthe apache progress now l start it ” | mail �Cs “apache is down” [email protected]
/usr/local/apache2/bin/apachectl start >/dev/null
fi
######################## mysql ################################
#mysql
/usr/bin/nc localhost 3306 �Cw 3 & >/dev/null
#nc just like telete and stat 3s at 80port
h=‘echo $?’
if [ $h �Cne 0 ]
then
echo “mysql‘s 3306 port is down,please startthe mysqld progress now l start it ” | mail �Cs “mysqld is down” [email protected]
/usr/local/mysql/bin/mysqld_safe�Cuser=mysql & > /dev/null
fi
######################## disk ################################
#disk
Num=`df | awk ‘NR==3{print int($4)}’`
If [ $num �Cge 90 ]
Then
echo “the disk is more than 90%,it is $num”| mail �Cs “disk will full” [email protected]
fi
计划任务
Crontab �Ce
*/5 * * * * /root/monitor.sh