(注:由于shell的性能没有python好,我的博客里有一个python的脚本,完全包含此脚本的功能)
环境:
操作系统版本:Rocky8.6或CentOS7.9
MysqlServe版本:8.0
Zabbix.Server版本:6.0LTS
Zabbix.agent版本:Agent2
功能:
监控数据库信息
监控数据库状态
默认选项:
<last_errno|lag|io_thread|io_state|last_io_errno|last_io_error|sql_thread|last_sql_error||sync_log_pos|discovery|checksum>
<uptime|threads|slowqueries|questions|qps|ping|opens|opentables|flushtables|bytes_sent|bytes_received|com_*|replication>
安装步骤
备注:预先装载好Zabbix-Server(我之前教程里有)
1)安装Zabbix.Agent2(参考网址:https://www.zabbix.com/download?zabbix=6.0&os_distribution=rocky_linux&os_version=8&components=server_frontend_agent&db=mysql&ws=nginx)
# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
# mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
DBPassword=password
# listen 8080;
# server_name example.com;
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm
2)添加配置文件
root@docker1-50-UB:~# cat /etc/zabbix/zabbix_agentd.d/linux_mysql_zabbix.conf
UserParameter=mysql.zabbix.monitoring,/etc/zabbix/MySQL_Zabbix.sh
3)添加脚本文件
注:脚本文件由两个文件组成,需要将数据库的账号和密码写入到mysql.cfg文件中,注意zabbixhome为文件路径。要根据您的需求写。
(1)写入mysql.cfg文件
#
# mysql.cfg
#export MYSQL_MASTER_HOST=
export MYSQL_MASTER_USER=
export MYSQL_MASTER_PASSWORD=
export MYSQL_CHECKSUM_RETRY=
(2)编写主文件
#!/bin/bash
#****************************************************
#Author: caojidong
#QQ: 1549396190
#Date: 2021-11-28
#FileName: MySQL_Zabbix.sh
#cell-phone number: 13739548267
#Description: test
#Copyright(C): 2021 All right
#***************************************************
ZBX_HOME=${ZBX_HOME:-/usr/share/zabbix}
MYCNF_PATH="$ZBX_HOME/.my.cnf"
# default timeout in seconds
MYSQL_TIMEOUT=${MYSQL_TIMEOUT:-5}
# client options
MYSQL_OPTS="--connect_timeout=$MYSQL_TIMEOUT"
which mysql &>/dev/null && MYSQL_BIN=$(which mysql) || {
test -e /usr/bin/mysql && MYSQL_BIN=/usr/bin/mysql || { echo "Unable to locate mysql" >&2; exit 1; }
}
test ! -x $MYSQL_BIN && { echo "Unable to execute $MYSQL_BIN" >&2; exit 1; }
#
# performs a query in batch mode
#
function mysql_batch_query {
local opts=$1
local query=$2
$MYSQL_BIN $opts $MYSQL_OPTS --batch -e "$query" 2>/dev/null
}
test -s $(dirname $0)/mysql.cfg && . $(dirname $0)/mysql.cfg
# source some useful mysql helpers
test -r $(dirname $0)/mysql_helpers.sh && . $(dirname $0)/mysql_helpers.sh || exit 1
function showhelp() {
echo -n "Usage: `basename $0` [<opts>] "
case $1 in
"replication")
case $2 in
"checksum")
echo "$1 $2 <db.table>"
;;
*)
echo "$1 <last_errno|lag|io_thread|io_state|last_io_errno|last_io_error|sql_thread|last_sql_error||sync_log_pos|discovery|checksum>"
esac
;;
*)
echo "<uptime|threads|slowqueries|questions|qps|ping|opens|opentables|flushtables|bytes_sent|bytes_received|com_*|replication>"
esac
echo
echo " Options:"
echo " --master-host <host> MySQL master host (default: \$MYSQL_MASTER_HOST)"
echo " --master-user <user> MySQL master user (default: \$MYSQL_MASTER_USER)"
echo " --master-password <password> MySQL master password (default: \$MYSQL_MASTER_PASSWORD)"
echo " --slave-host <host> MySQL slave host (default: \$MYSQL_SLAVE_HOST)"
echo " --slave-user <user> MySQL slave user (default: \$MYSQL_SLAVE_USER)"
echo " --slave-password <password> MySQL slave password (default: \$MYSQL_SLAVE_PASSWORD)"
echo " --checksum-retry <N> Maximum number of retries when comparing master and slave checksums (default: \$MYSQL_CHECKSUM_RETRY)"
echo " --verbose Be verbose"
echo
exit 1
}
which mysqladmin &>/dev/null && MYSQLADMIN_BIN=$(which mysqladmin) || {
test -e /usr/bin/mysqladmin && MYSQLADMIN_BIN=/usr/bin/mysqladmin || { echo "Unable to locate mysqladmin" >&2; exit 1; }
}
test ! -x $MYSQLADMIN_BIN && { echo "Unable to execute $MYSQLADMIN_BIN" >&2; exit 1; }
slave_host=${MYSQL_SLAVE_HOST:-localhost}
slave_user=$MYSQL_SLAVE_USER
slave_password=$MYSQL_SLAVE_PASSWORD
master_host=$MYSQL_MASTER_HOST
master_user=$MYSQL_MASTER_USER
master_password=$MYSQL_MASTER_PASSWORD
checksum_retry=${MYSQL_CHECKSUM_RETRY:-3}
verbose=0
while :
do
case $1 in
-h | --help)
showhelp
;;
--master-host)
master_host=$2
shift 2
;;
--master-user)
master_user=$2
shift 2
;;
--master-password)
master_password=$2
shift 2
;;
--slave-host)
slave_host=$2
shift 2
;;
--slave-user)
slave_user=$2
shift 2
;;
--slave-password)
slave_password=$2
shift 2
;;
--checksum-retry)
checksum_retry=$2
shift 2
;;
--verbose)
verbose=1
shift 1
;;
--)
shift
break
;;
-*)
echo "Unknown option '$1'"
showhelp
;;
*)
break
esac
done
# mysql client/admin default options
mysql_opts="--defaults-file=$MYCNF_PATH"
case $1 in
"uptime")
$MYSQLADMIN_BIN $mysql_opts status | cut -f2 -d':' | cut -f1 -d'T' | sed -e 's/^\s*//'
;;
"threads")
$MYSQLADMIN_BIN $mysql_opts status | cut -f3 -d':' | cut -f1 -d'Q' | sed -e 's/^\s*//'
;;
"slowqueries")
$MYSQLADMIN_BIN $mysql_opts status | cut -f5 -d':' | cut -f1 -d'O' | sed -e 's/^\s*//'
;;
"questions")
$MYSQLADMIN_BIN $mysql_opts status | cut -f4 -d':' | cut -f1 -d'S' | sed -e 's/^\s*//'
;;
"qps")
$MYSQLADMIN_BIN $mysql_opts status | cut -f9 -d':' | sed -e 's/^\s*//'
;;
"ping")
$MYSQLADMIN_BIN $mysql_opts status | grep alive | wc -l
;;
"opens")
$MYSQLADMIN_BIN $mysql_opts status | cut -f6 -d':' | cut -f1 -d'F' | sed -e 's/^\s*//'
;;
"opentables")
$MYSQLADMIN_BIN $mysql_opts status | cut -f8 -d':' | cut -f1 -d'Q' | sed -e 's/^\s*//'
;;
"flushtables")
$MYSQLADMIN_BIN $mysql_opts status | cut -f7 -d':' | cut -f1 -d'O' | sed -e 's/^\s*//'
;;
com_* | "bytes_received" | "bytes_sent")
mysql_batch_query "$mysql_opts" "show global status" | egrep -i "^$1\s+" | awk '{ print $2 }' | sed -e 's/^\s*//'
;;
"replication" | "slave")
if [ ! -e $MYCNF_PATH ]; then
test -z "$slave_host" && { echo "Need to specify the MySQL slave host" >&2; showhelp; }
test -z "$slave_user" && { echo "Need to specify the MySQL slave user" >&2; showhelp; }
slave_opts="-u $slave_user --password=$slave_password -h $slave_host"
else
slave_opts="--defaults-file=$MYCNF_PATH"
fi
case $2 in
"discovery")
while read line; do
if [ -n "$line" ]; then
key=$(echo "$line" | awk -F ':' '{ print $1 }')
value=$(echo "$line" | awk -F ':' '{ print $2 }' | sed -e 's/\s*//g')
case $key in
"Replicate_Do_DB")
for db in $(echo "$value" | tr ',' ' '); do
test -z "$replicate_do_db" && replicate_do_db="$db" || replicate_do_db="$replicate_do_db $db"
done
;;
"Replicate_Ignore_DB")
for db in $(echo "$value" | tr ',' ' '); do
test -z "$replicate_ignore_db" && replicate_ignore_db="$db" || replicate_ignore_db="$replicate_ignore_db $db"
done
;;
"Replicate_Do_Table")
for table in $(echo "$value" | tr ',' ' '); do
test -z "$replicate_do_table" && replicate_do_table="$table" || replicate_do_table="$replicate_do_table $table"
done
;;
"Replicate_Ignore_Table")
for table in $(echo "$value" | tr ',' ' '); do
test -z "$replicate_ignore_table" && replicate_ignore_table="$table" || replicate_ignore_table="$replicate_ignore_table $table"
done
;;
"Replicate_Wild_Do_Table")
for table in $(echo "$value" | tr ',' ' '); do
test -z "$replicate_wild_do_table" && replicate_wild_do_table="$table" || replicate_wild_do_table="$replicate_wild_do_table $table"
done
;;
"Replicate_Wild_Ignore_Table")
for table in $(echo "$value" | tr ',' ' '); do
test -z "$replicate_wild_ignore_table" && replicate_wild_ignore_table="$table" || replicate_wild_ignore_table="$replicate_wild_ignore_table $table"
done
esac
fi
done <<EOF
$(mysql_batch_query "$slave_opts" 'SHOW SLAVE STATUS\G' | sed -e 's/^\s*//g' | egrep -i '^Replicate_')
EOF
do_db_query=
if [ -n "$replicate_do_db" ]; then
for db in $replicate_do_db; do
test -z "$do_db_query" && do_db_query="TABLE_SCHEMA = '$db'" || do_db_query="$do_db_query OR TABLE_SCHEMA = '$db'"
done
fi
ignore_db_query=
if [ -n "$replicate_ignore_db" ]; then
for db in $replicate_ignore_db; do
test -z "$ignore_db_query" && ignore_db_query="TABLE_SCHEMA != '$db'" || ignore_db_query="$ignore_db_query AND TABLE_SCHEMA != '$db'"
done
fi
do_table_query=
if [ -n "$replicate_do_table" ]; then
for dbtable in $replicate_do_table; do
db=$(echo "$dbtable" | cut -d '.' -f 1)
table=$(echo "$dbtable" | cut -d '.' -f 2)
test -z "$do_table_query" && do_table_query="(TABLE_SCHEMA = '$db' AND TABLE_NAME = '$table')" || do_table_query="$do_table_query OR (TABLE_SCHEMA = '$db' AND TABLE_NAME = '$table')"
done
fi
ignore_table_query=
if [ -n "$replicate_ignore_table" ]; then
for dbtable in $replicate_ignore_table; do
db=$(echo "$dbtable" | cut -d '.' -f 1)
table=$(echo "$dbtable" | cut -d '.' -f 2)
test -z "$replicate_ignore_table" && ignore_table_query="(TABLE_SCHEMA != '$db' AND TABLE_NAME != '$table')" || ignore_table_query="$ignore_table_query AND (TABLE_SCHEMA != '$db' AND TABLE_NAME != '$table')"
done
fi
wild_do_table_query=
if [ -n "$replicate_wild_do_table" ]; then
for dbtable in $replicate_wild_do_table; do
db=$(echo "$dbtable" | cut -d '.' -f 1)
table=$(echo "$dbtable" | cut -d '.' -f 2)
test -z "$wild_do_table_query" && wild_do_table_query="(TABLE_SCHEMA LIKE '$db' AND TABLE_NAME LIKE '$table')" || wild_do_table_query="$wild_do_table_query OR (TABLE_SCHEMA LIKE '$db' AND TABLE_NAME LIKE '$table')"
done
fi
wild_ignore_table_query=
if [ -n "$replicate_wild_ignore_table" ]; then
for dbtable in $replicate_wild_ignore_table; do
db=$(echo "$dbtable" | cut -d '.' -f 1)
table=$(echo "$dbtable" | cut -d '.' -f 2)
test -z "$wild_ignore_table_query" && wild_ignore_table_query="(TABLE_SCHEMA NOT LIKE '$db' AND TABLE_NAME NOT LIKE '$table')" || wild_ignore_table_query="$wild_ignore_table_query AND (TABLE_SCHEMA NOT LIKE '$db' AND TABLE_NAME NOT LIKE '$table')"
done
fi
# rules
# 1. replicate-do-db and replicate-ignore-db
# 2. replicate-do-table and replicate-wild-do-table
# 2. replicate-ignore-table and replicate-wild-ignore-table
do_query=
if [ -n "$do_db_query" ]; then
do_query="(($do_db_query)"
fi
if [ -n "$do_table_query" ]; then
test -z "$do_query" && do_query="($do_table_query)" || do_query="$do_query OR ($do_table_query)"
fi
if [ -n "$wild_do_table_query" ]; then
test -z "$do_query" && do_query="($wild_do_table_query)" || do_query="$do_query OR ($wild_do_table_query)"
fi
ignore_query=
if [ -n "$ignore_db_query" ]; then
ignore_query="($ignore_db_query)"
fi
if [ -n "$ignore_table_query" ]; then
test -z "$ignore_query" && ignore_query="($ignore_table_query)" || ignore_query="$ignore_query AND ($ignore_table_query)"
fi
if [ -n "$wild_ignore_table_query" ]; then
test -z "$ignore_query" && ignore_query="($wild_ignore_table_query)" || ignore_query="$ignore_query AND ($wild_ignore_table_query)"
fi
# build the query
test -n "$do_query" && query="AND ($do_query)"
if [ -n "$ignore_query" ]; then
test -z "$query" && query="AND ($ignore_query)" || query="$query AND ($ignore_query)"
fi
if [ $verbose -eq 1 ]; then
echo "replicate_do_db: $replicate_do_db"
echo "replicate_ignore_db: $replicate_ignore_db"
echo "replicate_do_table: $replicate_do_table"
echo "replicate_ignore_table: $replicate_ignore_table"
echo "replicate_wild_do_table: $replicate_wild_do_table"
echo "replicate_wild_ignore_table: $replicate_wild_ignore_table"
echo "do_db_query: $do_db_query"
echo "ignore_db_query: $ignore_db_query"
echo "do_table_query: $do_table_query"
echo "ignore_table_query: $ignore_table_query"
echo "wild_do_table_query: $wild_do_table_query"
echo "wild_ignore_table_query: $wild_ignore_table_query"
echo "query: $query"
fi
count=0
echo "{"
echo " \"data\": ["
while read schema; do
if [ -n "$schema" ]; then
database_name=$(echo "$schema" | awk '{ print $1 }')
table_name=$(echo "$schema" | awk '{ print $2 }')
[ $count -gt 0 ] && echo " },"
echo " {"
echo " \"{#DATABASE_NAME}\": \"$database_name\","
echo " \"{#TABLE_NAME}\": \"$table_name\""
count=$((count+1))
fi
done <<EOF
$(mysql_batch_query "$slave_opts --skip-column-names" "SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.tables WHERE TABLE_TYPE != 'VIEW' $query")
EOF
[ $count -gt 0 ] && echo " }"
echo " ]"
echo "}"
;;
"checksum")
target=$3
test -z "$master_host" && { echo "Need to specify the MySQL master host" >&2; showhelp; }
test -z "$master_user" && { echo "Need to specify the MySQL master user" >&2; showhelp; }
test -z "$target" && { echo "Need to specify one target to checksum" >&2; showhelp; }
master_opts="-u $master_user --password=$master_password -h $master_host"
retry_count=0
while [ $retry_count -lt $checksum_retry ]; do
master_checksum=$(mysql_batch_query "${master_opts} --skip-column-names" "CHECKSUM TABLE $target" | awk '{ print $2 }')
slave_checksum=$(mysql_batch_query "${slave_opts} --skip-column-names" "CHECKSUM TABLE $target" | awk '{ print $2 }')
if [ $verbose -eq 1 ]; then
echo "master_checksum: |${master_checksum}|"
echo "slave_checksum: |${slave_checksum}|"
fi
if [[ "$master_checksum" != "NULL" && "$slave_checksum" != "NULL" ]]; then
if [ $master_checksum -ne $slave_checksum ]; then
sleep 1
else
break
fi
fi
retry_count=$((retry_count+1))
[ $verbose -eq 1 ] && echo "retrying ($retry_count/$checksum_retry)"
done
if [[ "$master_checksum" != "NULL" && "$slave_checksum" != "NULL" ]]; then
[ $master_checksum -eq $slave_checksum ] && echo 0 || echo 1
else
# absent
echo -1
fi
;;
"last_errno")
errno=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Last_Errno:" | sed -e 's/\s*//g' | awk -F ':' '{ print $2 }')
test -n "$errno" && echo $errno
;;
"last_io_errno")
io_errno=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Last_IO_Errno:" | sed -e 's/\s*//g' | awk -F ':' '{ print $2 }')
test -n "$io_errno" && echo $io_errno
;;
"lag")
lag=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Seconds_Behind_Master:" | sed -e 's/\s*//g' | awk -F ':' '{ print $2 }' | sed -e 's/^NULL$/-1/')
test -n "$lag" && echo $lag
;;
"io_thread")
io_thread_status=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Slave_IO_Running:" | sed -e 's/\s*//g' | tr '[A-Z]' '[a-z]' | awk -F ':' '{ print $2 }')
case $io_thread_status in
"yes") echo 0 ;;
"no") echo 1 ;;
"connecting") echo -1 ;;
esac
;;
"io_state")
io_state=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Slave_IO_State:" | awk -F ':' '{ print $2 }')
test -n "$io_state" && echo $io_state
;;
"last_io_error")
last_io_error=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Last_IO_Error:" | awk -F ':' '{ print $2 }')
test -n "$last_io_error" && echo $last_io_error
;;
"last_sql_error")
last_sql_error=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Last_SQL_Error:" | awk -F ':' '{ print $2 }')
test -n "$last_sql_error" && echo $last_sql_error
;;
"sql_thread")
sql_thread_status=$(mysql_batch_query "$slave_opts" "show slave status\G" | grep -i "Slave_SQL_Running:" | sed -e 's/\s*//g' | tr '[A-Z]' '[a-z]' | awk -F ':' '{ print $2 }')
case $sql_thread_status in
"yes") echo 0 ;;
"no") echo 1 ;;
esac
;;
"sync_log_pos")
positions=$(mysql_batch_query "$slave_opts" "show slave status\G" | egrep -i "(Read_Master_Log_Pos|Exec_Master_Log_Pos):" | awk -F ':' '{ print $2 }' | xargs)
read_master_log_pos=$(echo "$positions" | cut -d ' ' -f 1)
exec_master_log_pos=$(echo "$positions" | cut -d ' ' -f 2)
if [[ -n "$read_master_log_pos" && -n "$exec_master_log_pos" ]]; then
[ $read_master_log_pos -eq $exec_master_log_pos ] && echo 0 || echo 1
fi
;;
*)
showhelp $1
esac
;;
*)
showhelp
esac
exit 0
3)增加可执行权限
chmod +X MySQL_Zabbix.sh mysql.cfg
4)更新zabbix.agent2
systemctl restart zabbix-agent2
Zabbix-server 模板
1)模板一
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>3.2</version>
<date>2017-04-15T19:27:16Z</date>
<value_maps>
<value_map>
<name>MySQL - IO thread status</name>
<mappings>
<mapping>
<value>-1</value>
<newvalue>Disabled</newvalue>
</mapping>
<mapping>
<value>0</value>
<newvalue>Running</newvalue>
</mapping>
<mapping>
<value>1</value>
<newvalue>Not running</newvalue>
</mapping>
</mappings>
</value_map>
<value_map>
<name>MySQL - Master read/exec log position status</name>
<mappings>
<mapping>
<value>0</value>
<newvalue>In sync</newvalue>
</mapping>
<mapping>
<value>1</value>
<newvalue>Out of sync</newvalue>
</mapping>
</mappings>
</value_map>
<value_map>
<name>MySQL - Slave replication table status</name>
<mappings>
<mapping>
<value>-1</value>
<newvalue>Absent</newvalue>
</mapping>
<mapping>
<value>0</value>
<newvalue>Identical</newvalue>
</mapping>
<mapping>
<value>1</value>
<newvalue>Different</newvalue>
</mapping>
</mappings>
</value_map>
<value_map>
<name>MySQL - SQL thread status</name>
<mappings>
<mapping>
<value>-1</value>
<newvalue>Disabled</newvalue>
</mapping>
<mapping>
<value>0</value>
<newvalue>Running</newvalue>
</mapping>
<mapping>
<value>1</value>
<newvalue>Not running</newvalue>
</mapping>
</mappings>
</value_map>
</value_maps>
</zabbix_export>
2)模板二
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2015-02-19T09:55:43Z</date>
<groups>
<group>
<name>Generic Templates</name>
</group>
</groups>
<templates>
<template>
<template>Template-MySQL</template>
<name>Template-MySQL</name>
<groups>
<group>
<name>Generic Templates</name>
</group>
</groups>
<applications>
<application>
<name>MySQL</name>
</application>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<items>
<item>
<name>MySQL server uptime</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[uptime]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts>localhost</allowed_hosts>
<units>s</units>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>0</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of bytes received</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[bytes_received]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units>B</units>
<delta>1</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of bytes sent</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[bytes_sent]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units>B</units>
<delta>1</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of DELETE commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_delete]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of INSERT ... SELECT commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_insert_select]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of INSERT commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_insert]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of LOAD commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_load]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of multi-table UPDATE commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_update_multi]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex>50/1-7,00:00-24:00</delay_flex>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of multiple-table DELETE commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_delete_multi]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of queries per second</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[qps]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts>localhost</allowed_hosts>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>0</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of queries that have taken more than 1 second</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[slowqueries]</key>
<delay>900</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts>localhost</allowed_hosts>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>0</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of REPLACE ... SELECT commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_replace_select]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of REPLACE commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_replace]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of running processes mysqld</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>proc.num[mysqld]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts>localhost</allowed_hosts>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>0</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of SELECT commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_select]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of tables that currently are open</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[opentables]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts>localhost</allowed_hosts>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>0</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Number of UPDATE commands executed</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[com_update]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>2</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Commands counters</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>The number of active threads (clients)</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql[threads]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts>localhost</allowed_hosts>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>0</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL</name>
</application>
</applications>
<valuemap/>
</item>
</items>
<discovery_rules/>
<macros/>
<templates/>
<screens/>
</template>
</templates>
<triggers>
<trigger>
<expression>{Template-MySQL:proc.num[mysqld].last(0)}<1</expression>
<name>MySQL is not running</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template-MySQL:mysql[uptime].last(0)}<600</expression>
<name>MySQL server has been restarted</name>
<url/>
<status>0</status>
<priority>1</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
</triggers>
<graphs>
<graph>
<name>MySQL command counters</name>
<width>900</width>
<height>200</height>
<yaxismin>0.0000</yaxismin>
<yaxismax>100.0000</yaxismax>
<show_work_period>1</show_work_period>
<show_triggers>1</show_triggers>
<type>0</type>
<show_legend>1</show_legend>
<show_3d>0</show_3d>
<percent_left>0.0000</percent_left>
<percent_right>0.0000</percent_right>
<ymin_type_1>0</ymin_type_1>
<ymax_type_1>0</ymax_type_1>
<ymin_item_1>0</ymin_item_1>
<ymax_item_1>0</ymax_item_1>
<graph_items>
<graph_item>
<sortorder>0</sortorder>
<drawtype>0</drawtype>
<color>C80000</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_delete]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>0</drawtype>
<color>00C800</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_insert_select]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<drawtype>0</drawtype>
<color>0000C8</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_insert]</key>
</item>
</graph_item>
<graph_item>
<sortorder>3</sortorder>
<drawtype>0</drawtype>
<color>C800C8</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_load]</key>
</item>
</graph_item>
<graph_item>
<sortorder>4</sortorder>
<drawtype>0</drawtype>
<color>00C8C8</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_update_multi]</key>
</item>
</graph_item>
<graph_item>
<sortorder>5</sortorder>
<drawtype>0</drawtype>
<color>C8C800</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_delete_multi]</key>
</item>
</graph_item>
<graph_item>
<sortorder>6</sortorder>
<drawtype>0</drawtype>
<color>C8C8C8</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_replace_select]</key>
</item>
</graph_item>
<graph_item>
<sortorder>7</sortorder>
<drawtype>0</drawtype>
<color>960000</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_replace]</key>
</item>
</graph_item>
<graph_item>
<sortorder>8</sortorder>
<drawtype>0</drawtype>
<color>009600</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_select]</key>
</item>
</graph_item>
<graph_item>
<sortorder>9</sortorder>
<drawtype>0</drawtype>
<color>000096</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[com_update]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>MySQL network traffic</name>
<width>900</width>
<height>200</height>
<yaxismin>0.0000</yaxismin>
<yaxismax>100.0000</yaxismax>
<show_work_period>1</show_work_period>
<show_triggers>1</show_triggers>
<type>0</type>
<show_legend>1</show_legend>
<show_3d>0</show_3d>
<percent_left>0.0000</percent_left>
<percent_right>0.0000</percent_right>
<ymin_type_1>0</ymin_type_1>
<ymax_type_1>0</ymax_type_1>
<ymin_item_1>0</ymin_item_1>
<ymax_item_1>0</ymax_item_1>
<graph_items>
<graph_item>
<sortorder>0</sortorder>
<drawtype>5</drawtype>
<color>00C800</color>
<yaxisside>0</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[bytes_received]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<drawtype>0</drawtype>
<color>0000EE</color>
<yaxisside>1</yaxisside>
<calc_fnc>2</calc_fnc>
<type>0</type>
<item>
<host>Template-MySQL</host>
<key>mysql[bytes_sent]</key>
</item>
</graph_item>
</graph_items>
</graph>
</graphs>
</zabbix_export>
3)模板3
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2016-12-06T14:35:31Z</date>
<groups>
<group>
<name>Generic Templates</name>
</group>
</groups>
<templates>
<template>
<template>Template-MySQL_Slave</template>
<name>Template-MySQL_Slave</name>
<description/>
<groups>
<group>
<name>Generic Templates</name>
</group>
</groups>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<items>
<item>
<name>MySQL slave replication IO error number</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[last_io_errno]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>MySQL slave replication IO state</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[io_state]</key>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>0</status>
<value_type>4</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>MySQL slave replication IO thread</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[io_thread]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap>
<name>MySQL - IO thread status</name>
</valuemap>
<logtimefmt/>
</item>
<item>
<name>MySQL slave replication last io error</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[last_io_error]</key>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>1</status>
<value_type>4</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>MySQL slave replication last sql error</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[last_sql_error]</key>
<delay>60</delay>
<history>7</history>
<trends>365</trends>
<status>1</status>
<value_type>4</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>MySQL slave replication read/exec master log position status</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[sync_log_pos]</key>
<delay>120</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>3</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap>
<name>MySQL - Master read/exec log position status</name>
</valuemap>
<logtimefmt/>
</item>
<item>
<name>MySQL slave replication SQL error number</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[last_errno]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
<item>
<name>MySQL slave replication SQL thread</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[sql_thread]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap>
<name>MySQL - SQL thread status</name>
</valuemap>
<logtimefmt/>
</item>
<item>
<name>Number of seconds that the slave SQL thread is behind processing the master binary log</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication[lag]</key>
<delay>60</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts/>
<units>s</units>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
</items>
<discovery_rules>
<discovery_rule>
<name>MySQL replication tables discovery</name>
<type>0</type>
<snmp_community/>
<snmp_oid/>
<key>mysql.replication.discovery</key>
<delay>3600</delay>
<status>0</status>
<allowed_hosts/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<delay_flex/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<filter>
<evaltype>0</evaltype>
<formula/>
<conditions/>
</filter>
<lifetime>3</lifetime>
<description/>
<item_prototypes>
<item_prototype>
<name>Slave replication status on table {#DATABASE_NAME}.{#TABLE_NAME}</name>
<type>0</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>mysql.replication.checksum[{#DATABASE_NAME}.{#TABLE_NAME}]</key>
<delay>300</delay>
<history>7</history>
<trends>30</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>MySQL - Slave replication</name>
</application>
</applications>
<valuemap>
<name>MySQL - Slave replication table status</name>
</valuemap>
<logtimefmt/>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<expression>({TRIGGER.VALUE}=0 and {Template-MySQL_Slave:mysql.replication.checksum[{#DATABASE_NAME}.{#TABLE_NAME}].count(#3,1,"eq")}=3) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication.checksum[{#DATABASE_NAME}.{#TABLE_NAME}].count(#3,1,"eq")}>0)</expression>
<name>MySQL replication is out of sync on table {#DATABASE_NAME}.{#TABLE_NAME}</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes/>
<host_prototypes/>
</discovery_rule>
</discovery_rules>
<macros/>
<templates/>
<screens/>
</template>
</templates>
<triggers>
<trigger>
<expression>{Template-MySQL_Slave:mysql.replication[io_thread].last()}<>0</expression>
<name>IO thread is not running</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template-MySQL_Slave:mysql.replication[lag].last()}<>0</expression>
<name>Lagging behind its master ({ITEM.VALUE}s)</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>({TRIGGER.VALUE}=0 and ({Template-MySQL_Slave:mysql.replication[lag].count(#6,0,"ne")}=6 or {Template-MySQL_Slave:mysql.replication[lag].count(#4,-1,"eq")}=4)) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[lag].count(#10,0,"gt")}>0)</expression>
<name>MySQL slave is lagging behind its master ({ITEM.VALUE}s)</name>
<url/>
<status>1</status>
<priority>3</priority>
<description/>
<type>0</type>
<dependencies>
<dependency>
<name>MySQL slave replication SQL thread is not running</name>
<expression>({TRIGGER.VALUE}=0 and {Template-MySQL_Slave:mysql.replication[sql_thread].last()}<>0) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[sql_thread].last()}<>0)</expression>
</dependency>
</dependencies>
</trigger>
<trigger>
<expression>({TRIGGER.VALUE}=0 and {Template-MySQL_Slave:mysql.replication[last_io_errno].last(0)}<>0) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[last_io_errno].count(#3,0,"ne")}>0)</expression>
<name>MySQL slave replication IO stopped with error {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>3</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>({TRIGGER.VALUE}=0 and {Template-MySQL_Slave:mysql.replication[io_thread].last(0)}=1) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[io_thread].count(#5,0,"gt")}>0)</expression>
<name>MySQL slave replication IO thread is not running</name>
<url/>
<status>1</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>({TRIGGER.VALUE}=0 and {Template-MySQL_Slave:mysql.replication[sync_log_pos].last(0)}=1) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[sync_log_pos].count(#3,1,"eq")}>0)</expression>
<name>MySQL slave replication read/exec master log positions status</name>
<url/>
<status>1</status>
<priority>3</priority>
<description/>
<type>0</type>
<dependencies>
<dependency>
<name>MySQL slave is lagging behind its master ({ITEM.VALUE}s)</name>
<expression>({TRIGGER.VALUE}=0 and ({Template-MySQL_Slave:mysql.replication[lag].count(#6,0,"ne")}=6 or {Template-MySQL_Slave:mysql.replication[lag].count(#4,-1,"eq")}=4)) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[lag].count(#10,0,"gt")}>0)</expression>
</dependency>
</dependencies>
</trigger>
<trigger>
<expression>({TRIGGER.VALUE}=0 and {Template-MySQL_Slave:mysql.replication[last_errno].last(0)}<>0) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[last_errno].count(#3,0,"ne")}>0)</expression>
<name>MySQL slave replication SQL stopped with error {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>3</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>({TRIGGER.VALUE}=0 and {Template-MySQL_Slave:mysql.replication[sql_thread].last()}<>0) or ({TRIGGER.VALUE}=1 and {Template-MySQL_Slave:mysql.replication[sql_thread].last()}<>0)</expression>
<name>MySQL slave replication SQL thread is not running</name>
<url/>
<status>1</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template-MySQL_Slave:mysql.replication[sql_thread].last()}<>0 and {Template-MySQL_Slave:mysql.replication[io_thread].last()}<>0</expression>
<name>Slave is stopped</name>
<url/>
<status>1</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template-MySQL_Slave:mysql.replication[sql_thread].last()}<>0</expression>
<name>SQL thread is not running</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
</triggers>
</zabbix_export>