zabbix 监控mysql(实例)

news/2024/7/1 5:42:04

修改zabbix_agentd.conf

UnsafeUserParameters=1
UserParameter=mysql.version,mysql -V
UserParameter=mysql.status[*],/usr/local/zabbix/share/zabbix/alertscripts/chk_mysql.sh $1
UserParameter=mysql.ping,mysqladmin ping | grep -c alive

设置mysql的链接

ln -s /data/mysql/bin/mysql /usr/bin
ln -s /data/mysql/bin/mysqladmin /usr/bin

在数据库中添加新账号mysqlcheck

GRANT USAGE ON . TO 'mysqlcheck'@'localhost' IDENTIFIED BY 'mysqlcheck';
FLUSH PRIVILEGES;

将mysql账号密码添加进my.cnf

[mysql]
host = localhost
user = mysqlcheck
password = mysqlcheck
socket = /var/run/mysqld/mysqld.sock
[mysqladmin]
host = localhost
user = mysqlcheck
password = mysqlchechk
socket = /var/run/mysqld/mysqld.sock

检测文件,

vi /usr/local/zabbix/share/zabbix/alertscripts/chk_mysql.sh

!/bin/bash

MYSQL_CONN="mysqladmin"
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"|" -f3echo $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 ;; Com_insert) result=` {MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3echo $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"|" -f3echo $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

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/chk_mysql.sh

重启zabbix_agentd

在zabbix页面添加模板链接


以下几个参数对Myisam 和Innodb 存储引擎都计数:
1. Com_select 执行select 操作的次数,一次查询只累加1;
2. Com_insert 执行insert 操作的次数,对于批量插入的insert 操作,只累加一次;
3. Com_update 执行update 操作的次数;
4. Com_delete 执行delete 操作的次数;
以下几个参数是针对Innodb 存储引擎计数的:
1. Innodb_rows_read select 查询返回的行数;
2. Innodb_rows_inserted 执行Insert 操作插入的行数;
3. Innodb_rows_updated 执行update 操作更新的行数;
4. Innodb_rows_deleted 执行delete 操作删除的行数;
通过以上几个参数,可以很容易的了解当前数据库的应用是以插入更新为主还是以查询操作为主,以及各种类型的SQL 大致的执行比例是多少。对于更新操作的计数,是对执行次数的计数,不论提交还是回滚都会累加。对于事务型的应用,通过Com_commit 和Com_rollback 可以了解事务提交和回滚的情况,对于回滚操作非常频繁的数据库,可能应用编写存在问题。
另外还有几个参数可以了解数据库的基本信息:

  1. Connections 试图连接Mysql 服务器的次数
  2. Uptime 服务器工作时间
  3. Slow_queries 慢查询的次数

参数介绍


img_2df490ff5a9c3484a93f66255797d78c.png
image.png

http://lihuaxi.xjx100.cn/news/245207.html

相关文章

查询Oracle中字段名带.的数据

SDE中的TT_L线层会有SHAPE.LEN这样的字段,使用: SQL>select shape.len from tt_l; 或 SQL>select t.shape.len from tt_l t; 是查询不出来的。 需要这样查询: SQL>select t."SHAPE"."LEN" from tt_l t; 转载于:…

面试官:如何实现一个高性能的,短链接生成服务?(附源码)

点击上方“搜云库技术团队”,选择“设为星标”回复“1024”或“面试题”获取4T学习资料面试官:你平时是否留意过一些短信中包含短链接?小菜鸡:有的,喏,就是这样的!面试官:为什么选择…

cookiesession的QA故事[原理篇]

引语:cookie和session在网站开发中,起着无可厚非的重要作用,但是我们平时往往都只是通过某种语言作为介质,通过某些接口函数进行cookie和session的操作,而对其原理可能不了解或一知半解。这样的话,对于一个…

阿里、腾讯、美团、小米……各公司月饼大PK,看完简直想哭泣!

点击上方“搜云库技术团队”,选择“设为星标”回复“1024”或“面试题”获取4T学习资料转自:普象工业设计小站 | ID:amdesign又是一年一度的中秋佳节咱们即将迎来阖家团圆的喜(fang)庆(jia)日子呢!平日里暗自较劲的互联网大佬们到…

Linux下用汇编输出Hello, world

下列是Intel汇编语法实现的 Hello, world!程序。 ;; hello.asm ;; nasm -f elf hello.asm; will output hello.o ;; ld -s -o hello hello.o;; section, same to segment segment .data ; 数据段声明, 下列代码将放在数据段中msg db "Hello, world!", 0xA ; 要…

PostgreSQL:Java使用CopyManager实现客户端文件COPY导入

在MySQL中,可以使用LOAD DATA INFILE和LOAD DATA LOCAL INFILE两种方式导入文本文件中的数据到数据库表中,速度非常快。其中LOAD DATA INFILE使用的文件要位于MySQL所在服务器上,LOAD DATA LOCAL INFILE则使用的是客户端的文件。 LOAD DATA I…

hibernate 全面学习【lazy策略 】

2019独角兽企业重金招聘Python工程师标准>>> lazy策略可以用在&#xff1a; * <class>标签上&#xff1a;可以取值true/false * <property>标签上&#xff0c;可以取值true/false&#xff0c;这个特性需要类增强 * <set>/<list>等集合上…

python 帮助文档、自我解释

现在让我们以交互方式使用 Python 来开始研究。当我们从命令行启动 Python 时&#xff0c;就进入了 Python shell&#xff0c;在这里可以输入 Python 代码&#xff0c;而且立刻会从 Python 解释器获得响应。 清单 1. 以交互方式启动 Python 解释器 Python 2.7.15rc1 (default, …