OpenEuler 22.03 安装 snmptt 1.5

一、说明

1.1 背景

snmptt(SNMP Trap Translator)是一个perl语言编写的SNMP Trap消息处理器,官网为:https://snmptt.org/index.shtml,被用于zabbix等监控工具。该工具最新版为2022年发布的1.5版本。
如果使用redhat系,新增EPEL仓库仓库后可以直接yum安装1.4.2版本,非常方便。但是由于centos停止支持的缘故,转向OpenEuler,研究一下snmptt的安装并记录如下。

1.2 环境

  • 操作系统:OpenEuler 22.03
  • snmptt:1.5

二、准备工作

2.1 依赖包

根据实际测试,在OpenEuler 22.03系统上,需要安装这些包:

yum install -y net-snmp perl-Config-IniFiles perl-Net-IP

与官网说明不同的是,perl-Net-IP在官方文档中是一个可选包,但是实际运行时是必须的,而net-snmp-utils在文档中是必须的,实际上却不是。

2.2 selinux

关闭selinux

setenforce 0

三、部署

3.1 snmptt安装

1. 下载并解压

从github主页 https://github.com/snmptt/snmptt/releases 下载并解压:

tar -zxf snmptt_1.5.tgz
cd snmptt_1.5
cp snmptt /usr/sbin/
chmod +x /usr/sbin/

2. 创建账号

adduser -r snmptt

3. 创建配置文件

mkdir /etc/snmptt
chown -R snmptt:snmptt /etc/snmptt
chmod 755 /etc/snmptt
cp snmptt.ini /etc/snmptt/
touch /etc/snmptt/snmptt.conf

4. 创建日志文件

mkdir /var/log/snmptt
chown -R snmptt:snmptt /var/log/snmptt
chmod -R 750 /var/log/snmptt
mkdir /var/spool/snmptt/
chown -R snmptt:snmptt /var/spool/snmptt
chmod -R 750 /var/spool/snmptt

5. 注册为系统服务

cp snmptt.service /usr/lib/systemd/system/snmptt.service
chmod -x /usr/lib/systemd/system/snmptt.service
systemctl daemon-reload

6. 配置日志回滚

cp snmptt.logrotate /etc/logrotate.d/snmptt

7. 测试启动

使用snmptt --daemon或者systemctl start snmptt启动snmptt服务,如果启动无报错,可以检查系统日志/var/log/messages。

3.2 snmptthandler安装

在snmptt压缩包内:

cp snmptthandler /usr/sbin/
chmod +x /usr/sbin/snmptthandler

可以使用/usr/sbin/snmptthandler命令尝试启动,检查有无缺失的perl包

3.3 配置

1. snmptrapd.conf

修改/etc/snmp/snmptrapd.conf内容为:
(1)如果snmptt运行于daemon模式:

disableAuthorization yes
traphandle default /usr/sbin/snmptthandler

(2)如果snmptt运行于standalone模式:

disableAuthorization yes
traphandle default /usr/sbin/snmptt

按照文档配置,则snmptt运行于standalone模式。

2. snmptrapd.service

修改并覆盖snmptrapd.service文件:

systemctl edit --full snmptrapd.service

修改Environment=OPTIONS="-Lsd"Environment="OPTIONS=-Lsd -On"

3. snmptt.ini

编辑/etc/snmptt/snmptt.ini,修改trap消息的时间日期格式:

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

4. snmptt.conf

修改/etc/snmptt/snmptt.conf内容为:

EVENT general .* "Default" Normal
FORMAT ZBXTRAP $aA $ar $+*

其中:
“event_name”为自定义的event_name,.*为event_OID,意为捕获任何oid。
“FORMAT ZBXTRAP $aA $ar” 为固定格式,$+*代表展开所有绑定变量

四、测试

4.1 启动服务

systemctl start snmptrapd
systemctl start snmptt

可通过ps -ef | grep snmp检查snmptrapd和snmptt的进程

4.2 测试

通过snmptrap命令向本地环回地址发送trap报文,v1版本和v2c版本有不同报文格式:

  1. snmptrap v1版本
snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.3' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.3 s "teststring"

如果抓包可以看到报文格式如下:
在这里插入图片描述

  1. snmptrap v2c版本
snmptrap -v 2c -c public 127.0.0.1 '12345' .1.3.6.1.4.1.2022.5.24.1 .1.3.6.1.4.1.2022.5.24.2.1 s "value1" .1.3.6.1.4.1.2022.5.24.2.2 s "value2" .1.3.6.1.4.1.2022.5.24.2.3 s "value3"

抓包查看报文格式如下:
在这里插入图片描述
其中12345是时间,1.3.6.1.4.1.2022.5.24.1为event_OID。
如果一切正常,则在/var/log/snmptt/snmptt.log文件中可以看到如下日志:

23:08:22 2025/10/30 .1.3.6.1.6.3.1.1.5.3.0.33 Normal "Default" localhost - ZBXTRAP 127.0.0.1 127.0.0.1 .1.3.6.1.6.3.1.1.5.3:teststring
23:08:24 2025/10/30 .1.3.6.1.4.1.2022.5.24.1 Normal "Default" localhost - ZBXTRAP 127.0.0.1 127.0.0.1 .1.3.6.1.4.1.2022.5.24.2.1:value1 .1.3.6.1.4.1.2022.5.24.2.2:value2 .1.3.6.1.4.1.2022.5.24.2.3:value3

五、后记

  1. 相比于1.4.2版本,1.5在使用感知上最大的差异就是配置文件的位置从/etc/snmp/改为了/etc/snmptt/目录,得以和net-snmp的配置文件隔离。
  2. 官方文档说明,snmptt 1.5基于Net-SNMP 5.7.x版本进行过测试,而OpenEuler的官方仓库中net-snmp版本为5.9.1。
  3. 虽然OpenEuler的默认源没有snmptt,但是社区有提供1.4.2版本的的包,可以尝试一用
    在这里插入图片描述
  4. snmptt的安装并不复杂,按照官网文档逐步操作即可。与其说是源代码,不如说就是perl写的一组脚本,不存在编译的步骤。可以考虑写一个自动安装的bash脚本,或者自行制作一个rpm包。
消息 优快云首页 发布文章 【数据驱动】【航空航天结构的高效损伤检测技术】一种数据驱动的结构健康监测(SHM)方法,用于进行原位评估结构健康状态,即损伤位置和程度,在其中利用了选定位置的引导式兰姆波响应(Matlab代码实现) 99 100 摘要:会在推荐、列表等场景外露,帮助读者快速了解内容,支持一键将正文前 256 字符键入摘要文本框 0 256 AI提取摘要 您已同意GitCode 用户协议 和 隐私政策,我们会为您自动创建账号并备份文章至我的项目。 活动 话题 共 0 字 意见反馈内容概要:本文研究了在湍流天气条件下,无人机发生发动机故障时的自动着陆问题,提出了一种多级适配控制策略,并通过Matlab进行仿真代码实现。该策略旨在提升无人机在极端环境下的安全着陆能力,重点解决了气流干扰与动力失效双重挑战下的姿态稳定与轨迹规划问题。研究涵盖了故障检测、控制系统重构、自适应调整及安全着陆路径生成等关键技术环节,验证了所提方法在复杂气象条件下的有效性与鲁棒性。; 适合人群:具备一定无人机控制、自动控制理论基础及Matlab编程能力的科研人员、研究生以及从事航空航天、智能控制领域的工程技术人员。; 使用场景及目标:①用于无人机故障应急控制系统的设计与仿真;②支持复杂环境下无人机动态响应分析与控制算法开发;③为飞行器自主安全着陆技术提供解决方案参考。; 阅读建议:建议结合Matlab代码与控制理论深入理解多级适配机制,重点关注故障识别与控制切换逻辑,可通过修改仿真参数测试不同湍流强度下的系统表现,以加深对算法鲁棒性的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值