監控數據庫分爲三種:html
1.Zabbix Server 自帶模板監控無密碼MySQL數據庫
node
2.Zabbix Server 自帶模板監控有密碼MySQL數據庫 mysql
3.Zabbix Server 自帶模板監控更加靈活MySQL數據庫 sql
一:數據庫
一.安裝MariaDBbash
1>.安裝MariaDB ide
[root@node102 ~]# yum -y install mariadb-server Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.aliyun.com * updates: mirrors.163.com Resolving Dependencies --> Running transaction check ---> Package mariadb-server.x86_64 1:5.5.60-1.el7_5 will be installed --> Processing Dependency: perl-DBI for package: 1:mariadb-server-5.5.60-1.el7_5.x86_64 --> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.60-1.el7_5.x86_64 --> Processing Dependency: perl(Data::Dumper) for package: 1:mariadb-server-5.5.60-1.el7_5.x86_64 --> Processing Dependency: perl(DBI) for package: 1:mariadb-server-5.5.60-1.el7_5.x86_64 --> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: 1:mariadb-server-5.5.60-1.el7_5.x86_64 --> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: 1:mariadb-server-5.5.60-1.el7_5.x86_64 --> Processing Dependency: libaio.so.1()(64bit) for package: 1:mariadb-server-5.5.60-1.el7_5.x86_64 --> Running transaction check ---> Package libaio.x86_64 0:0.3.109-13.el7 will be installed ---> Package perl-DBD-MySQL.x86_64 0:4.023-6.el7 will be installed ---> Package perl-DBI.x86_64 0:1.627-4.el7 will be installed --> Processing Dependency: perl(RPC::PlServer) >= 0.2001 for package: perl-DBI-1.627-4.el7.x86_64 --> Processing Dependency: perl(RPC::PlClient) >= 0.2000 for package: perl-DBI-1.627-4.el7.x86_64 ---> Package perl-Data-Dumper.x86_64 0:2.145-3.el7 will be installed --> Running transaction check ---> Package perl-PlRPC.noarch 0:0.2020-14.el7 will be installed --> Processing Dependency: perl(Net::Daemon) >= 0.13 for package: perl-PlRPC-0.2020-14.el7.noarch --> Processing Dependency: perl(Net::Daemon::Test) for package: perl-PlRPC-0.2020-14.el7.noarch --> Processing Dependency: perl(Net::Daemon::Log) for package: perl-PlRPC-0.2020-14.el7.noarch --> Processing Dependency: perl(Compress::Zlib) for package: perl-PlRPC-0.2020-14.el7.noarch --> Running transaction check ---> Package perl-IO-Compress.noarch 0:2.061-2.el7 will be installed --> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch --> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch ---> Package perl-Net-Daemon.noarch 0:0.48-5.el7 will be installed --> Running transaction check ---> Package perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 will be installed ---> Package perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================================================== Installing: mariadb-server x86_64 1:5.5.60-1.el7_5 base 11 M Installing for dependencies: libaio x86_64 0.3.109-13.el7 base 24 k perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k perl-DBD-MySQL x86_64 4.023-6.el7 base 140 k perl-DBI x86_64 1.627-4.el7 base 802 k perl-Data-Dumper x86_64 2.145-3.el7 base 47 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0.48-5.el7 base 51 k perl-PlRPC noarch 0.2020-14.el7 base 36 k Transaction Summary =========================================================================================================================================================================================== Install 1 Package (+9 Dependent packages) Total download size: 12 M Installed size: 62 M Downloading packages: (1/10): libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00 (2/10): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm | 57 kB 00:00:00 (3/10): perl-Data-Dumper-2.145-3.el7.x86_64.rpm | 47 kB 00:00:00 (4/10): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32 kB 00:00:00 (5/10): perl-IO-Compress-2.061-2.el7.noarch.rpm | 260 kB 00:00:00 (6/10): perl-Net-Daemon-0.48-5.el7.noarch.rpm | 51 kB 00:00:00 (7/10): perl-PlRPC-0.2020-14.el7.noarch.rpm | 36 kB 00:00:00 (8/10): perl-DBD-MySQL-4.023-6.el7.x86_64.rpm | 140 kB 00:00:00 (9/10): perl-DBI-1.627-4.el7.x86_64.rpm | 802 kB 00:00:00 (10/10): mariadb-server-5.5.60-1.el7_5.x86_64.rpm | 11 MB 00:00:07 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.7 MB/s | 12 MB 00:00:07 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : perl-Data-Dumper-2.145-3.el7.x86_64 1/10 Installing : libaio-0.3.109-13.el7.x86_64 2/10 Installing : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 3/10 Installing : perl-Net-Daemon-0.48-5.el7.noarch 4/10 Installing : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 5/10 Installing : perl-IO-Compress-2.061-2.el7.noarch 6/10 Installing : perl-PlRPC-0.2020-14.el7.noarch 7/10 Installing : perl-DBI-1.627-4.el7.x86_64 8/10 Installing : perl-DBD-MySQL-4.023-6.el7.x86_64 9/10 Installing : 1:mariadb-server-5.5.60-1.el7_5.x86_64 10/10 Verifying : 1:mariadb-server-5.5.60-1.el7_5.x86_64 1/10 Verifying : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 2/10 Verifying : perl-Net-Daemon-0.48-5.el7.noarch 3/10 Verifying : perl-Data-Dumper-2.145-3.el7.x86_64 4/10 Verifying : perl-DBD-MySQL-4.023-6.el7.x86_64 5/10 Verifying : perl-IO-Compress-2.061-2.el7.noarch 6/10 Verifying : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 7/10 Verifying : perl-DBI-1.627-4.el7.x86_64 8/10 Verifying : libaio-0.3.109-13.el7.x86_64 9/10 Verifying : perl-PlRPC-0.2020-14.el7.noarch 10/10 Installed: mariadb-server.x86_64 1:5.5.60-1.el7_5 Dependency Installed: libaio.x86_64 0:0.3.109-13.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBD-MySQL.x86_64 0:4.023-6.el7 perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PlRPC.noarch 0:0.2020-14.el7 Complete! [root@node102 ~]#
2>.啓動MariaDB測試
[root@node102 ~]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@node102 ~]# [root@node102 ~]# systemctl start mariadb [root@node102 ~]# [root@node102 ~]# [root@node102 ~]# systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. [root@node102 ~]# [root@node102 ~]# [root@node102 ~]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2019-02-19 08:01:16 PST; 7s ago Main PID: 3860 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─3860 /bin/sh /usr/bin/mysqld_safe --basedir=/usr └─4022 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/... Feb 19 08:01:14 node102.yinzhengjie.org.cn mariadb-prepare-db-dir[3782]: MySQL manual for more instructions. Feb 19 08:01:14 node102.yinzhengjie.org.cn mariadb-prepare-db-dir[3782]: Please report any problems at http://mariadb.org/jira Feb 19 08:01:14 node102.yinzhengjie.org.cn mariadb-prepare-db-dir[3782]: The latest information about MariaDB is available at http://mariadb.org/. Feb 19 08:01:14 node102.yinzhengjie.org.cn mariadb-prepare-db-dir[3782]: You can find additional information about the MySQL part at: Feb 19 08:01:14 node102.yinzhengjie.org.cn mariadb-prepare-db-dir[3782]: http://dev.mysql.com Feb 19 08:01:14 node102.yinzhengjie.org.cn mariadb-prepare-db-dir[3782]: Consider joining MariaDB's strong and vibrant community: Feb 19 08:01:14 node102.yinzhengjie.org.cn mariadb-prepare-db-dir[3782]: https://mariadb.org/get-involved/ Feb 19 08:01:14 node102.yinzhengjie.org.cn mysqld_safe[3860]: 190219 08:01:14 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. Feb 19 08:01:14 node102.yinzhengjie.org.cn mysqld_safe[3860]: 190219 08:01:14 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql Feb 19 08:01:16 node102.yinzhengjie.org.cn systemd[1]: Started MariaDB database server. [root@node102 ~]# [root@node102 ~]#
二.Zabbix Server 配置監控無密碼的MariaDB數據庫ui
1>.建立主機spa
2>.配置host界面
3>.配置zabbix監控數據庫的模板
4>.主機添加完成
5>.以下圖所示,zabbix默認有14個監控項
6>.查看監控MySQL的圖形
二:
一.Zabbix-agent端的配置
1>.爲數據庫設置密碼
[root@node102 ~]# mysql -uroot -pyinzhengjie #看見沒?默認是不須要密碼就能夠登陸的!咱們想要設置密碼的話,就得進行受權操做! ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) [root@node102 ~]# [root@node102 ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 227 Server version: 5.5.60-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)]> GRANT ALL ON *.* TO root@'localhost' IDENTIFIED BY 'yinzhengjie'; #建立受權用戶 Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> FLUSH PRIVILEGES; #刷新權限 Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> MariaDB [(none)]> quit Bye [root@node102 ~]# [root@node102 ~]# mysql -uroot -pyinzhengjie #驗證建立的用戶是否可用正常登陸! Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 254 Server version: 5.5.60-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)]> quit Bye [root@node102 ~]# [root@node102 ~]#
2>.修改zabbix-agent端的數據庫配置文件並重啓服務
[root@node102 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf | egrep -v '^#|^$' UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -uroot -pyinzhengjie -N | awk '{print $$2}' #這裏須要修改一些 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 -N' UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping -uroot -pyinzhengjie | grep -c alive #除了修改第一個,咱們還須要修改這一行,把上面的配置的用戶和密碼加入進去! UserParameter=mysql.version,mysql -V [root@node102 ~]# [root@node102 ~]# [root@node102 ~]# systemctl restart zabbix-agent [root@node102 ~]# [root@node102 ~]#
二.Zabbix Server監控Agent端的數據庫
服務端配置大同小異,可參考上面無密碼監控mysql
三:
一.zabbix-agent端配置
1>.修改zabbix的item配置文件
[root@node102 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf | egrep -v '^#|^$' UserParameter=mysql.status[*],echo "show global status where Variable_name='$3';" | HOME=/var/lib/zabbix mysql -u$1 -p$2 -N | awk '{print $$2}' #注意這裏修改了3處 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 -N' UserParameter=mysql.ping[*],HOME=/var/lib/zabbix mysqladmin ping -u$1 -p$2 | grep -c alive #這裏也修改了3處 UserParameter=mysql.version,mysql -V [root@node102 ~]# [root@node102 ~]# systemctl restart zabbix-agent [root@node102 ~]#
2>.使用zabbix-Server測試
[root@node101 ~]# zabbix_get -s node102.yinzhengjie.org.cn -k mysql.status[root,yinzhengjie,Uptime] #很顯然,咱們是能夠取到值的! 3128 [root@node101 ~]# [root@node101 ~]# zabbix_get -s node102.yinzhengjie.org.cn -k mysql.status[root,yinzhengjie,Uptime] 3129 [root@node101 ~]# [root@node101 ~]# zabbix_get -s node102.yinzhengjie.org.cn -k mysql.status[root,yinzhengjie,Uptime] 3130 [root@node101 ~]# [root@node101 ~]#
3>.建立MySQL測試用戶
[root@node102 ~]# mysql -uroot -pyinzhengjie Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 728 Server version: 5.5.60-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)]> MariaDB [(none)]> GRANT ALL ON *.* TO monitor@'localhost' IDENTIFIED BY 'yinzhengjie2019'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) MariaDB [(none)]> quit Bye [root@node102 ~]#
二.zabbix-Server端配置
1>.找到zabbix-server的數據庫模板
2>.添加zabbix的變量
3>.更新模板
4>.重複下圖操做,將默認的13個監控項的key都添加2個變量
5>.數據庫模板配置完成
6>.配置被監控的數據庫的用戶名和密碼
7>.配置完成
8>.在zabbix-server端讓配置當即生效
[root@node101 ~]# zabbix_server -R config_cache_reload #從新加載配置信息 zabbix_server [4009]: command sent successfully [root@node101 ~]# [root@node101 ~]#
9>.查看監控圖像