Zabbix的SNMPTrap监控配置[通俗易懂]

Zabbix的SNMPTrap监控配置[通俗易懂]SNMPTrap监控主要用于设备发生故障时的主动通知的监控。以下简单记录下Zabbix的SNMPTrap的配置方法。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

SNMPTrap监控主要用于设备发生故障时的主动通知的监控。以下简单记录下Zabbix的SNMPTrap的配置方法。

一、SNMPTrap监控的处理流程说明

   1.监控对象发送SNMPTrap信息到snmptrapd(Net-SNMP)服务器,

   2.snmptrapd服务器将接收到的SNMPTrap信息发送给SNMPTT(或者Perl trap receiver),

   3.NMPTT(或者Perl trap receiver)将按照指定的数据格式将SNMPTrap信息写入SNMPTrapperFile,

   4.Zabbix服务器的snmptrapper进程将读取SNMPTrapperFile的内容,对其进行解析,将值传递给对应的监控对象,并保存数据到DB。

   ※流程参考下图(使用SNMPTT的地方均可使用Perl trap seceiver脚本代替):

   Zabbix的SNMPTrap监控配置[通俗易懂]

二、Linux的Zabbix服务器上的SNMPTrap的配置设定   

环境说明: 

ZabbixServer的环境是CentOS release 6.5 (Final),SNMPTrapd,SNMPTT等全部在ZabbixServer上进行设置。

1.首先我们需要在ZabbixServer上安装SNMPTrapd(即NET-SNMP)来接收监控对象发送来的SNMPTrap信息。

1)首先安装SNMPTrapd(NET-SNMP),

# yum install -y net-snmp net-snmp-utils net-snmp-perl

2)接来下设置SNMPTrap的Community名称自己处理SNMPTrap信息的处理器(或者说处理方法):

# vim /etc/snmp/snmptrapd.conf
添加如下内容:
authCommunity log,execute,netpublic             
 
#### 配置community名称,这里设置为public,  也进行用认证:
disableAuthorization yes
traphandle default /usr/sbin/snmptthandler        
#### 配置SNMPTrap信息的处理器,这设置为SNMPTT,也可以设置成其他Perl脚本处理,比如
perl do “/usr/local/zabbix/bin/zabbix_trap_receiver.pl “

3)设置SNMPTrapd的启动脚本的选项
# vim /etc/init.d/snmptrapd

### 某些OS版本的路径可能是/etc/rc.d/init.d/snmptrapd
更改如下内容:
OPTIONS=”-Lsd -p /var/run/snmptrapd.pid” 

↓ ↓ ↓(更改成如下) ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

OPTIONS=”-On -Lsd -p /var/run/snmptrapd.pid”

#### 根据SNMPTT的文档说明,由于版本问题,可能会导致MIB文件无法正确翻译,所以最好是加上-On参数。
#### 参考文件http://snmptt.sourceforge.net/docs/snmptt.shtml#Installation-Overview
#### 
Note:  The -On is recommended.  This will make snmptrapd pass OIDs in numeric form and prevent SNMPTT from having to translate the symbolic name to numerical form.  If the
 
UCD-SNMP / Net-SNMP Perl module is not installed, then you MUST use the -On switch.  Depending on the version of UCD-SNMP / Net-SNMP, some symbolic names may not translate correctly.  See the FAQ for more info.

4)设置SNMPTrapd自动启动并重新启动服务
# chkconfig snmptrapd on
# service snmptrapd restart 

2.同样在ZabbixServer上安装设置SNMPTrap信息的处理器(这里采用SNMPTT方式进行)

1)安装SNMPTT(这里采用yum安装方式进行)
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm   
# yum install snmptt
### 以上的rpm可以根据OS的版本选择合适的yum库进行安装。

2)配置SNMPTT,设置基本信息

# vim /etc/snmp/snmptt.ini

修改如下内容:

date_time_format=  %Y/%m/%d %H:%M:%S

#### 设置时间格式,读取的SNMPTrap信息之后写入SNMPTrapperFile里的时间格式,也是ZabbixTrapper读取时的时间格式
syslog_enable = 0    
#### 默认值为1,设置成0,表示不将日志记录入syslog,不过该参数为可选参数,可直接默认值即可。
log_file = /var/log/snmptt/snmptt.log

#### 这里指定了SNMPTrapperFile,默认/var/log/snmptt/snmptt.log,无需更改。
[TrapFiles]

snmptt_conf_files = <<
END

/etc/snmp/snmptt.conf

END
#### 这一段代码记录了使用那些规则文件处理SNMPTrap信息,默认值如上,简单处理中无需更改该配置。
#### 该文件可以设置成多个文件,在
END之前添加文件即可。


3)设置处理数据的格式规则
这里只说最简单的例子,配置文件按照snmptt.ini的默认设置snmptt.conf进行配置。
# touch /etc/snmp/snmptt.conf
# vim /etc/snmp/snmptt.conf
添加如下内容:
EVENT general .* “General event” Normal
FORMAT ZBXTRAP $aA $1

#### 以上是设置的是表示默认规则,即没有其他匹配规则时,所有trap信息都将按照以上规则处理,

#### (OID信息为:[
.1.3.6.1.4.1.232.0.11001],而[.*]匹配了所有OID信息)

备注
为了和Zabbix做连接需要,snmptt.conf中的配置具有一定的规则,这将在其他文章另行记录。
本文只简单说明为了实现Zabbix的SNMPTrap监控需要进行哪些设置。
不需要根据OID来具体区分的情况下,以上配置即足够了。

4)创建SNMPTrapperFile文件(默认为/var/log/snmptt/snmptt.log)
# touch /var/log/snmptt/snmptt.log
# chown snmptt:snmptt /var/log/snmptt/snmptt.log

5)配置以上日志轮询

yum安装的情况下默认已经配置好,无需再设置。这里将需要自己配置时的配置内容贴出来供参考。
# vim etc/logrotate.d/snmptt

里面内容如下:

/var/log/snmptt/snmptt*.log /var/log/snmptt/snmptthandler.debug {

 weekly

 notifempty

 missingok

}

/var/log/snmptt/snmptt.debug {

 weekly

 notifempty

 missingok

 postrotate

 /etc/init.d/snmptt reload >/dev/null 2>/dev/null || true

 endscript

}


6)设置SNMPTT自动启动并重新启动服务
# chkconfig snmptt on
# service snmptt restartr

以上SNMPTT的配置即结束。



3.配置Zabbix以接收/读取SNMPTrapperFile的信息

1)启用SNMPTRAP监控并指定SNMPTrapperFile信息
# vim /usr/local/zabbix/etc/zabbix_server.conf

#### 以上文件路径可能和安装方式不同所有不同,需要根据具体情况而定。

修改如下内容:
StartSNMPTrapper=1
SNMPTrapperFile=/var/log/snmptt/snmptt.log 

#### SNMPTrapperFile文件可根据具体情况进行修改

2)重启Zabbix服务
# service zabbix_server restart

三、在Zabbix系统上进行配置监控

1、创建监控对象

  可新规创建监控对象,也可直接在已有的对象上添加一个SNMP接口:
Zabbix的SNMPTrap监控配置[通俗易懂]
Zabbix的SNMPTrap监控配置[通俗易懂]


另外,在SNMPTrap中配置的community信息需要和监控对象上配置的一致,和默认值不一样时可以在Macros中使用{$SNMP_COMMUNITY}进行指定。
Zabbix的SNMPTrap监控配置[通俗易懂]
Zabbix的SNMPTrap监控配置[通俗易懂]


2、创建ITEM

有两种ITEM可以创建,一种是SNMPTrap[regexp]以及SNMPTrap.fallback两种,
本文以上的例子则可创建2个ITEM,一个是SNMPTrap[regexp]格式的内容:
Zabbix的SNMPTrap监控配置[通俗易懂]
Zabbix的SNMPTrap监控配置[通俗易懂]

另一个是SNMPTrap.fallback,表示未匹配的值全部识别为该ITEM
Zabbix的SNMPTrap监控配置[通俗易懂]
Zabbix的SNMPTrap监控配置[通俗易懂]





这个配置接完成了。

四、测试以上配置是否成功

在被监控对象上发送测试的命令或者是图形界面的话也发送测试消息。
以下是使用命令发送测试消息的格式:
snmptrap -v <SNMP版本> -c <community名> <ZabbixServer的IP地址> ” <OID>[ s ‘文字消息>’]


例如:
假设发送命令的被监控对象为192.168.1.1
# snmptrap -v 2c -c public 192.168.0.1  '' .1.3.6.1.6.3.1.1.5.3
# snmptrap -v 2c -c public 192.168.0.1  '' .1.3.6.1.6.3.1.1.5.4
# snmptrap -v 2c -c public 192.168.0.1  '' .1.3.6.1.6.3.1.1.5.5

则在/var/log/snmptt/snmptt.log中显示的如下:

# tail -f /var/log/snmptt/smmptt.log

显示内容如下:

2017/03/31 05:33:04 .1.3.6.1.6.3.1.1.5.3 Normal "Geranal event" 192.168.1.1 - ZBXTRAP 192.168.1.1 192.168.1.1
2017/03/31 05:34:24 .1.3.6.1.6.3.1.1.5.4 Normal "Gerenal event" 192.168.1.1 - ZBXTRAP 192.168.1.1 192.168.1.1
2017/03/31 05:34:26 .1.3.6.1.6.3.1.1.5.5 Normal "Gerenal event" 192.168.1.1 - ZBXTRAP 192.168.1.1 192.168.1.1

然后在Zabbix系统上配置的监控对象上,也可以看到以上配置的SNMPTrap的ITEM的值,类似如下:

Zabbix的SNMPTrap监控配置[通俗易懂]
Zabbix的SNMPTrap监控配置[通俗易懂]

以上,则表示能够正常收到信息,配置成功。





















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171379.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 什么是云服务器ECS?云服务器ECS详解

    什么是云服务器ECS?云服务器ECS详解什么是云服务器ECS?云服务器ECS详解一、前言二、云服务器ECS详解为什么选择云服务器ECS?产品架构产品定价管理工具部署建议相关服务三、写在后面的话叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!一、前言云服务器ecs有什么作用?现在越来越多的企业都开始将服务器迁移至云端,云技术的应用十分广泛,其中之一就体现在云服务器的使用上,凭借更加简单的操作与便利等优势,云服务器可谓深受众多企业青睐二、云服务器ECS详解云服务器(ElasticComp

  • two bin system_system系统目录是什么

    two bin system_system系统目录是什么这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件, 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。\system\app\AlarmClock.apk 闹钟\system\app\AlarmClock.odex\system\app\Browser.apk 浏览器\system\app\Browser.

    2022年10月10日
  • 30 个重要数据结构和算法完整介绍建议保存

    30 个重要数据结构和算法完整介绍建议保存数据结构和算法(DSA)通常被认为是一个令人生畏的话题——一种常见的误解。它们是技术领域最具创新性概念的基础,对于工作/实习申请者和有经验的程序员的职业发展都至关重要。话虽如此,我决定在CSDN新星计划挑战期间将我所了解的数据结构和算法集中起来。本文旨在使DSA看起来不像人们认为的那样令人生畏。它包括15个最有用的数据结构和15个最重要的算法,可以帮助您在学习中和面试中取得好成绩并提高您的编程竞争力。后面等我还会继续对这些数据结构和算法进行进一步详细地研究讲解。

  • python hashlib安装_Hashlib加密,内置函数,安装操作数据库「建议收藏」

    python hashlib安装_Hashlib加密,内置函数,安装操作数据库「建议收藏」hashlib模块的md5加密:md5同样的内容加密后是一样的md5加密后是不可逆的。即能加密,没办法解密。撞库:只是针对简单的,因为同样的内容加密后是一样的,难一点就不行了。登录密码:注册时候加密了保存,在登录时再加密,对比加密后内容一致即符合条件登录加盐:目的是增加复杂性。在该加密的内容上,再加上定好的一段儿内容,一同加密。在加上的这段内容,就是1importhashlib2#impor…

  • LaTeX 数学公式大全!

    LaTeX 数学公式大全!LaTeX数学公式大全!这里是来自一篇教程的截图,很全面。

  • 钩子函数介绍(vue11个钩子函数)

    钩子(hook)又称钩子函数,是在一个有序的周期中的某些特殊时刻,系统内部预先设置好的函数,当系统周期到达指定时刻会自动执行该’钩子’。钩子函数的函数体内容由开发者编写,这绐了幵发者在不同阶段做某些处理的机会。钩子是很多开发语言,前后端都会涉及的概念,是一种形象的说法,源于Windows的消息处理机制。通过设置钩子,应用程序在消息过去前将其钩住,阻止其传递,然后优先处理开发者的自定义内容,俗称’下个钩子’。系统:初始化..钩子ready()运行..钩子beforeEnd(…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号