• Zabbix——自定义监控


    自定义监控进程

    服务器信息

    服务器名称 服务器IP 环境
    zabbix服务端 192.168.197.138 Zabbix_server
    zabbix客户端 192.168.197.133 Zabbix_agent,httpd

    配置步骤

    1.编写脚本用来输出进程是否启用

    [root@localhost zabbix]# cd /scripts/lamp/zabbix/
    
    [root@localhost zabbix]# vim item_progress
    #!/bin/bash
    sleep 20
    count=`ps -ef | grep -Ev "grep| $0" | grep $1 | wc -l`
    
    if [ $count -eq 0 ];then
           echo '1'
    else
           echo '0'
    fi
    
    1. 打开agent端自定义选项
    [root@localhost ~]# vim /usr/local/etc/zabbix_agentd.conf
    ......
    # Default:
    UnsafeUserParameters=1  # 取消注释,并把值改成1,表示开启自定义项
    
    ## 新增自定义key和脚本路径以及参数
    UserParameter=check_progress[*],/bin/bash /scripts/lamp/zabbix/item_progress $1
    
    ## 重启服务
    [root@localhost zabbix]# pkill zabbix
    [root@localhost zabbix]# zabbix_agentd 
    
    ## 服务端验证脚本可行性
    [root@localhost ~]# zabbix_get -s 192.168.197.133 -k check_progress[httpd]
    0
    

    3.server端新增监控项以及触发器




    4.验证监控项以及邮件

    ## 关掉客户端的http服务
    [root@localhost zabbix]# apachectl stop
    [root@localhost zabbix]# ss -antl
    State       Recv-Q       Send-Q               Local Address:Port                Peer Address:Port       
    LISTEN      0            128                        0.0.0.0:22                       0.0.0.0:*          
    LISTEN      0            128                        0.0.0.0:10050                    0.0.0.0:*          
    LISTEN      0            128                           [::]:22                          [::]:* ```
    


    自定义监控日志

    服务器信息

    服务器名称 服务器IP 环境
    zabbix服务端 192.168.197.138 Zabbix_server
    zabbix客户端 192.168.197.133 Zabbix_agent,httpd,python

    配置步骤

    1.确定监控脚本并写入配置文件

    # 确认python主执行指令的位置
    [root@localhost zabbix]# ls /usr/local/python3.6/bin/python
    /usr/local/python3.6/bin/python
    
    # 新增UserParameter
    [root@localhost zabbix]# vim /usr/local/etc/zabbix_agentd.conf
    
    ......
    UserParameter=check_log[*],/usr/local/python3.6/bin/python /scripts/lamp/zabbix/log.py $1 $2
    
    # 增加文件权限控制,为zabbix用户增加rx权限
    [root@localhost httpd]# ll -d /etc/httpd/logs/
    drwx------ 2 root root 67 Nov  7 09:41 /etc/httpd/logs/
    
    [root@localhost httpd]# setfacl -m u:zabbix:rx logs/
    [root@localhost httpd]# getfacl logs/
    # file: logs/
    # owner: root
    # group: root
    user::rwx
    user:zabbix:r-x  ##查看zabbix权限
    group::---
    mask::r-x
    other::---
    
    
    # 重启服务
    [root@localhost zabbix]# pkill zabbix
    [root@localhost zabbix]# zabbix_agentd
     
    # 服务端验证脚本
    [root@localhost tmp]# zabbix_get -s 192.168.197.133 -k check_log[/etc/httpd/logs/error_log,/tmp/positon,Error]
    0
    
    
    # agent端临时写入一个Error
    [root@localhost httpd]# echo 'Error' >> logs/error_log
    
    # 再次查看脚本输出结果
    [root@localhost tmp]# zabbix_get -s 192.168.197.133 -k check_log[/etc/httpd/logs/error_log,/tmp/positon,Error]
    1
    

    2.web配置监控项以及触发器



    3.修改日志文件,验证告警与邮箱

    [root@localhost httpd]# echo 'Error' >> logs/error_log
    


    自定义监控主从状态

    服务器信息

    角色 服务器IP 环境
    zabbix服务端 192.168.197.138 Zabbix_server
    zabbix客户端,mysql主库 192.168.197.133 Zabbix_agent,mysqld
    zabbix客户端,mysql从库 192.168.197.139 Zabbix_agent,mysqld

    配置步骤

    1. 编写脚本用来输出主从状态是否正常
    # 首先查看从库的状态
    MariaDB [(none)]> show slave statusG
    *************************** 1. row ***************************
                    Slave_IO_State: Waiting for master to send event
                       Master_Host: 192.168.197.133
                       Master_User: repl
                       Master_Port: 3306
                     Connect_Retry: 60
                   Master_Log_File: mysql-bin.000002
               Read_Master_Log_Pos: 342
                    Relay_Log_File: myrelay.000005
                     Relay_Log_Pos: 641
             Relay_Master_Log_File: mysql-bin.000002
                  Slave_IO_Running: Yes
                 Slave_SQL_Running: Yes
    ......
    
    # 编写脚本
    [root@localhost zabbix]# vim mysql_slave_status.sh 
    #!/bin/bash
      
    count_status=`mysql -e 'show slave statusG' | grep -E 'Slave_IO_Running:|Slave_SQL_Running:' | grep -c 'Yes'`
    
    
    if [ $count_status -eq 2 ];then
            echo '0'
    else
            echo '1'
    fi
    
    # 开启自定义功能并新增自定义项
    [root@localhost zabbix]# vim /usr/local/etc/zabbix_agentd.conf
    ......
    # Default:
    UnsafeUserParameters=1
    ......
    # TLSCipherAll= 
    UserParameter=check_slave,/bin/bash /scripts/lamp/zabbix/mysql_slave_status.sh  ## 确定key以及脚本存放位置
    
    
    # zabbix服务端验证
    [root@localhost tmp]# zabbix_get -s 192.168.197.139 -k check_slave
    0
    
    [root@localhost httpd]# systemctl stop mariadb    ## mysql主库断开
    
    [root@localhost tmp]# zabbix_get -s 192.168.197.139 -k check_slave    ## 输入为1 表示有问题
    1
    

    2.web添加从库主机以及配置item 和 Triggers




    3.停止主库的mariadb,验证告警及邮件

    [root@localhost httpd]# systemctl stop mariadb
    


    自定义监控主从延迟

    服务器信息

    角色 服务器IP 环境
    zabbix服务端 192.168.197.138 Zabbix_server
    zabbix客户端,mysql主库 192.168.197.133 Zabbix_agent,mysqld
    zabbix客户端,mysql从库 192.168.197.139 Zabbix_agent,mysqld

    配置步骤

    1. 编写脚本,输出延迟数
    [root@localhost ~]# cd /scripts/lamp/zabbix/
    [root@localhost zabbix]# vim mysql_slave_delay
    #!/bin/bash
      
    count=`mysql -e 'show slave statusG'|grep 'Seconds_Behind_Master'|awk '{print $2}'`
    
    echo $count
    
    # 添加执行条件
    [root@localhost zabbix]# chmod +x mysql_slave_delay
    
    # 写入agent配置文件
    [root@localhost zabbix]# vim /usr/local/etc/zabbix_agentd.conf
    ......
    UserParameter=check_slave_delay,/bin/bash /scripts/lamp/zabbix/mysql_slave_delay.sh
    
    
    # 重启服务
    [root@localhost zabbix]# pkill zabbix
    [root@localhost zabbix]# zabbix_agentd
    
    # 服务端验证脚本输出
    
    [root@localhost ~]# zabbix_get -s 192.168.197.139 -k check_slave_delay
    0
    
    1. web页面添加监控项以及触发器



  • 相关阅读:
    form在两个div之间会有间距 得加上style="margin:0px"
    JavaScript trim函数大赏 (转)
    js prototype
    aptana对齐快捷键ctrl+shift+f
    深入浅出JSON
    ie和火狐的一些区分
    javascript”面向对象编程” 2聊聊对象的事
    _#【media type / media query】
    【ajax】接口数据赋给全局变量
    _#【HTML 优化】使用相对 URL
  • 原文地址:https://www.cnblogs.com/sawyer95/p/13945059.html
Copyright © 2020-2023  润新知