笺注:这是在 CentOS8编译安装Zabbix4.4.5 的基础上进行的,监控本机的MariaDB
配置本机的MariaDB数据库:( 使用数据库管理员root@localhost )
[root@centos8 ~]# mysql -u"root" -h"localhost"
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 100
Server version: 10.3.17-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
注释:
此时,数据库管理员root@localhost没有设置密码;
-h"localhost" 是可以省略的;
查看当前登录的数据库用户:
MariaDB [(none)]> Select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.000 sec)
MariaDB [(none)]>
再授权数据库用户zbx_monitor@localhost(密码168),只能本地登录,对所有的库有完全控制的权限:
MariaDB [(none)]> create user zbx_monitor@localhost identified by '168';
Query OK, 0 rows affected (0.002 sec)
MariaDB [(none)]> grant all on *.* to zbx_monitor@localhost;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]>
查看本地数据库用户zbx_monitor@localhost的权限:
MariaDB [(none)]> show grants for zbx_monitor@localhost;
+-----------------------------------------------------------------------------------------------------------------------------+
| Grants for zbx_monitor@localhost |
+-----------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'zbx_monitor'@'localhost' IDENTIFIED BY PASSWORD '*242E46A1E8D30FE06F7CE37B55BFC25BA981D70C' |
+-----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.001 sec)
MariaDB [(none)]>
显示所有库:
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -e "show databases;"
+--------------------+
| Database |
+--------------------+
| db1 |
| information_schema |
| mysql |
| performance_schema |
| zabbix |
+--------------------+
[root@centos8 ~]#
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -sN -e "show databases;"
db1
information_schema
mysql
performance_schema
zabbix
[root@centos8 ~]#
显示所有库的总大小:(以字节为单位)
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES;"
+----------+
| data |
+----------+
| 10971378 |
+----------+
[root@centos8 ~]#
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES;" |awk '{print $1}'|tail -1
10971378
[root@centos8 ~]#
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -sN -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES;"
10971378
[root@centos8 ~]#
显示库zabbix的大小:(以字节为单位)
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES where table_schema = 'zabbix';"
+---------+
| data |
+---------+
| 9650176 |
+---------+
[root@centos8 ~]#
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES where table_schema = 'zabbix';" |awk '{print $1}'|tail -1
9650176
[root@centos8 ~]#
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -sN -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES where table_schema = 'zabbix';"
9650176
[root@centos8 ~]#
显示库zabbix的表users的大小:(以字节为单位)
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -e "select concat(sum(DATA_LENGTH))as data from information_schema.TABLES where table_schema='zabbix' and table_name='users';"
+-------+
| data |
+-------+
| 16384 |
+-------+
[root@centos8 ~]#
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -e "select concat(sum(DATA_LENGTH))as data from information_schema.TABLES where table_schema='zabbix' and table_name='users';" |awk '{print $1}'|tail -1
16384
[root@centos8 ~]#
[root@centos8 ~]# mysql -u"zbx_monitor" -p"168" -sN -e "select concat(sum(DATA_LENGTH))as data from information_schema.TABLES where table_schema='zabbix' and table_name='users';"
16384
[root@centos8 ~]#
#############
#############
修改Zabbix服务器的Agent配置文件:
[root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
# UnsafeUserParameters=0
修改为:(启用该功能)
UnsafeUserParameters=1
接着插入:
UserParameter=command_1,mysql -u"zbx_monitor" -p"168" -sN -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES;"
UserParameter=command_2,mysql -u"zbx_monitor" -p"168" -sN -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES where table_schema = 'zabbix';"
UserParameter=command_3[*],mysql -u"zbx_monitor" -p"168" -sN -e "select concat(sum(DATA_LENGTH)) as data from information_schema.TABLES where table_schema = '$1';"
UserParameter=command_4[*],mysql -u"zbx_monitor" -p"168" -sN -e "select concat(sum(DATA_LENGTH))as data from information_schema.TABLES where table_schema='$1' and table_name='$2';"