被管理设备

                  Router,switch, window server, linux server, printer…….

网络管理代理

网管工作站

管理信息库(MIB)

网络管理协议

                  SNMPpv1SNMPv2 SNMPv3

161port

轮询polling

中断interrupe

Udp协议所有报文都是有161port 但是trap使用162port

共同体名(community)(只读和读写)

snmp+mrtg监控-note_snmp+mrtg监控-note


常用管理软件

snmp+mrtg监控-note_snmp+mrtg监控-note_02


安装配置使用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

snmp+mrtg监控-note_snmp+mrtg监控-note_03

常用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 查看系统所有的oidoid名称

        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绘制监控图

snmp+mrtg监控-note_snmp+mrtg监控-note_04

安装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网卡

snmp+mrtg监控-note_snmp+mrtg监控-note_05

监视系统负载[1分钟+15分钟]

snmp+mrtg监控-note_snmp+mrtg监控-note_06

监视cpu负载[使用+闲置]

snmp+mrtg监控-note_snmp+mrtg监控-note_07

监视内存使用量[mem+swap]

snmp+mrtg监控-note_snmp+mrtg监控-note_08

监视硬盘空间[系统盘+数据盘]

snmp+mrtg监控-note_snmp+mrtg监控-note_09

监视打开的tcp连接数[tcp连接数]

snmp+mrtg监控-note_snmp+mrtg监控-note_10


根据配置文件生成图片和部分网页文件

                           /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

snmp+mrtg监控-note_snmp+mrtg监控-note_11     snmp+mrtg监控-note_snmp+mrtg监控-note_12

snmp+mrtg监控-note_snmp+mrtg监控-note_13

                  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 downplease 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 downplease 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