案列
通过zabbix的突增流量,达到阈值后触发一个动作,执行本地的60s抓包命令。
60s 超时 筛选端口 7379 7380.. -X(显示详细信息) nn:显示port v:输出一个稍微详细的信
timeout 60 tcpdump -i em1 prot 7379 or port 7380 or prot 7381 -Xvnn |grep -C 4 GET > /data/tcpdump/$(data +%F-%H:%M:%S).txt
可以写成脚本通过zabbix监控异常流量,触发阈值,执行本地脚本
1.配置一个【动作】,【条件】设置流量>100M,触发动作指定主机,【操作】zabbix客户端执行本地脚本。
2.脚本需要在管理页面增加,确认启用。
3.三个权限问题
zabbix用户可执行权限
echo -e "zabbix ALL=(root)" NOPASSWD:ALL" >> /etc/sudoers
存放tcpdump输出文件的可写权限。
chown -R zabbix:zabbix /data/tcpdump
使用setcap来授予tcpdump必要的权限,不然zabbix用户没权限执行。
setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
检验:
su zabbix
sh tcpdump.sh 可以正确执行,不报错即可。