snmp+mrtg监控-note


被管理设备

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

网络管理代理

网管工作站

管理信息库(MIB)

网络管理协议

                  SNMPpv1SNMPv2 SNMPv3

161port

轮询polling

中断interrupe

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

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

wKiom1NF91HyCvrLAAA3yevyASk737.jpg


常用管理软件

wKiom1NF92XilnNhAAG9RhnFZSs089.jpg


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

wKiom1NF93uBUEykAAB2hyIn3Yg305.jpg

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

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

wKiom1NF95LBH-XuAAGykrSsbcE687.jpg

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

wKioL1NF933CsWLBAAIFbNpe634832.jpg

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

wKioL1NF95bjOYb1AAG_psjkycw925.jpg

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

wKioL1NF966iw1UyAAF_Pnaxkjs256.jpg

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

wKiom1NF9_CzTC0NAAHdu8MXN_o413.jpg

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

wKiom1NF-ArQmh4tAAFKE5_-0bg242.jpg

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

wKiom1NF-CSC9HuCAAF61nNxjJA482.jpg


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

                           /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

wKioL1NF-B7D2gnOAABMYru4Hus376.jpg     wKiom1NF-EeiIWKSAABg4BS0S3g555.jpg

wKioL1NF-B_g8sRSAAJyKjzNF0k507.jpg

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


你可能感兴趣的:(snmp+mrtg监控-note)