• zabbix监控网络连接状态


    目录

    一、环境准备

    二、网络连接状态介绍

    三、自定义监控key

    四、给主机添加监控项


    一、环境准备

    1、搭建zabbix基础环境

    zabbix基础环境部署参照:zabbix基础环境部署_桂安俊@kylinOS的博客-CSDN博客

    2、给web1安装nginx环境,并加载status模块

    以下实验部署均基于上述环境

    二、网络连接状态介绍

    1、TCP连接状态

    建立连接的3次握手:

     断开连接的4次握手:

     

    2、查看网络连接状态

    模拟多人并发连接:

    1. #在zabbixserver向web1发送模拟并发数据
    2. #如果没有命令则需要安装httpd-tools
    3. ab -c 1000 -n 100000 http://192.168.2.20/ #最后一定要有反斜杠/ ,20是web1主机,主机环境详见前文《zabbix基础环境部署》

    查看网络连接状态:

    ss -antup    #-a参数显示所有,-t显示TCP连接,-u显示UDP连接,-n以数字形式显示端口和IP,-p显示连接对应的进程名

     如上,State列显示了主机的所有网络连接状态,我们可以用zabbix监控脚本来远程获取每种网络连接状态的数量值。

    三、自定义监控key

    (注意创建自定义监控key要在agent端/usr/local/etc/zabbix_agentd.conf里打开Include,前文环境已经设置过,这里不再重复)

    被监控端修改配置文件:

    vim /usr/local/etc/zabbix_agentd.conf.d/net.status

    输入如下内容:

    UserParameter=net.status[*],/usr/local/bin/net_status.sh $1

    重启agent:

    1. killall zabbix_agentd
    2. zabbix_agentd

    编写监控脚本net_statis.sh:

    vim /usr/local/bin/net_status.sh

    内容如下:

    1. #!/bin/bash
    2. case $1 in
    3. estab)
    4. ss -antp | awk 'BEGIN{x=0} /^ESTAB/{x++} END{print x}';;
    5. close_wait)
    6. ss -antp | awk 'BEGIN{x=0} /^CLOSE-WAIT/{x++} END{print x}';;
    7. time_wait)
    8. ss -antp | awk 'BEGIN{x=0} /^TIME-WAIT/{x++} END{print x}';;
    9. esac
    chmod +x /usr/local/bin/net_status.sh

    测试zabbix_get:

    在web1本地执行zabbix_get,测试能否获取:

    1. zabbix_get -s 127.0.0.1 -k 'net.status[time_wait]'
    2. zabbix_get -s 127.0.0.1 -k 'net.status[estab]'
    3. zabbix_get -s 127.0.0.1 -k 'net.status[close_wait]'

     

    四、给主机添加监控项

    配置--->主机,找到目标主机web1,选中后面的监控项:

     创建监控项:

     自定义监控项名称,键值手动输入,并添加自己想要监控的参数:

     

    保存后可以看到多了一个监控项net_status:

    监控测试:

    如下可以看到有数据过来:

     可以在另一端主机比如zabbixservre使用ab进行并发访问测试:

    1. #在zabbixserver端执行
    2. ab -c 100 -n 10000 http://192.168.2.20/

     查看zabbix监控端数据图:

     

  • 相关阅读:
    Python自动化测试之request库(五)
    Nginx安装与配置
    Ubuntu 20.04 下编译 Lego Loam 踩过的一些坑
    6.1 排列
    2、SySeVR环境配置(下)
    详谈操作系统中的内核态和用户态
    C语言每日一题(27)链表中倒数第k个结点
    浅析MVC、MVP、MVVM 框架实现
    某农商银行IT智能运维一体化建设研究与实践
    SQL Server进阶教程读书笔记
  • 原文地址:https://blog.csdn.net/qq_28903377/article/details/128109704