监控离不开数据采集,经常使用的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. Java Mail(三):Session、Message详解

    http://blog.csdn.net/ghsau/article/details/17909093 ************************************* 本文来自:高爽|Co ...

  2. FreeRTOS 定时器组

    以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 支持的定时器组,或者叫软件定时器,又或者叫用户定时器均可.软件定时器的功 ...

  3. The Tao Of Programming翻译

    The Tao Of Programming里面有许多道家思想,我也喜欢道家学说, 萌生了用文言文翻译的想法,不足之处还请方家指正. 翻译后的文档放在gitcafe上了,欢迎大家fork修正.

  4. love2d杂记9--光照效果

    光照效果需要用shader,这个我一直没学,现在时间较少,先放到这里,有时间我再补,如果大家 发现好的opengl shader教程(如果没记错的love2d用的是glsl 1.1),推荐一下. 这里 ...

  5. HTML中label的两种使用方法

    如果您在 label 元素内点击文本,就会触发此控件.就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上. 有两种使用方法: 方法1: <label for=" ...

  6. sql循环插入测试数据

    declare @i int set @i=1while @i<61 begin insert into T_RolePower values(1,@i,1)set @i=@i+1 end

  7. C++ 运算符重载二(一元运算符重载)

    //一元运算符重载 #include<iostream> using namespace std; class Point { public: Point(int x,int y){ th ...

  8. javascript -- 事件捕获,事件冒泡

    使用js的时候,当给子元素和父元素定义了相同的事件,比如都定义了onclick事件,单击子元素时,父元素的onclick事件也会被触发.js里称这种事件连续发生的机制为事件冒泡或者事件捕获. 为什么会 ...

  9. php -- PHP5中file_get_contents函数获取带BOM的utf-8文件内容

    最近,在用file_get_contents函数来取得文本的内容的时候,出现了一个情况(如下),苦思冥想了n久,不得其解,最后,果然还是得靠百度啊..... 百度到一个解释,下面是原文: PHP5中的 ...

  10. Frameset 两页面互调控件技术案例

    总共包含三个页面(Html),分别为Parent.Html.ChildA.Html.ChildB.Html Parent.Html页面代码 <frameset cols="50%,*& ...