• zabbix监控tcp状态


    (1)agent端配置

    • agent端脚本获取监控项
    #vim /etc/zabbix/zabbix_agentd.d/tcp_status.sh
    #bin/bash 
    [ $# -ne 1 ] && echo "Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV SYN-SENT|TIME-WAIT" && exit 1
    tcp_status_fun(){
    	TCP_STAT=$1
    	ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/ss.txt
    	TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/ss.txt | cut -d ' ' -f2)
    	if [ -z "$TCP_STAT_VALUE" ];then
    		TCP_STAT_VALUE=0
    	fi
    	echo $TCP_STAT_VALUE
    }
    tcp_status_fun $1;
    
    •   修改脚本权限
      
    #chmod +x /etc/zabbix/zabbix_agentd.d/tcp_status.sh
    
    • 修改agent配置文件
    #vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf
    UserParameter=tcp_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/tcp_status.sh "$1"
    
    • agentd重启服务
    systemctl restart zabbix-agent
    

    注意:/tmp/ss.txt文件的属主是zabbix

    (2)server端配置

    思路:定义tcp_status模板--->定义应用集nginx_status--->定义监控项---->定义图形--->定义触发器---->添加主机或主机关联这个模板

    • zabbix-server端zabbix_get测试获取
    # zabbix_get -s 192.168.1.32 -p10050 -k tcp_status[ESTAB]
    2
    
    • 键值
    tcp_status[ESTAB]
    tcp_status[CLOSE-WAIT]
    tcp_status[CLOSED]
    tcp_status[CLOSING]
    tcp_status[FIN-WAIT-1]
    tcp_status[FIN-WAIT-2]
    tcp_status[LAST-ACK]
    tcp_status[LISTEN]
    tcp_status[SYN-RECV]
    tcp_status[SYN-SENT]
    tcp_status[TIME-WAIT]
    
    • 定义监控项:只写一个,其它的就是键值不同
    • 定义图形
    • 验证
  • 相关阅读:
    linux下拼接字符串的代码
    postgresql实现插入数据返回当前的主键ID
    记录一个linux下批处理的代码
    iptables
    mybatis获得执行insert的返回值
    git commit之后撤销
    仿照CIFAR-10数据集格式,制作自己的数据集
    C/C++ 在处理文件所在路径下创建子目录
    C/C++ 图像二进制存储与读取
    C/C++ 文件路径解析
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9013411.html
Copyright © 2020-2023  润新知