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

Multi-instance practice of zabbix Monitoring MySQL

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

Share

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

1. Practical background:

Multiple MySQL instances are deployed on a machine, each using a different port, which needs to be monitored through zabbix.

Second, the practice method and the principle explanation:

1. Create a template on Zabbix to monitor the use of the MySQL database, and import the case template:

Link: https://pan.baidu.com/s/1nXooNPMXrmaAQidRrxVOLg extraction code: ure1

two。 To create an autodiscover rule on a template, you need to define two things in the autodiscover rule:

a. The key value is used to automatically obtain the port of the MySQL instance. You need to use the host macro {$MYSQLPORT}.

b. The monitoring item prototype generates the corresponding monitoring item according to the acquired port, and needs to use the auto-discovery macro {# MYSQLPORT}

3. Define a macro {$MYSQLPORT} on the host to be monitored, corresponding to the port to be monitored, such as 3306 / 3307

4. Create scripts for automatically discovering ports and status monitoring scripts on Zabbix agent.

Description of the principle:

Obtain the port of the MySQL instance through the auto-discovery rule. {$MYSQLPORT} on the auto-discovery rule is the parameter to be passed to the agent auto-discovery script. This value is obtained from the macro {$MYSQLPORT} defined by the host, and the auto-discovery script parses it into the form of {# MYSQLPORT}: Port. The monitoring item prototype generates monitoring items based on the value of {# MYSQLPORT}. The process is as follows:

Host definition macro {$MYSQLPORT}-> auto-discovery rule key value {$MYSQLPORT}-> call the auto-discovery script on agent and resolve it to {# MYSQLPORT}: Port-> monitor item prototype {# MYSQLPORT}-> automatically generate host monitoring items

III. Environmental description:

OS:CentOS Linux release 7.6.1810 (Core)

Zabbix Server version: 4.2.4

MySQL port: 3306 and 3307

3306 socket:/tmp/mysql3306.sock

3307 socket:/tmp/mysql3307.sock

Script path: / etc/zabbix/scripts/

Create a script for monitoring in agent

1. Auto-discovery script: / etc/zabbix/scripts/discovery_mysqlport.sh

#! / bin/bash

Res= `echo $1 | sed "splash /\ nPlacement g" `

Port= ($res)

Printf'{\ n'

Printf'\ t "data": [\ n'

For key in ${! port [@]}

Do

If [["${# port [@]}"-gt 1 & & "${key}"-ne "$((${# port [@]}-1))"]]

Then

Printf'\ t {\ n'

Printf "\ t\" {# MYSQLPORT}\ ":\" ${port [${key}]}\ "},\ n"

Else [["${key}"-eq "((${# port [@]}-1))"]

Printf'\ t {\ n'

Printf "\ t\" {# MYSQLPORT}\ ":\" ${port [${key}]}\ "}\ n"

Fi

Done

Printf'\ t]\ n'

Printf'}\ n'

Execution effect

two。 Status check script: / etc/zabbix/scripts/mysql_status.sh

#! / bin/bash

Var=$1

MYSQL_USER= "zabbix"

MYSQL_PASSWORD=123456

MYSQL_SOCK_DIR= "/ tmp/mysql$2.sock"

${mysql}-u$ {MYSQL_USER}-p$ {MYSQL_PASSWORD}-S ${MYSQL_SOCK_DIR}-e "show global status;" 2 > / dev/null | grep-v Variable_name | grep "\ b$ {var}\ b" | awk'{print $2}'

3. Add monitoring items on agent

UserParameter=mysql_discovery [], / etc/zabbix/scripts/discovery_mysql_port.sh $1

UserParameter=mysql.status [], / etc/zabbix/scripts/mysql_status.sh $1 $2

4. Restart the agent service

Systemctl restart zabbix-agent

Automatically generated monitor item effect picture:

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