监控之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 服务安装
- yum install net-snmp*
2.2 编辑snmpd.conf 配置文档
- vim /etc/snmp/snmpd.conf
- 41行 1将default 改为监控服务器ip;2 将public 改成复杂些的识别的字符串
- com2sec notConfigUser 10.0.100.70 dongnan
- 62行 1将systemview 改为all,供所有snmp 访问权限
- access notConfigGroup "" any noauth exact all none none
- 85行 将#注释符号去掉
- view all included .1 80
2.3 启动 snmpd 服务
- /etc/init.d/snmpd start
2.4 验证snmpd 服务
//snmpd 使用 tcp/udp 161 端口
- grep 'Simple Net Mgmt Proto' /etc/services
- snmp 161/tcp # Simple Net Mgmt Proto
- snmp 161/udp # Simple Net Mgmt Proto
- lsof -i :161
- COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
- snmpd 3734 root 11u IPv4 13174 UDP *:snmp
- ps -ef | grep 'snmpd'
- 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 信息,这样会影响我们察看系统日志,所以我们需要更改下!
- Mar 1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:37535
- Mar 1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:37535
- Mar 1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:47836
- Mar 1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:47836
//注释原有的OPTINOS,添加下面的一行,重启snmpd 服务即可。
- vim /etc/init.d/snmpd
- #OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
- OPTIONS="-LS 4 d -p /var/run/snmpd.pid -a"
- /etc/init.d/snmpd restart
- Stopping snmpd: [ OK ]
- Starting snmpd: [ OK ]
2.6 使用snmpwalk 命令验证
- snmpwalk -v 1 -c dongnan 192.168.57.82
- snmpwalk -v 2c -c dongnan 192.168.57.71
- -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 服务的更多相关文章
- snmpd 服务安装和配置(转载)
snmp rpm包安装步骤 https://blog.csdn.net/macrothunder/article/details/50394566 rpm包位置: http://rpm.pbone.n ...
- Zabbix如何监控Linux防火墙服务
今天在巡检的时候,突然想到Zabbix能否监控Linux的防火墙服务呢? 显然是可以的,但是Zabbix 5下默认的模板"Template OS Linux by Zabbix agent& ...
- 改造断路器集群监控Hystrix Turbine实现自动注册消费者、实时监控多个服务
在上一篇文章中,我们搭建了Hystrix Dashoard,对指定接口进行监控.但是只能对一个接口进行监听,功能比较局限: Turbine:汇总系统内多个服务的数据并显示到 Hystrix Dashb ...
- zabbix企业级监控dell硬件服务状态
监控dell服务的硬件状态,一般有两种方式 第一,在操作熊上安装OMSA,编写脚本调用omreport命令进行监控 第二.使用IDRAC,只需开启在IARAC上的SNMP,zabbix通过snmp进行 ...
- zabbix 3.4 直接 发现端口并作存活监控(带服务名)
客户端配置 1.脚本 [root@es1 home]# cat /home/port_service.sh #!/bin/bash#by Mr.lu#su rootportarray=(`sudo - ...
- 使用SpringBoot Admin监控SpringCloud微服务
spring-boot admin的github地址:https://github.com/codecentric/spring-boot-admin 本文基于SpringCloud的环境和配置上增加 ...
- springcloud的Turbine配置监控多个服务的一些坑!!!!InstanceMonitor$MisconfiguredHostException,No message available","path":"/actuator/hystrix.stream,页面不显示服务或者一直loading
踩了几个小时坑,使用仪表盘监控单个服务的时候很容易,但是一到多个服务,瞬间坑就来了,大概碰到下面三个: 1InstanceMonitor$MisconfiguredHostException, No ...
- 11.OpenStack 安装监控和业务流程服务
安装业务流程模块 安装和配置业务流程 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE heat; GRANT ALL PRIVILEGES ON heat.* ...
- 使用Spring开发和监控线程池服务
第1步:添加maven 项目 第2步:添加依赖库 将Spring的依赖添加到Maven的pom.xml文件中. 1 2 3 4 5 6 7 8 9 10 11 <!-- Spring 3 dep ...
随机推荐
- Windows操作系统下 使用c++ WIN32API禁用控制台最小化和关闭按钮
#include<Windows.h> //屏蔽控制台最小按钮和关闭按钮 HWND hwnd = GetConsoleWindow(); HMENU hmenu = GetSystemMe ...
- Error C2280
原因:默认参数用的assignment,而不是reference,要知道ostream并没有实现copy constructor/assignment operator(通过bing.com搜索Err ...
- Git出现error: Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge.的问题解决(Git代码冲突)
在使用git pull拉取服务器最新版本时,如果出现error: Your local changes to the following files would be overwritten by m ...
- saveFileDialog对话框
private void button1_Click(object sender, EventArgs e) { saveFileDialog1.Filter = "*.txt|*.txt| ...
- 使用submit异步提交,阻止表单默认提交
<form id="addForm" onSubmit="return false;"> <input type="submit&q ...
- Ajax的两个用法
1.实现的效果是:通过一个函数,里面调用Ajax,函数的返回值是Ajax成功调用之后得到的返回值. 用jQuery进行简单的演示: function getRobotInfo(id) { var ip ...
- web.xml文件中<mime-mapping>
http://blog.csdn.net/sccemstanford/article/details/9064155 ————————————————————————————————————————— ...
- boost 互斥体和锁
1.共享资源是一个自动锁住的房间,互斥体是钥匙,进入房间必须取钥匙,离开房间应该还钥匙.这就对应着互斥体的lock(取钥匙)和unlock(还钥匙). 2.考虑下面的场景:还钥匙的时候出现异常,会发生 ...
- 函数 free 的原型
函数 free 的原型如下: void free( void * memblock ); 为什么 free 函数不象 malloc 函数那样复杂呢? 这是因为指针 p 的类型以及它所指 的内存的容量事 ...
- 单引號转义符q’的使用
当字符串包括单引號时,能够使用转义符q'对单引號进行转义. q'后面的字符能够是: ! [ ] { } ( ) < > 前提是这些字符不会出如今兴许 ...