被管理设备
Router,switch, window server, linux server, printer…….
网络管理代理
网管工作站
管理信息库(MIB)
网络管理协议
SNMPpv1SNMPv2 SNMPv3
161port
轮询polling
中断interrupe
Udp协议所有报文都是有161port 但是trap使用162port
共同体名(community)(只读和读写)
常用管理软件
安装配置使用snmp
安装snmp
rpm –qa | grep net-snmp
yum install –y net-snmp*
修改配置文件snmpd.conf
rocommunitypublic
disk/ 100000
disk/boot 10000000
启动服务
Servicesnmpd restart
Netstat–tunpl | grep 161
Netstat–tunpl | 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 –cpublic localhost –m all 查看系统所有的oid及oid名称
Snmptranslate–Td .1.3.6.1.4.1.2021.9.1.8.1查看oid的描述
Snmptranslate–T1 .1.3.6.1.4.1.2021.9.1.8.1查看单个oid的描述
Snmptranslate–Td .1.3.6.1.4.1.2021.9.1.8.1查看整个oid的全称
Snmpget–v1 –cpublic localhost .1.3.6.1.4.1.2021.9.1.8.1查看oid的名称和值
Mrtg绘制监控图
安装mrtg
Rpm–qa | grep mrtg
Yuminstall –y 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 –e
*/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 –w 3 & >/dev/null
#nc just like telete and stat 3s at 80port
h=‘echo $?’
if [ $h –ne 0 ]
then
echo “httpd is down ” | mail –s “webmonitor” admin@davy.org
fi
#################### apache##################
/usr/bin/nc localhost 80 –w 3 & >/dev/null
#nc just like telete and stat 3s at 80port
h=‘echo $?’
if [ $h –ne 0 ]
then
echo “apache‘s 80 port is down,please startthe apache progress now l start it ” | mail –s “apache is down” admin@davy.org
/usr/local/apache2/bin/apachectl start >/dev/null
fi
######################## mysql ################################
#mysql
/usr/bin/nc localhost 3306 –w 3 & >/dev/null
#nc just like telete and stat 3s at 80port
h=‘echo $?’
if [ $h –ne 0 ]
then
echo “mysql‘s 3306 port is down,please startthe mysqld progress now l start it ” | mail –s “mysqld is down” admin@davy.org
/usr/local/mysql/bin/mysqld_safe–user=mysql & > /dev/null
fi
######################## disk ################################
#disk
Num=`df | awk ‘NR==3{print int($4)}’`
If [ $num –ge 90 ]
Then
echo “the disk is more than 90%,it is $num”| mail –s “disk will full” admin@davy.org
fi
计划任务
Crontab –e
*/5 * * * * /root/monitor.sh