内网本地部署snmptt服务器
准备本地yum源
- 下载相关rpm包,并使用createrepo命令创建依赖关系
- 在需要部署的服务器中上传snmp相关rpm包,并在
/etc/yum.repo.d/
目录下创建本地yum源
[snmp]
name=snmp
baseurl=file:///mnt/snmp-repo
enabled=1
gpgcheck=0
- 更新yum仓库配置
yum clean all && yum makecache
- 安装snmptt
yum install -y snmptt net-snmp* expect
配置运行环境
- 从已有服务器中拷贝
/etc/snmp/snmptt.ini
文件至/etc/snmp/
目录下。 - 从已有服务器中拷贝
/prod/mfr/config/trapd/
目录下的配置文件至新服务器中。
mkdir -p /prod/mfr/config/trapd ; scp <user>@<ip_address>:/prod/mfr/config/trapd/* /prod/mfr/config/trapd/
- 添加hosts解析配置:
vim /usr/local/bin/getent.sh
#!bin/bash
cat <<EOF | /usr/bin/expect > /tmp/hosts.tmp
spawn ssh -p <port> <user>@<ip_address>
expect {
"*yes/no" {send "yes\n";exp_continue}
"assword:" {send "<password>\n"}
}
expect "]*"
send "getent hosts\r"
expect "]*"
send "exit\r"
EOF
sed -r "/^[0-9]{1,2}.*/!d" /tmp/hosts.tmp > /etc/hosts
- 添加执行权限并配置定制执行策略
chmod +x /usr/local/bin/getent.sh
crontab -e
0 0 * * * /usr/local/bin/getent.sh
- 配置logrotate
vim /etc/logrotate.d/snmptt
/var/log/snmptt/trapd.log
{
rotate 10
create 644 snmptt snmptt
daily
ifempty
missingok
nocompress
su root root
}
/var/log/snmptt/snmpttsystem.log
{
rotate 10
create 644 snmptt snmptt
daily
ifempty
missingok
nocompress
su root root
}
/var/log/snmptt/trapdunknown.log
{
rotate 10
create 644 snmptt snmptt
daily
ifempty
missingok
nocompress
su root root
}
/var/log/snmptt/snmptt.debug
{
rotate 10
create 644 snmptt snmptt
daily
ifempty
missingok
nocompress
su root root
}
- 启动snmp相关服务
systemctl start snmpd
systemctl start snmptrapd
systemctl start snmptt
systemctl enable snmpd
systemctl enable snmptrapd
systemctl enable snmptt
配置数据源
登录数据源服务器,修改snmptrpad服务配置,更新接收节点地址后重启服务
配置日志采集进程
通过flume-ansible工程部署flume进程。