zabbix监控mysql以及其他常见

摘要:
1.监控MySQL状态[root@mysqlhq~]#cat/usr/local/zabbix/etc/zabbix_agentd.conf |grep-v'^#'|grep-v'^$'用户参数=mysql.ping,/dev/null|cut-f2UserParameter=mysql_variable_status[*],

zabbix监控mysql以及其他常见,监控mysql,也可是使用percona提供的详细的模板,里面的监控项目非常的详细

<template>Template Percona MySQL Server</template>

1 监控mysql状态

[root@mysqlhq ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v '^#' | grep -v '^$'

UserParameter=mysql.ping,/usr/bin/mysqladmin -uzabbix -p*-h127.0.0.1 -P3306 2>/dev/null ping|grep alive|wc -l
UserParameter=mysql.status[*],/usr/bin/mysql -h 127.0.0.1 -P3306 -uzabbix -p'*' -N -e "show global status where Variable_name='$1'" 2>/dev/null | cut -f2
UserParameter=mysql_variable_status[*],/usr/bin/mysql -h 127.0.0.1 -P3306 -uzabbix -p'*' -N -e "show variables where Variable_name='$1'" 2>/dev/null | cut -f2
UserParameter=mysql.version,/usr/bin/mysql -V
UserParameter=mysql.mysql_process_status,sh /usr/local/zabbix/lib/alertscripts/check_mysql_status_3306.sh

2 脚本

[root@mysqlhq ~]# cat  /usr/local/zabbix/lib/alertscripts/check_mysql_status_3306.sh

#!/bin/bash
host=127.0.0.1
username=*
password=*
port=3306
CHECK_TIME=3
#mysql  is working MYSQL_IS_OK is 1 , mysql down MYSQL_IS_OK is 0
MYSQL_IS_OK=1
function check_mysql_status (){
    /usr/bin/mysql -u$username -p"$password" -P$port  -h$host -e "select user();" >/dev/null 2>&1
    if [ $? = 0 ] ;then
    MYSQL_IS_OK=1
    else
    MYSQL_IS_OK=0
    fi
    return $MYSQL_IS_OK 
}
while [ $CHECK_TIME -ne 0 ]
do
    let "CHECK_TIME -= 1"
    
    check_mysql_status
if [ $MYSQL_IS_OK = 1 ] ; then
    CHECK_TIME=0
    echo 1
    exit 0
fi
if [ $MYSQL_IS_OK -eq 0 ] &&  [ $CHECK_TIME -eq 0 ]
then
    echo 0
    exit 1
fi
sleep 3
done

check_slave_status_3306.sh

#监控slave,这里监控2个线程,正常返回值2,返回1或者0都是有错误,可以在trigger里面进行配置

#!/bin/bash
host=127.0.0.1
username=*
password=*
port=3306
#mysql slave is working then return 2,others is error
/usr/bin/mysql -u$username -p"$password" -P$port -h$host  2>/dev/null \
-e "show slave status\G"  |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes

3 监控其他端口,比如mongodb

--使用zabbix自带key监控进程与端口
1、监控端口
监控端口使用如下key:
key:net.tcp.listen[port]
Checks if this port is in LISTEN state. 0 - it is not, 1 - it is inLISTEN state.
翻译:监听端口状态,返回结果为1,则运行;返回结果为0,则没有运行。
例如监控443端口,net.tcp.listen[443]
--templates
--application
--items
----name= LISTEN_prot_test_8066
----key=net.tcp.listen[8066]
--triggers
----Expression={LISTEN_prot_test:net.tcp.listen[8066].max(#2)}=0
[mongodb@hongquan1 conf]$ /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k "net.tcp.listen[3306]"
1
[mongodb@hongquan1 conf]$ /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k "net.tcp.listen[28002]"
1

4 监控磁盘

# cat /proc/diskstats |grep sda |head -1

UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}' //磁盘读的次数
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}' //磁盘读的毫秒数
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}' //磁盘写的次数
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}' //磁盘写的毫秒数
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}' //花费在IO操作上的毫秒数
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}' //读扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}' //写扇区的次数(一个扇区的等于512B)

免责声明:文章转载自《zabbix监控mysql以及其他常见》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux中suid/sgid/sticky及扩展属性(attr)SpringMVC之类型转换Converter下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

阿里 otter搭建部署

IP:10.10.6.172 部署:mysql目标库,mysql源数据库 IP:10.10.6.173 部署:zookeeper,manager,node,canal (也都部署到源库服务器上) 由于otter进行数据库同步,目前仅支持row,所以需要把源库的binlog_format改为ROW log-bin=mysql-bin expire_logs_...

mysql8 安装配置教程

第一步 下载安装包 MySQL 是甲骨文(Oracle)公司产品,可以到官网上下载 MySQL: 官网下载地址:https://dev.mysql.com/downloads/mysql/ 如果嫌弃官网下载太慢,可以百度其他软件下载网站。 下载 的 MySQL 压缩包是免安装的,找个没有空格和中文路径的目录直接解压即可。 第二步 配置 my.ini 在解...

mysql max_allowed_packet过小导致的prepare失败

最近公司一台阿里云上模拟环境突然好好地就出错了额,总提示:"Unknown prepared statement handler (stmt) given to DEALLOCATE PREPARE",原以为是sql语法所致,确定没有问题后,最后确定是因为prepare对应的会话变量为null所知,mysql的max_allowed_packet被篡改为1...

MySQL是怎样运行的?打卡汇总

启动选项和系统变量 mysql配置方式之一,在命令行上使用选项配置。有长形式和短形式之分,同时等号=前后不能有空格。对于常用的选项提供短形式,也就是选项首字母前加‘-’前缀。这种方式只对当次启动有效。 mysql配置方式之二,在配置文件中使用选项。会按照一定路径寻找配置文件,ini,cnf都为配置文件。配置文件内容可以分组。可以通过命令行指定配置文件的优...

【指导】SonarQube 部署说明

转载:https://blog.csdn.net/cuiaamay/article/details/52057091 1,安装 1.1 安装依赖 需要保证Oracle JRE 8 及以上,或者 OpenJDK 8及以上(如下安装 openjdk): # add-apt-repository ppa:openjdk-r/ppa # apt-get upd...

Mysql 查看连接数,状态 最大并发数

1、显示mysql当前状态 mysqladmin -uroot -p status Uptime: 182341 Threads: 7 Questions: 2831137 Slow queries: 0 Opens: 1536 Flush tables: 3 Open tables: 1171 Queries per second av...