前言
zabbix安裝時我們把lamp環境都安裝在了一臺服務器上,但是mysql的容量關係zabbix的命脈,要是容量不夠用的話,再多的檢測數據也沒法存儲,嚴重限制了zabbix性能,就像是相當於給zabbix帶上了“緊箍咒”。針對這種情況,需要把mysql數據庫分離出去就解決了。
環境:
設備 | 描述 |
---|---|
192.168.10.7(zabbix服務器) | lamp集於一身的zabbix |
192.168.10.4(msyql數據庫) | 分離到的數據庫 |
192.168.10.8(agent端) | 監控的agent端 |
1>//自行準備mysql數據庫。可參考:https://blog.csdn.net/weixin_43815140/article/details/105163108
2>//開啓數據庫,創建同名數據庫和用戶
創建數據庫,添加支持中文字符集:
mysql> create database zabbix character set utf8 collate utf8_bin;
給zabbix賦權:
mysql> grant all on zabbix.* to zabbix@'%' identified by '123.com';
3 >//在zabbix服務器上備份導出zabbix數據庫
在zabbix服務器上備份數據庫文件:
mysqldump -uroot -p123.com --databases zabbix > `date +%F%H`_zabbix.sql
在192.168.10.4上scp拷貝過來數據庫文件
[[email protected] ~]# scp [email protected]:/root/2020-04-2115_zabbix.sql ./
4>// 在192.168.10.4mysql數據庫上把備份的數據庫文件導入
mysql -uroot -p < 2020-04-2115_zabbix.sql
Enter password: #密碼123.com
還沒有完,數據庫只是轉移過去了,但是原來的數據庫連接信息還在zabbix-server上面,zabbix_server.conf
,/web/zabbix.conf.php
都是需要改的,web/zabbix.conf.php是安裝完成的時候生成的與mysql有關的文件。、
注意最下面一行
5>//修改zabbix-server上的數據庫連接信息
[root@localhost ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=192.168.10.4
DBName=zabbix
DBUser=zabbix
DBPassword=123.com
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
6>//修改/etc/zabbix/web/zabbix.conf.php
[root@localhost ~]# grep -Ev '^$|#' /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.10.4';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = '123.com';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'lzj_zabbix';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
7>//在server端重啓zabbix和httpd,關閉mysql,驗證
systemctl restart zabbix-server httpd
systemctl stop mariadb.service
沒有問題,依然可以訪問,到這裏,數據庫就轉移成功了。