监控离不开数据采集,经常使用的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. 41行 1将default 改为监控服务器ip;2 将public 改成复杂些的识别的字符串
  3. com2sec notConfigUser  10.0.100.70      dongnan
  4. 62行 1将systemview 改为all,供所有snmp 访问权限
  5. access  notConfigGroup ""      any       noauth    exact  all none none
  6. 85行 将#注释符号去掉 
  7. 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. ps -ef | grep 'snmpd'
  5. 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. #OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
  3. OPTIONS="-LS 4 d -p /var/run/snmpd.pid -a"
  4. /etc/init.d/snmpd restart
  5. Stopping snmpd: [ OK ]
  6. 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

监控之snmpd 服务的更多相关文章

  1. snmpd 服务安装和配置(转载)

    snmp rpm包安装步骤 https://blog.csdn.net/macrothunder/article/details/50394566 rpm包位置: http://rpm.pbone.n ...

  2. Zabbix如何监控Linux防火墙服务

    今天在巡检的时候,突然想到Zabbix能否监控Linux的防火墙服务呢? 显然是可以的,但是Zabbix 5下默认的模板"Template OS Linux by Zabbix agent& ...

  3. 改造断路器集群监控Hystrix Turbine实现自动注册消费者、实时监控多个服务

    在上一篇文章中,我们搭建了Hystrix Dashoard,对指定接口进行监控.但是只能对一个接口进行监听,功能比较局限: Turbine:汇总系统内多个服务的数据并显示到 Hystrix Dashb ...

  4. zabbix企业级监控dell硬件服务状态

    监控dell服务的硬件状态,一般有两种方式 第一,在操作熊上安装OMSA,编写脚本调用omreport命令进行监控 第二.使用IDRAC,只需开启在IARAC上的SNMP,zabbix通过snmp进行 ...

  5. zabbix 3.4 直接 发现端口并作存活监控(带服务名)

    客户端配置 1.脚本 [root@es1 home]# cat /home/port_service.sh #!/bin/bash#by Mr.lu#su rootportarray=(`sudo - ...

  6. 使用SpringBoot Admin监控SpringCloud微服务

    spring-boot admin的github地址:https://github.com/codecentric/spring-boot-admin 本文基于SpringCloud的环境和配置上增加 ...

  7. springcloud的Turbine配置监控多个服务的一些坑!!!!InstanceMonitor$MisconfiguredHostException,No message available","path":"/actuator/hystrix.stream,页面不显示服务或者一直loading

    踩了几个小时坑,使用仪表盘监控单个服务的时候很容易,但是一到多个服务,瞬间坑就来了,大概碰到下面三个: 1InstanceMonitor$MisconfiguredHostException, No ...

  8. 11.OpenStack 安装监控和业务流程服务

    安装业务流程模块 安装和配置业务流程 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE heat; GRANT ALL PRIVILEGES ON heat.* ...

  9. 使用Spring开发和监控线程池服务

    第1步:添加maven 项目 第2步:添加依赖库 将Spring的依赖添加到Maven的pom.xml文件中. 1 2 3 4 5 6 7 8 9 10 11 <!-- Spring 3 dep ...

随机推荐

  1. Jquery弹窗

    <title>弹窗</title> <script src="JS/jquery-1.7.2.js"></script> <s ...

  2. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

    转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...

  3. ubuntu server执行sudo出现"no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory"

    [Ubuntu] 執行 sudo 時,出現 "no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory ...

  4. Extjs DateField Bug 当format为年月'Y-m',在当前月(30、31号)选择其他偶数月会乱跳的问题解决方案

    Ext.form.WMDateField = Ext.extend(Ext.form.DateField, { safeParse : function(value, format) { if (/[ ...

  5. C语言 · 素数判断

     算法提高 素数判断   时间限制:1.0s   内存限制:512.0MB      编写一函数IsPrime,判断某个大于2的正整数是否为素数. 样例输入: 5样例输出:yes 样例输入: 9样例输 ...

  6. Spark的操作列表

    Action 操作1. collect() ,返回值是一个数组,返回dataframe集合所有的行2. collectAsList() 返回值是一个java类型的数组,返回dataframe集合所有的 ...

  7. 如何解决redis高并发客户端频繁time out?

    解决方案:https://www.zhihu.com/question/24781521

  8. 关于Cocos2d-x开发一个游戏的过程自述

    我在2016年12月6号完成了我的第一个自己独立完成的游戏,期间遇到各种各样的问题和困难,但是幸运的是问题都一一被解决了,现在我想总结一个整个的制作游戏的过程 使用的环境是VS2013+cocos2d ...

  9. 使用JavaScript 和 CSS 实现图像缩放和剪裁(转)

    英文原文:Scale and Crop an Image using Javascript and CSS 在页面上需要裁减和缩放一张图片是一个常见问题.缩放图片比较简单的方法是使用image的hig ...

  10. 【Cubian】set up

    源: http://mirrors.163.com/.help/debian.html https://lug.ustc.edu.cn/wiki/mirrors/help/debian 下载地址: h ...