没有合适的资源?快使用搜索试试~ 我知道了~
1.5 zabbix监控-TCP端口自动发现和添加1
需积分: 0 2 下载量 113 浏览量
2022-08-04
16:54:58
上传
评论
收藏 280KB PDF 举报
温馨提示
试读
4页
在客户端执行:service zabbix-agent restart脚本上传到到 /etc/zabbix/scriptscat lx2_discover_po
资源详情
资源评论
资源推荐
1
Name : 曲中岭
Email:zlingqu@126.com
Q Q :441869115
在客户端执行:
cd /etc/zabbix
mkdir scripts
echo "UserParameter=lx2_discover_port,/etc/zabbix/scripts/lx2_discover_port.sh" >>
zabbix_agentd.d/lx2.conf
echo "zabbix ALL=NOPASSWD: /bin/netstat,/bin/ps" >> /etc/sudoers
service zabbix-agent restart
cd scripts
脚本上传到到 /etc/zabbix/scripts
cat lx2_discover_port.sh
#!/bin/bash
all=(`sudo netstat -tnlp|grep -v tcp6|grep tcp |awk '{print $4"/"$7}'|awk -F":" '{print $2}'|awk
'/\/[a-zA-Z]/{print}'`)
#awk '/\/[a-zA-Z]/{print},排除无 PID 和进程名的监听端口。例如:tcp 0 0 0.0.0.0:43874
0.0.0.0:* LISTEN -
#$4=IP:prot,$7=pid/name。$4,$7 之间使用/分割,awk '{print $4"/"$7}';awk -F":" '{print $2}',
将$4 中冒号前面的排除;all 数组中每一项内容是 port/pid/name
port=(`echo ${all[*]}|sed 's/ //g'|awk -F"/" '{print $1}'`) #all 数组拆分成三个数组,也可使用
二维数组,这里未使用
pid=(`echo ${all[*]}|sed 's/ //g'|awk -F"/" '{print $2}'`)
name=(`echo ${all[*]}|sed 's/ //g'|awk -F"/" '{print $3}'`)
length=${#port[@]}
printf "{\n"
printf ' '"\"data\":["
for ((i=0;i<$length;i++))
do
[ ${port[$i]} -eq 32000 ] && name[$i]="Aliyun-cloudmonitor" #阿里云监控进程,监听 32000
端口,特殊处理
if [ ${name[$i]} = java ] ;then #如果是 java 项目,netstat 只能查出是 java,若要具体区分进程
名,需要做进一步处理
name1=`sudo ps ux|grep jar|grep "\b${pid[$i]}"|egrep -o "\:[a-z/.]+?zookeeper-[0-
9.]+?\.jar"|awk -F\: '{print $2}'`
#zookeeper 启动的 jar 识别,+? 重复 1 次或更多次,但尽可能少重复 ,简单理解就是最短匹
配,下同
艾法
- 粉丝: 19
- 资源: 319
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0