• Zabbix监控web,MySQL,TCP状态,Nginx


      接上篇Zabbix使用SMTP发送邮件报警并且制定报警内容

      Zabbix怎么设置声音告警

      web监控

      在zabbix server选择web

      创建一个监控web的场景

      添加后这里有数字1

      查看

      假如在全国各地有部署服务器的话就相当于一个奇云测了

      PS:Zabbix还可以实现web界面登陆测试,但是只能是登陆没有验证码的页面,这个功能几乎没有用处。

      练习:可以验证一下zabbix页面的登录及退出

      扩展

       监控MySQL

      系统默认的监控MySQL模板是/etc/zabbix/zabbix_agentd.d//etc/zabbix/zabbix_agentd.d

      在agent上面安装mariadb

    yum -y install mariadb-server
    

      启动

    systemctl start mariadb
    

      新建一个监控主机

      使用自带的监控MySQL模板

      默认有14个监控项

      验证MySQL取值方法

    echo "show global status where Variable_name='Com_begin';" | HOME=/var/lib/zabbix mysql -N
    

      这个参数是

      以上的是MySQL没有密码的监控

      怎么带密码

      修改配置文件/etc/zabbix/zabbix_agentd.d//etc/zabbix/zabbix_agentd.d

      添加密码(生产使用一个普通用户添加基本授权即可)

      重启生效

    systemctl restart zabbix-agent
    

      状态正常即可

      如果有些不支持的取值可以设置刷新不正常键值的取值时间

      假如数据库多而且用户名和密码又不一样

      修改配置文件

      修改了以下标红的位置

      重启agent

      再获取状态加参数

      修改模板定义变量

      添加默认用户名和密码

      修改items

      修改status ping和status有点不一样(这里的变量顺序就是刚刚设置的$123)

      这个时候看hosts应该生效了 (我配置的无效,原因不明)

      在hosts里面就有默认设置的

      假如有其他数据库连接,新授权一个用户

    grant all on *.* to monitor@'localhost' identified by '123456';
    

      在页面设置新的即可

      这个时候取到值了

       SNMP监控网络设备

      设备开启SNMP简单网络管理协议

      zabbix添加设备选择snmp

      模板选择默认的snmp drive模板

      修改snmp的团体名

      扫描发现时间默认是3600秒可以修改短一点

      自动发现以后items会自动增加添加

      在一个agent上面操作

      监控TCP的11种状态(UNKNOWN一种有12种状态)

    ESTABLISHED
    SYN_SENT
    SYN_RECV
    FIN_WAIT1
    FIN_WAIT2
    TIME_WAIT
    CLOSE
    CLOSE_WAIT
    LAST_ACK
    LISTEN
    CLOSING
    UNKNOWN
    

      取值命令为(没有netstat命令安装net-tools)

     netstat -ant|grep -c LISTEN
    

      编辑配置文件/etc/zabbix/zabbix_agentd.d/TCP_Status.conf

    UserParameter=TCP_Status[*],netstat -ant|grep -c $1
    

      重启agent

      在zabbix server上面测试(有数字显示代表正常)

    zabbix_get -s 192.168.80.140 -k TCP_Status[TIME_WAIT]
    

      在web界面创建模板

      在模板里面创建items

      用同样的方法添加其他(使用clone功能)

     

      创建一个主机

      查看数据就能看到了

      监控Nginx

      在agent安装ngixn

    rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    yum -y install nginx
    

      修改配置文件nginx添加以下

    server {
              listen  80 ;
              server_name status.nginx.com;
              location / {
                  stub_status on;
                  access_log off;
              #   allow 10.13.0.0/16;
                #  allow 127.0.0.1;
                #  deny all;
              }
      }
    

      设置本机hosts指向域名status.nginx.com

      重启nginx

    nginx -t
    nginx -s reload
    

      验证

    curl status.nginx.com
    

      出现数字代表正常

      添加/etc/zabbix/zabbix_agentd.d/nginx_monitor.sh

    #!/bin/bash
    # Description:zabbix监控nginx性能以及进程状态
    # Note:此脚本需要配置在被监控端,否则ping检测将会得到不符合预期的结果
     
    HOST="127.0.0.1"
    PORT="80"
     
    # 检测nginx进程是否存在
    function ping {
        /sbin/pidof nginx | wc -l 
    }
    # 检测nginx性能
    function active {
        /usr/bin/curl "http://status.hekegame.com" 2>/dev/null| grep 'Active' | awk '{print $NF}'
    }
    function reading {
        /usr/bin/curl "http://status.hekegame.com" 2>/dev/null| grep 'Reading' | awk '{print $2}'
    }
    function writing {
        /usr/bin/curl "http://status.hekegame.com" 2>/dev/null| grep 'Writing' | awk '{print $4}'
    }
    function waiting {
        /usr/bin/curl "http://status.hekegame.com" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
    }
    function accepts {
        /usr/bin/curl "http://status.hekegame.com" 2>/dev/null| awk NR==3 | awk '{print $1}'
    }
    function handled {
        /usr/bin/curl "http://status.hekegame.com" 2>/dev/null| awk NR==3 | awk '{print $2}'
    }
    function requests {
        /usr/bin/curl "http://status.hekegame.com" 2>/dev/null| awk NR==3 | awk '{print $3}'
    }
    # 执行function
    $1
    

      默认这个文件夹的都认为是配置文件,修改配置文件vim /etc/zabbix/zabbix_agentd.conf  那么sh就是执行文件不是配置文件了

      PS:如果按照默认的配置不修改该文件夹所有文件均为配置文件,如果在该文件夹放置了其他无关文件会导致zabbix agent无法启动

     

      加执行权限

    chmod +x nginx_monitor.sh
    

      添加zabbix配置文件/etc/zabbix/zabbix_agentd.d/nginx_monitor.conf

    serParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1

      导入ngixn监控模板,在文件里面zbx_export_templates.xml

       在web导入模板

      为了快点出数据使用以下命令

      重启agent

      在web界面添加主机

      模板包含以下状态

      监控图形

  • 相关阅读:
    推荐几款很棒的 JavaScript 表单美化和验证插件
    开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts
    两种高性能 I/O 设计模式 Reactor 和 Proactor
    基本排序算法:Python实现
    局域网聊天软件(winsocket)
    MFC控件(8):command button与syslink control
    Linux python2.4升级到2.7
    调色板QPalette类用法详解(附实例、源码)(很清楚:窗口背景色 前景色 按钮的颜色 按钮文本的颜色 )
    在IT公司,project manager 基本上和秘书,助理什么的差不多
    Qt之OpenSSL(有pro文件的路径格式,以及对libeay32和ssleay32的引用)
  • 原文地址:https://www.cnblogs.com/minseo/p/8571316.html
Copyright © 2020-2023  润新知