• Zabbix自带模板监控MySQL


    先使用主机链接Mysql模板 。

    然后写获取mysql状态的脚本,即配合zabbix模板里面的参数的脚本。

    #!/bin/bash
    MYSQL_USER='zabbix'       #这里为在本地数据库授权的账户and密码哦
    
    # 密码
    MYSQL_PWD='shiyiwen'
    
    # 主机地址/IP
    MYSQL_HOST='127.0.0.1'
    
    # 端口
    MYSQL_PORT='3306'
    
    # 数据连接
    MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"
    
    # 参数是否正确
    if [ $# -ne "1" ];then
        echo "arg error!" 
    fi
    
    # 获取数据
    case $1 in
        Uptime)
            result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`
            echo $result 
            ;;
        Com_update)
            result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3`
            echo $result 
            ;;
        Slow_queries)
            result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`
            echo $result 
            ;;
        Com_select)
            result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3`
            echo $result 
                    ;;
        Com_rollback)
            result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
                    echo $result 
                    ;;
        Questions)
            result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`
                    echo $result 
                    ;;
                    echo $result 
                    ;;
        Com_delete)
            result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`
                    echo $result 
                    ;;
        Com_commit)
            result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`
                    echo $result 
                    ;;
        Bytes_sent)
            result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
                    echo $result 
                    ;;
        Bytes_received)
            result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
                    echo $result 
                    ;;
        Com_begin)
            result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`
                    echo $result 
                    ;;
    
            *)
            echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" 
            ;;
    esac
    

     然后在zabbix_agentd.conf 里加入引用语句(也相当于插件的意思。脚本即插件哦)

     # 获取mysql版本
    UserParameter=mysql.version,mysql -V
    # 获取mysql性能指标,这个是上面定义好的脚本
    UserParameter=mysql.status[*],/usr/local/zabbix-2.4.4/scripts/chk_mysql.sh $1
    # 获取mysql运行状态
    UserParameter=mysql.ping,mysqladmin -uzabbix -pshiyiwen -P3306 -h127.0.0.1  ping | grep -c alive
    
     
    

     自己注意路径哦。

    然后重启zabbix_agentd

    killall zabbix_agentd
    

     然后查看server端的日志,如果出现了下图这种状况说明OK。

    如果出现其他的报错,要先使用zabbixget获取一下,如果获取不到的话,多数是脚本配置有问题哦。

                      

  • 相关阅读:
    JAVA导出EXCEL表格
    解决springboot配置@ControllerAdvice不能捕获 NoHandlerFoundException问题
    Mysql 查看定时器 打开定时器 设置定时器时间
    IDEA @Autowired 出现红色下划线 报红
    IntelliJ IDEA报warn class is never used
    UML类图符号 各种关系说明以及举例
    提升单元测试体验的利器--Mockito使用总结
    maven2中snapshot快照库和release发布库的应用
    Maven最佳实践-distributionManagement
    访问GitLab的PostgreSQL数据库
  • 原文地址:https://www.cnblogs.com/shiyiwen/p/5181216.html
Copyright © 2020-2023  润新知