Zabbix 构建监控告警平台(六)

  1. 监控TCP连接
  2. 监控MySQL
  3. 监控php-fpm
  4. 监控 Apache
  5. 监控 MySQL A-B
  6. 监控磁盘I/O

1.监控TCP连接

        1.1   tcp状态简介

netstat中的各种状态:

        CLOSED                 初始(无连接)状态。

        LISTEN                 侦听状态,等待远程机器的连接请求。

        SYN_SEND                 在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。

        SYN_RECV                 在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。

        ESTABLISHED                 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

        FIN_WAIT_1                 在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。

        FIN_WAIT_2                 在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。

        TIME_WAIT                 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。

        CLOSING                 在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。

        CLOSE_WAIT                 在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。

        LAST_ACK                 在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。


主动连接端可能的状态有:         

        CLOSED        SYN_SEND        ESTABLISHED。

主动关闭端可能的状态有:         

        FIN_WAIT_1        FIN_WAIT_2        TIME_WAIT。

被动连接端可能的状态有:         

        LISTEN        SYN_RECV        ESTABLISHED。

被动关闭端可能的状态有:         

        CLOSE_WAIT        LAST_ACK        CLOSED。

        2.2   准备自定义key  【在zabbix-agent 主机 (被监控主机)】

vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf

#       Format: UserParameter=<key>,<shell command>    格式:UseParameter=键名,命令
UserParameter=tcp.status.listen,ss -an |grep :80 | grep -i 'LISTEN' |wc -l
UserParameter=tcp.status.timewait,ss -an |grep :80 | grep -i 'TIME-WAIT' |wc -l
UserParameter=tcp.status.established,ss -an |grep :80 | grep -i 'ESTAB' |wc -l
UserParameter=tcp.status.syn_recv,ss -an |grep :80 | grep -i 'SYN_RECV' |wc -l
UserParameter=tcp.status.syn_sent,ss -an |grep :80 | grep -i 'SYN_SENT' |wc -l
UserParameter=tcp.status.close,ss -an |grep :80 | grep -i 'CLOSE' |wc -l

        2.3    调用KEY    【在zabbix-server主机【zabbix主服务器】】

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k system.uname

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k system.cpu.load[all,avg1]

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status.close

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status.listen

        2.4    自定义key     【传参】

在zabbix-agent中:

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf 

UserParameter=tcp.status[*],ss -an |grep :80 | grep -i "$1" |wc -l

括号中输入的内容会被调用到$1中 

需要重启zabbix-agent

在zabbix-server中:

使用[传参]来调用;

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status[TIME-WAIT]

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status[LISTEN]

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status[CLOSE]

        2.5   

        (一)在zabiix-agent主机上

1 下载自定义key的包

    chmod -R  +x zabbix-example/
    chown -R zabbix zabbix-example

2  拷贝命令文件至zabbix目录

    mkdir /etc/zabbix/tcp_connect.status             创建目录

    cp zabbix-example/tcp_connect_status/tcp_connect_status.sh

       /etc/zabbix/tcp_connect.status/

3 增加用户自定义KEY

   cp zabbix-example/tcp_connect_status/tcp_connect_status                 /etc/zabbix/zabbix_agentd.d/tcp_connect_status.conf

4 重启服务
    systemctl restart zabbix-agent.service 

        (二)在zabbix-server主机上:

1 zabbix-server执行验证
    zabbix_get -s 192.168.100.20 -k tcp.connect.status[LISTEN]

2 总结
    调用KEY,KEY就是脚本,脚本传参即可。

3 XML文件
    是模板文件,直接上传到服务器就是现成的模板,应用集,监控项,触发器,图形,聚合图形。

2.监控MySQL

原理和监控tcp一样

3.监控php-fpm

原理和监控tcp一样

4.监控 Apache

原理和监控tcp一样

5.监控 MySQL A-B

原理和监控tcp一样

6.监控磁盘I/O

原理和监控tcp一样

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值