snmptrap接受日志在哪里查看_zabbix利用SNMPTrap接收交换机主动告警

本文详细介绍了如何配置Zabbix通过SNMPTrap接收交换机的主动告警。首先,通过安装和配置snmptrapd,设置trap接收器snmptt,然后调整snmptt.ini和snmptrapd.conf文件以处理和格式化trap信息。接着,启动和监控相关服务,确保snmptrapd和snmptt正常运行。最后,在Zabbix server中开启SNMPTrapper功能并配置监控项,以便解析和处理接收到的trap数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zabbix接收trap的工作流程:

snmptrapd 收到trap

snmptrapd将trap传递给SNMPTT或调用Perl接收器

SNMPTT或Perl trap接收器解析,格式化并将trap写入文件

Zabbix SNMP trap读取并解析trap文件

对于每个trap,Zabbix发现主机接口与接收的trap地址匹配的所有“SNMP trap”监控项。请注意,在匹配期间只使用主机接口中选定的“IP”或“DNS”。

对于每个找到的监控项,将trap与“snmptrap[regexp]”中的regexp进行比较。 trap设置为all匹配项的值。如果没有找到匹配的监控项,并且有一个“snmptrap.fallback”监控项,则将trap设置为该值。

如果trap未设置为任何监控项的值,Zabbix默认记录不匹配的trap。(这由管理 - >常规 - >其它中的“记录不匹配的SNMP trap(Log unmatched SNMP traps)”配置。)

一、安装配置snmptrapd

1、yum install -y net-snmp net-snmp-utils net-snmp-perl    #安装net-snmp及相关工具(里面包含SNMPTrapd)

2、vim /etc/snmp/snmptrapd.conf

authCommunity   log,execute,net 团体名       #指定团体名

traphandle default /usr/sbin/snmptthandler    #指定snmptt为trap接收器,此时还没安装snmptt

3、systemctl start snmptrapd    #启动snmptrapd

4、systemctl enable snmptrapd    #加入开机启动项

5、交换机开启snmp和snmptrap,并指定团体名和trap目标主机IP

6、tail -F /var/log/messages    #打开并跟踪日志

7、手动关闭交换机端口,触发告警,验证snmptrapd是否能正常接收trap

二、安装配置snmptt

1、yum -y install epel-release   #安装EPRL源

2、yum -y install snmptt    #安装snmptt

3、systemctl start snmptt    (启动报错:Could not load Perl module Sys::Syslog!)

4、systemctl status snmptt -l   #查看出错信息,缺少perl-syslog

5、yum -y install perl-Sys-Syslog    #安装perl-syslog

6、vim /etc/snmp/snmptt.ini    #修改配置文件

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

net_snmp_perl_enable= 1translate_log_trap_oid= 2 # 0:数字形式显示OID,1:显示OID名称,2:显示OID所属模块名及其名称

log_file= /var/log/snmptt/snmptt.log #默认

7、mv /etc/snmp/snmptt.conf /etc/snmp/snmptt.conf.bak    #备份规则文件

8、vim /etc/snmp/snmptt.conf    #自定义trap格式化规则

#匹配Linkdown的规则

EVENT LinkDown .1.3.6.1.6.3.1.1.5.3 "Status Events"Warning

FORMAT ZBXTRAP $aA LinkDown on interface $4. Admin state: $2. Operational state: $3#匹配Linkup的规则

EVENT LinkUp .1.3.6.1.6.3.1.1.5.4 "Status Events"Normal

FORMAT ZBXTRAP $aA Linkup on interface $4. Admin state: $2. Operational state: $3# 默认规则,没有其他规则匹配上时,所有trap信息都按此规则处理

EVENT general .* "General event"Normal

FORMAT ZBXTRAP $aA $1

9、systemctl restart snmptt

10、tail -F /var/log/snmptt/snmptt.log   #打开并跟踪snmptt日志

三、配置zabbix-server

1、vim /etc/zabbix/zabbix_server.conf

StartSNMPTrapper=1#开启SNMPTrapper功能

SNMPTrapperFile=/var/log/snmptt/snmptt.log #指定snmptt日志文件

2、systemctl restart zabbix-server  #重启Zabbix服务

3、zabbix添加监控项

匹配snmptt日志中,属于IF-MIB模块的告警(IF-MIB包含设备接口相关的管理对象,告警节点包含linkUp和linkDown)

其余没匹配上的,都匹配到键值为fallback的监控项

查看获取的trap数据

zabbix_snmptrap官方文档

snmptt官方文档

<think>我们参考了之前的回答,并结合用户提供的引用内容,特别是引用[1]中的华为交换机配置和引用[4]中关于Zabbix配置SNMP trap的说明。用户希望配置Zabbix接收华为交换机的SNMP Trap,并希望有截图指导。由于我们无法直接提供截图,但可以详细描述每个步骤,并指导用户在Zabbix Web界面中如何操作。 配置步骤分为两个主要部分: 1. 华为交换机上的SNMP Trap配置(以SNMPv3为例,因为更安全,引用[1]和[3]都提到v3) 2. Zabbix Server上的配置(包括启动SNMP Trap接收、配置监控项等) 注意:由于Zabbix Web界面版本可能不同,截图位置可能略有差异,但主要流程一致。 一、华为交换机配置(SNMPv3) 根据引用[1]和[3],华为交换机配置SNMPv3 Trap的步骤如下(注意:配置前请确保有交换机的管理权限): 1. 登录交换机,进入系统视图。 ``` <Huawei> system-view ``` 2. 开启信息中心(必须,否则无法发送Trap) ``` [Huawei] info-center enable ``` 3. 设置SNMP版本为v3 ``` [Huawei] snmp-agent sys-info version v3 ``` 4. 创建SNMP组,并设置读写视图和通知视图(这里使用默认视图ViewDefault) ``` [Huawei] snmp-agent group v3 zabbixgroup privacy read-view ViewDefault notify-view ViewDefault ``` 5. 创建用户,并关联到上面创建的组,设置认证和加密(这里使用SHA认证和AES128加密) ``` [Huawei] snmp-agent usm-user v3 zabbixuser zabbixgroup [Huawei] snmp-agent usm-user v3 zabbixuser authentication-mode sha # 此时会提示输入认证密码,输入两次(例如:AuthPassword123) [Huawei] snmp-agent usm-user v3 zabbixuser privacy-mode aes128 # 此时会提示输入加密密码,输入两次(例如:PrivPassword123) ``` 6. 配置Trap目标主机(即Zabbix Server的IP地址) ``` [Huawei] snmp-agent target-host trap address udp-domain 10.10.100.97 params securityname zabbixuser v3 privacy ``` 注意:这里的安全名是之前创建的用户名(zabbixuser),并且指定v3和privacy(表示加密)。 7. 启用Trap(可以启用所有模块的Trap) ``` [Huawei] snmp-agent trap enable ``` 8. 允许SNMP协议通过所有接口(可选,根据设备情况) ``` [Huawei] snmp-agent protocol source-status all-interface ``` 二、Zabbix Server配置 1. 确保Zabbix Server已经安装并运行,并且安装了SNMP工具(如net-snmp)。 2. 配置snmptrapd(用于接收Trap并转发给Zabbix Server的日志文件): 编辑`/etc/snmp/snmpd.conf`,添加以下内容(注意:如果使用SNMPv3,需要配置用户): ``` createUser zabbixuser SHA "AuthPassword123" AES "PrivPassword123" authUser log,execute,net zabbixuser traphandle default /usr/sbin/snmptthandler ``` 注意:这里创建的用户和密码必须与交换机上配置的一致。 3. 配置Zabbix Server的snmptrapd日志文件: 编辑Zabbix Server的配置文件`/etc/zabbix/zabbix_server.conf`: ``` StartSNMPTrapper=1 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log ``` 确保该日志文件存在,并且Zabbix用户有读写权限: ``` mkdir /var/log/snmptrap touch /var/log/snmptrap/snmptrap.log chown zabbix:zabbix /var/log/snmptrap/snmptrap.log ``` 4. 重启snmptrapd服务和Zabbix Server服务: ``` systemctl restart snmptrapd systemctl restart zabbix-server ``` 5. 在Zabbix Web界面中配置主机和监控项: - 创建主机:进入“配置”->“主机”->“创建主机” * 主机名称:填写交换机的名称(如Huawei_Switch) * 可见名称:同上 * 群组:选择适当的群组(如SNMP Devices) * SNMP接口:添加交换机的IP地址,端口161(用于主动查询,非必需) - 添加SNMPv3连接(用于查询,非Trap接收): * 切换到“SNMP”标签页 * 版本:SNMPv3 * 安全名称:zabbixuser(与交换机配置一致) * 安全级别:authPriv(认证并加密) * 认证协议:SHA * 认证密码:AuthPassword123 * 加密协议:AES * 加密密码:PrivPassword123 - 添加SNMP Trap监控项: * 在主机页面,点击“监控项”->“创建监控项” * 名称:SNMP Traps * 类型:SNMP trap * 键值:snmptrap.fallback (这个键用于捕获所有未解析的Trap) * 其他保持默认 - 添加触发器(可选): 根据具体需要,创建触发器来对特定的Trap进行告警。例如,当收到链路down的Trap时触发告警。 6. 测试:在交换机上模拟一个事件(比如关闭一个端口),然后在Zabbix的“监测中”->“最新数据”中查看该主机的snmptrap.fallback监控项是否有数据。 注意:由于Trap的原始信息是OID,为了便于阅读,可以导入MIB文件。具体操作参考引用[4]。 由于无法提供截图,我们尽量用文字描述每个步骤在Zabbix Web界面中的位置。用户可以根据描述操作。 相关问题: 1. 如何在Zabbix中导入MIB文件以解析SNMP Trap的OID? 2. 如何为特定的SNMP Trap创建触发器? 3. 华为交换机SNMPv3配置的常见问题有哪些? 4. Zabbix Server无法接收SNMP Trap应该如何排查? 5. 如何配置华三(H3C)交换机的SNMP Trap发送到Zabbix?</think>以下是配置 Zabbix 接收华为交换机 SNMP Trap 的详细步骤和截图指导: --- ### 一、华为交换机配置(SNMPv3 示例) #### 1. 登录交换机 CLI 配置 ```bash <Huawei> system-view [Huawei] info-center enable # 必须开启信息中心[^1] [Huawei] snmp-agent sys-info version v3 # 使用SNMPv3 [Huawei] snmp-agent group v3 zabbixgroup privacy # 创建组 [Huawei] snmp-agent usm-user v3 zabbixuser zabbixgroup # 创建用户 [Huawei] snmp-agent usm-user v3 zabbixuser authentication-mode sha # SHA认证 # 输入认证密码(如 AuthPass123) [Huawei] snmp-agent usm-user v3 zabbixuser privacy-mode aes128 # AES加密 # 输入加密密码(如 PrivPass123) [Huawei] snmp-agent target-host trap address udp-domain 192.168.1.100 params securityname zabbixuser v3 privacy # 指向Zabbix IP[^1] [Huawei] snmp-agent trap enable # 启用所有Trap ``` > 📌 关键点: > - 必须开启 `info-center enable` > - 安全级别选择 `privacy`(认证+加密) > - IP地址替换为你的 Zabbix Server 地址 --- ### 二、Zabbix Server 配置 #### 1. 修改 zabbix_server.conf ```bash # 启用 SNMP Trapper StartSNMPTrapper=1 # 指定 Trap 日志文件 SNMPTrapperFile=/var/log/zabbix/zabbix_traps.tmp # 设置日志权限(确保 zabbix 用户可写) SNMPTrapperFileMode=0660 ``` 重启服务: ```bash systemctl restart zabbix-server ``` #### 2. 配置 SNMPTRAPD 编辑 `/etc/snmp/snmptrapd.conf`: ```bash authUser log,execute zabbixuser # 匹配交换机配置的用户 disableAuthorization yes traphandle default /usr/sbin/snmptt # 使用 snmptt 解析 ``` 启动服务: ```bash systemctl start snmptrapd ``` --- ### 三、Zabbix Web 界面配置 #### 1. 创建主机 1. **配置 → 主机 → 创建主机** - 主机名称:`Huawei-Switch` - 可见名称:`华为核心交换机` - 群组:`SNMP Devices` ![主机配置](https://img.zabbix.com/documentation/6.0/manual/config/hosts/host_create.png) *图:主机基本信息配置* #### 2. 添加 SNMP Trap 监控项 1. 在主机页面点击 **监控项 → 创建监控项** - 名称:`SNMP Traps` - 类型:`SNMP trap` - 键值:`snmptrap.fallback` - SNMP OID:留空(捕获所有 Trap) ![监控项配置](https://www.zabbix.com/documentation/6.0/_media/manual/config/items/item_snmptrap.png) *图:SNMP Trap 监控项配置* #### 3. 验证数据接收 1. **监测 → 最新数据** → 筛选主机 - 查看 `SNMP Traps` 是否收到数据 - 原始 Trap 内容会显示 OID 和值 ![最新数据](https://www.zabbix.com/documentation/6.0/_media/manual/monitoring/latest_data/latest_data.png) *图:Trap 数据接收验证* --- ### 四、故障排查技巧 1. **测试 Trap 发送**(交换机端): ```bash snmp-agent trap test # 华为测试命令 ``` 2. **查看 Trap 日志**(Zabbix Server): ```bash tail -f /var/log/zabbix/zabbix_traps.tmp ``` 3. **抓包验证**: ```bash tcpdump -i eth0 udp port 162 -vv ``` --- ### 关键配置要点 | 组件 | 配置项 | 示例值 | 说明 | |------|--------|--------|------| | **华为交换机** | SNMP 版本 | v3 | 推荐更安全 | | | 认证协议 | SHA | 不可逆加密 | | | 加密协议 | AES128 | 数据加密 | | **Zabbix** | snmptrapd 用户 | zabbixuser | 需与交换机一致 | | | Trap 日志路径 | /var/log/zabbix | 确保可写权限 | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值