Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Zabbix series zabbix3.4 monitor mysql5.7

2025-02-22 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

Originally wanted to use the python script to monitor mysql, but did not find the relevant information, did not bother to bother, and used the official monitoring template to monitor mysql

Add zabbix-agent profile

Replace the default userparameter_mysql.conf file with the following contents

[root@test-mq01 zabbix_agentd.d] # cat userparameter_mysql.conf

# UserParameter=mysql.status [*], echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql-N | awk'{print $$2} 'UserParameter=mysql.status [*], / etc/zabbix/script/mysql/chk_mysql.sh $1#UserParameter=mysql.size [*], bash-c' echo "select sum ($(case" $3 "in both |") echo "data_length+index_length"; data | index) echo "$3_length"; free) echo "data_free" Esac) from information_schema.tables$ ([["$1" = "all" |! "$1]] | | echo" where table_schema=\ "$1\") $([["$2" = "all" | |! "$2"]] | | echo "and table_name=\" $2\ ") | | HOME=/var/lib/zabbix mysql-naming UserParameterials mysql.ping.Homecomphaxvarpax mysqladmin ping | grep-c aliveUserParameter=mysql.ping,mysqladmin-u root-pRoo-P3306-h292.168.2.252 ping | add chk_mysql.sh script file to grep-c aliveUserParameter=mysql.version,mysql-V |

/ etc/zabbix/script/mysql/chk_mysql.sh

#! / bin/bash#-# FileName: check_mysql.sh# Revision: 1.Universe Date: 2018 Universe 01Universe Author: Chunk# Email: # Website: # Description: # Notes: ~ #-# Copyright: # License: GPL # username MYSQL_USER='root'# password MYSQL_PWD='Root'# host address / IPMYSQL_HOST='192.168.2.252'# port MYSQL_PORT='3306'# data connection MYSQL_CONN= "/ usr/bin/mysqladmin-u$ {MYSQL_USER}-p$ {MYSQL_PWD}-h$ {MYSQL_HOST}-P$ {MYSQL_PORT}" # whether the parameter is correct if [$#-ne "1"] Then echo "arg error!" Fi # get data 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 Com_insert) result= `$ {MYSQL_CONN} extended-status | grep-w "Com_insert" | cut-d "|"-f3` 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 adds a template link to the zabbix-web host

Restart the monitoring side agentservice zabbix-agent restartzabbix server to test whether there is any data [root@tools-jenkins ~] # zabbix_get-s 192.168.2.41-k mysql.status [Questions] 3533479678

[Warning] Using a password on the command line interface can be insecure.

This is actually very simple, import export MYSQL_PWD=, or / etc/bashrc into export MYSQL_PWD= in the script

At the end of the script, there is less-p, and the approximate format is as follows:

# original data connection # data connection MYSQL_CONN= "/ usr/bin/mysqladmin-u ${MYSQL_USER}-p$ {MYSQL_PWD}-h$ {MYSQL_HOST}-P ${MYSQL_PORT}" # New data connection MYSQL_CONN= "/ usr/bin/mysqladmin-u ${MYSQL_USER}-h$ {MYSQL_HOST}-P ${MYSQL_PORT}"

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report