zoukankan      html  css  js  c++  java
  • 监控之snmpd 服务

    监控离不开数据采集,经常使用的Mrtg ,Cacti,Zabbix,等等监控软件都是通过snmp 协议进行数据采集的!

    1 什么是snmp 协议?

    简单网络管理协议(SNMP,Simple Network Management Protocol)构成了互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。它由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema),和一组资料物件。

    2 linux 系统下 snmp 服务配置

    2.1 snmpd 服务安装

    1. yum install net-snmp* 

    2.2 编辑snmpd.conf 配置文档

    1. vim /etc/snmp/snmpd.conf 
    2.  
    3. 41行 1将default 改为监控服务器ip;2 将public 改成复杂些的识别的字符串 
    4. com2sec notConfigUser  10.0.100.70      dongnan 
    5.  
    6. 62行 1将systemview 改为all,供所有snmp 访问权限 
    7. access  notConfigGroup ""      any       noauth    exact  all none none 
    8.  
    9. 85行 将#注释符号去掉 
    10. view all    included  .1                               80 

    2.3 启动 snmpd 服务

    1. /etc/init.d/snmpd start 

    2.4 验证snmpd 服务

    //snmpd 使用 tcp/udp 161 端口

    1. grep 'Simple Net Mgmt Proto' /etc/services  
    2. snmp        161/tcp             # Simple Net Mgmt Proto 
    3. snmp        161/udp             # Simple Net Mgmt Proto 
    1. lsof -i :161 
    2. COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME 
    3. snmpd   3734 root   11u  IPv4  13174       UDP *:snmp  
    4.  
    5. ps -ef | grep 'snmpd' 
    6. root      3734     1  0 09:34 ?        00:00:00 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a 

    2.5 修改snmpd 日志级别

    //以上操作能够满足snmpd 服务正常使用,不过snmpd 默认日志级别将会在/var/log/message 写入大量snmp 信息,这样会影响我们察看系统日志,所以我们需要更改下!

    1. Mar  1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:37535  
    2. Mar  1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:37535  
    3. Mar  1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:47836  
    4. Mar  1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:47836  

    //注释原有的OPTINOS,添加下面的一行,重启snmpd 服务即可。

    1. vim /etc/init.d/snmpd
    2.  
    3. #OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a" 
    4. OPTIONS="-LS 4 d -p /var/run/snmpd.pid -a" 
    5. /etc/init.d/snmpd restart
    6. Stopping snmpd: [ OK ]
    7. Starting snmpd: [ OK ]

     2.6 使用snmpwalk 命令验证

    1. snmpwalk -v 1 -c dongnan 192.168.57.82 
    2. snmpwalk -v 2c -c dongnan 192.168.57.71  
    3. -v是指版本,-c 是指密钥,获取到系统信息则正常!

    linux服务器开启 SSHD 服务后,在/var/log/messages和终端中经常有大量snmpd 信息 如下:

    snmpd[3099]: Received SNMP packet(s) from UDP: [192.168.2.251]:57919
    snmpd[3099]: Connection from UDP: [192.168.2.251]:59157
    snmpd[3099]: Received SNMP packet(s) from UDP: [192.168.2.251]:59157
    snmpd[3099]: Connection from UDP: [192.168.2.251]:40188
    snmpd[3099]: Received SNMP packet(s) from UDP: [192.168.2.251]:40188

    经查:是由于 cacti 每5分钟获取信息的日志。
    只要关闭 snmpd 日志即可。
    修改 snmpd 启动脚本
    vi /etc/init.d/snmpd
    OPTIONS=”-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a”
    修改为:
    OPTIONS=”-Ls3d -Lf /dev/null -p /var/run/snmpd.pid”

    snmpd日志等级的定义:
    0 或 ! —- LOG_EMERG,
    1 或 a —- LOG_ALERT,
    2 或 c —- LOG_CRIT,
    3 或 e —- LOG_ERR,
    4 或 w —- LOG_WARNING,
    5 或 n —- LOG_NOTICE,
    6 或 i —- LOG_INFO, and
    7 或 d —- LOG_DEBUG.

    重启 snmpd 即可。

    以上是网上的资料,最好把上边的改为以下效果,将-Ls3d去掉
    OPTIONS=”-Lf /dev/null -p /var/run/snmpd.pid”
    否则,服务器过段时间之后,日志中会有如下的信息提示:
    last message repeated N times

  • 相关阅读:
    hdu 1978 How many ways
    hdu 2209 翻纸牌游戏
    hdu 2149 Public Sale (博弈规律题)
    CF 353C Find Maximum #205 (Div. 2)
    barrier and Fence
    window coordinate
    GPU hang
    the application was unable to start correctly 0xc000007b
    vertex buffer 数据结构 如何读vb的memory pool
    map
  • 原文地址:https://www.cnblogs.com/wayne173/p/4342288.html
Copyright © 2011-2022 走看看