3.2 Zabbix-Server服務(wù)器端的安裝
下面以64位CentOS 7操作系統(tǒng)為例,介紹如何安裝Zabbix-Server服務(wù)器端。Zabbix-Server的最新版本為4.0 alpha8(2018年7月)。我們采用官方RPM包方式進行安裝,這也是本書推薦的方式,該方式較簡捷。如果讀者需要使用源碼方式進行安裝,則請閱讀本書第14章。
準(zhǔn)備好CentOS 7.5系統(tǒng),配置IP地址,確保與互聯(lián)網(wǎng)連接正常。對于不能連接互聯(lián)網(wǎng)的環(huán)境,則可以將相關(guān)安裝包下載到本地進行安裝。
通過SSH登錄系統(tǒng),測試網(wǎng)絡(luò)是否連通,如圖3-2所示。
訪問Zabbix的軟件倉庫網(wǎng)站,網(wǎng)址為圖3-3 Zabbix的軟件倉庫網(wǎng)站首頁
找到4.0目錄,如圖3-4所示,再找到zabbix-release文件,復(fù)制路徑(筆者在寫作本書時,4.0的正式穩(wěn)定版本剛剛發(fā)布)。
安裝Zabbix的RPM包軟件倉庫官方源,如圖3-5所示。
#CentOS 7,4.X版本的安裝 shell# rpm -ivh #CentOS 7,3.X版本的安裝 shell# rpm -ivh
注意:由于軟件版本的更新,如果以上鏈接失效,讀者可在3.2.1 安裝Zabbix-Server
安裝Zabbix-Server服務(wù)器端,由于服務(wù)器端也是需要監(jiān)控的,故這里也一并安裝了Zabbix-Agent。 此過程安裝的軟件包如下: 可以看到,并沒有自動安裝mysql-server,因此,我們還需要運行一條安裝MySQL的命令。 在CentOS 7系統(tǒng)包倉庫安裝源中,我們需要安裝mariadb-server,而不是MySQL數(shù)據(jù)庫服務(wù)(7.0以后的版本用MariaDB替換了MySQL),命令如下: 所需的依賴包如下: 修改MySQL配置文件,使用以下命令(粗體字部分很重要): 啟動服務(wù),使用以下命令: 設(shè)置開機自啟動,使用以下命令: 查看服務(wù)是否啟動成功,如圖3-6所示。 1.創(chuàng)建Zabbix數(shù)據(jù)庫 首先設(shè)置MySQL的root用戶密碼,然后創(chuàng)建zabbix數(shù)據(jù)庫,設(shè)置訪問策略,使用以下命令: 注意:這里容易出現(xiàn)的問題是,如果創(chuàng)建zabbix數(shù)據(jù)庫的字符集不為UTF-8,則可能會導(dǎo)致Web界面切換到中文語言時出現(xiàn)亂碼。 2.導(dǎo)入Zabbix庫的數(shù)據(jù)文件 導(dǎo)入Zabbix庫的數(shù)據(jù)文件,使用以下命令: Zabbix-Proxy的安裝和配置是后續(xù)章節(jié)的內(nèi)容,這里僅列出SQL導(dǎo)入命令,以便加深印象。 配置zabbix_server.conf文件如下: 1.默認(rèn)參數(shù) 2.修改后的參數(shù)(可參考) 以上參數(shù)只需關(guān)注粗體字部分,這部分為性能參數(shù),需要根據(jù)實際情況進行調(diào)整。具體參數(shù)調(diào)整可以參考本書12.10節(jié)。告警和擴展腳本路徑可能默認(rèn)不存在,使用以下命令創(chuàng)建目錄: 3.開啟Zabbix-Server服務(wù) 開啟Zabbix-Server相關(guān)服務(wù),使用以下命令: 添加開機啟動項,使用以下命令: 1.防火墻的設(shè)置 如果CentOS操作系統(tǒng)存在防火墻,則需要允許相關(guān)端口能夠訪問,配置命令如下: 上述規(guī)則中,10050是Agent的端口,Agent采用被動方式,Server主動連接Agent的10050端口;10051是Server的端口,Agent采用主動或Trapper方式,會連接Server的10051端口。對于具有防火墻的網(wǎng)絡(luò)環(huán)境,采取相同的防火墻規(guī)則策略即可。 2.SELinux的設(shè)置 如果操作系統(tǒng)已開啟SELinux,則需要設(shè)置語句開啟允許SELinux的相關(guān)策略。 在Zabbix 3.0版本中(Zabbix 2.2和Zabbix 4.0可以支持SELinux), zabbix_server對SELinux的支持存在問題,故建議用戶直接關(guān)閉SELinux。在實際的生產(chǎn)環(huán)境中,大部分用戶也是選擇關(guān)閉SELinux的。雖然紅帽官方建議用戶使用SELinux,以及紅帽工程師認(rèn)證必須熟練掌握SELinux,但由于其安全規(guī)則過于復(fù)雜,且安全問題導(dǎo)致問題排查比較困難,故在實際環(huán)境中,在大部分情況下,均選擇關(guān)閉SELinux。這也許就是理論與實際的差距,過于復(fù)雜的產(chǎn)品或規(guī)則,用戶無法很好地掌握。 直接關(guān)閉SELinux的方法: 注意:此方式需要重啟服務(wù)器才能生效。 3.php.ini配置文件的設(shè)置 修改php.ini相關(guān)配置參數(shù),命令如下: 在LAMP環(huán)境中,也可以按下述方式配置PHP的參數(shù),將相關(guān)參數(shù)配置于Apache配置文件中。在Zabbix官方提供的RPM包中,這一步已經(jīng)默認(rèn)配置過了,一般只需要修改date.timezone即可。配置參數(shù)如下: 如果在后面配置Web時提示任何參數(shù)不滿足安裝與配置要求(如圖3-7所示),則修改對應(yīng)的參數(shù)后重啟httpd即可。 打開瀏覽器,輸入
PHP提示的各項參數(shù)都滿足后,可以繼續(xù)往下進行,單擊“Next step”按鈕,如圖3-9所示。如果提示參數(shù)不通過,則修改php.ini配置文件,并重啟Web(httpd)服務(wù)。 配置數(shù)據(jù)庫連接的各項參數(shù),如圖3-10所示。單擊“Next step”按鈕進行下一步操作。 Zabbix-Server的連接地址、端口、名稱設(shè)置(見圖3-11)將會顯示在Zabbix的前端頁面中。 注意:如果Zabbix-Server在其他機器中,那么這里的Host要填寫Zabbix-Server所在機器的IP地址。必須保證從Zabbix前端PHP所在的這臺服務(wù)器能連接到Server服務(wù)器端口10051。 如圖3-12所示,這些配置信息將會被寫入/${PATH}/zabbix/conf/zabbix.conf.php文件中,如圖3-13所示。 Zabbix-Web連接數(shù)據(jù)庫和Zabbix-Server端口的相關(guān)配置信息如下: 接下來進入如圖3-14所示的登錄頁面,默認(rèn)賬戶是Admin,密碼是zabbix,登錄成功后的首頁如圖3-15所示。 在System information面板中,如Zabbix server is running為No,則分別檢查SELinux、iptables,以及zabbix_server.conf和zabbix.conf.php中的各項配置參數(shù),如下所示。 (1)/etc/zabbix/zabbix_server.conf中的參數(shù)。 (2)/usr/share/zabbix/conf/zabbix.conf.php中的配置。 Zabbix是支持多語言的,可以為每個用戶配置不同的語言環(huán)境。單擊菜單Administration→Users→User name→Languages可以修改用戶的語言環(huán)境(雖然Zabbix支持中文,但本書并不推薦讀者使用中文界面,原因是中文界面的翻譯不準(zhǔn)確,會誤導(dǎo)讀者,故本書使用英文界面來講解),如圖3-16所示。如要修改當(dāng)前用戶的語言,可單擊個人信息進行語言切換。 另外,在個人用戶設(shè)置中,可以開啟聲音告警的提示信息和前端消息的聲音提示,如圖3-17所示。 此外,還需要禁用Guests組,防止非授權(quán)登錄用戶訪問,如圖3-18所示。 第一種情況:在其他參數(shù)(iptables、SELinux等)配置正確的情況下,如果Web界面出現(xiàn)提示Zabbix-Server無法連接成功的信息,如圖3-19所示,則進入Zabbix-Server所在的系統(tǒng),利用Telnet進行測試,如圖3-20所示。 可以看到10.0.0.1的10051端口是不通的,此時可以做如下調(diào)整: /etc/zabbix/web/zabbix.conf.php是官方RPM包安裝的PHP代碼文件位置。 將10.0.0.1修改為127.0.0.1,修改前如圖3-21所示,修改后如圖3-22所示。 第二種情況:數(shù)據(jù)庫文件mysql.sock無法找到,提示信息如下。 出現(xiàn)這種報錯,是因為PHP無法通過Socket連接到MySQL。可以執(zhí)行如下命令: 注意:在將/etc/php.ini修改為mysql.sock實際存在的路徑后,重啟httpd服務(wù)。 第三種情況:數(shù)據(jù)庫連接失敗,提示如圖3-23所示。 解決問題的思路和方法:①檢查數(shù)據(jù)庫服務(wù)是否正常;②檢查防火墻是否允許;③檢查權(quán)限是否允許訪問;④檢查連接MySQL是否出現(xiàn)問題。 zabbix_server提供了一些操作命令,如指定加載哪個配置文件。另外,在Zabbix 3.0版本以后,可以在線熱加載改變某個配置參數(shù),支持對緩存、日志運行級別的在線調(diào)整,而不需要重啟服務(wù)。zabbix_server程序支持的全部參數(shù)如下: 上面列出了參數(shù)的使用幫助信息,下面對這些參數(shù)進行具體的講解。 手動執(zhí)行清理器(Housekeeper),可以刪除過期數(shù)據(jù)。命令如下: 在線執(zhí)行重載配置緩存,命令如下: 在線調(diào)整日志運行級別,命令如下:
#此處是4.0版本的安裝命令,3.0版本的安裝命令與之相同
shell# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get -y
#在Zabbix-Server服務(wù)器上安裝Zabbix-Agent,是為了通過Agent方式監(jiān)控
#Zabbix-Sever服務(wù)器本身的運行情況
Installing : libzip-0.10.1-8.el7.x86_64 1/37
Installing : php-common-5.4.16-45.el7.x86_64 2/37
Installing : php-bcmath-5.4.16-45.el7.x86_64 3/37
……
Installing : php-pdo-5.4.16-45.el7.x86_64 8/37
Installing : php-mysql-5.4.16-45.el7.x86_64 9/37
……
Installing : httpd-2.4.6-80.el7.centos.1.x86_64 28/37
Installing : php-5.4.16-45.el7.x86_64 29/37
……
Installing : zabbix-web-mysql-4.0.0-1.1rc3.el7.noarch 32/37
Installing : zabbix-web-4.0.0-1.1rc3.el7.noarch 33/37
Installing : fping-3.10-1.el7.x86_64 34/37
Installing : zabbix-server-mysql-4.0.0-1.1rc3.el7.x86_64 35/37
Installing : zabbix-agent-4.0.0-1.1rc3.el7.x86_64 36/37
Installing : zabbix-get-4.0.0-1.1rc3.el7.x86_64 37/37
3.2.2 安裝MySQL
shell# yum -y install mariadb-server
Installing : 1:mariadb-5.5.56-2.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.56-2.el7.x86_64 10/10
shell# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8 #設(shè)置字符集為UTF-8
innodb_file_per_table=1 #讓InnoDB的每個表文件單獨存儲
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#注意,以上MySQL配置參數(shù)僅滿足小規(guī)模監(jiān)控環(huán)境使用,適合初次接觸MySQL的讀者調(diào)整
#如果監(jiān)控環(huán)境為中型規(guī)模(如1000臺設(shè)備以上),則需要調(diào)整更多的MySQL配置參數(shù),可參考
#如果監(jiān)控環(huán)境為大型規(guī)模(如8000臺設(shè)備以上),則需要使用MySQL集群相關(guān)技術(shù),如讀寫分
#離、數(shù)據(jù)庫集群等。建議熟悉MySQL集群技術(shù)的讀者采用
shell# systemctl start mariadb #啟動服務(wù)
shell# systemctl enable mariadb #設(shè)置開機自啟動
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb. service to /usr/lib/systemd/system/mariadb.service.
圖3-6 查看服務(wù)是否啟動成功
shell# mysqladmin -uroot password admin #設(shè)置root用戶密碼為admin
shell# mysql -uroot -padmin #登錄MySQL
#創(chuàng)建數(shù)據(jù)庫,名稱為zabbix,并將其字符集設(shè)置為UTF-8
mysql> create database zabbix character set utf8;
#設(shè)置zabbix數(shù)據(jù)庫的所有權(quán)限,允許用戶zabbix的IP地址127.0.0.1和localhost訪問,
#并將zabbix賬號的密碼設(shè)置為zabbix
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
#刷新權(quán)限,使其立即生效
mysql> flush privileges;
shell# cd /usr/share/doc/zabbix-server-mysql-4.0.0 #進入對應(yīng)版本目錄
shell# gunzip create.sql.gz #將SQL文件解壓縮
shell# mysql -uzabbix -pzabbix -h127.0.0.1 #以zabbix用戶登錄
mysql> use zabbix #切換到zabbix數(shù)據(jù)庫
mysql> source /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql;#導(dǎo)入SQL文件
#上面的4.0.0代表實際的版本,讀者拿到本書后,其版本會發(fā)生變化,因此可以通過命令ls
#/usr/ share/doc|grep zabbix 來查看實際路徑
#create.sql是zabbix源碼包中的3個SQL文件的合集,即分別為schame.sql、
#images.sql和data.sql,其中schema.sql是表結(jié)構(gòu);images.sql是圖片相關(guān)數(shù)據(jù);
#data.sql是模板等相關(guān)數(shù)據(jù)
#如果是以源碼方式安裝Zabbix-Server的,則需要將這3個文件全部導(dǎo)入
#如果是以源碼方式安裝Zabbix-Porxy的,則只能導(dǎo)入schames.sql
shell# cd /usr/share/doc/zabbix-proxy-mysql-4.0.0 #進入對應(yīng)版本的目錄
shell# gunzip schema.sql.gz #將SQL文件解壓縮
mysql> use zabbix-porxy #切換到zabbix-proxy庫
mysql> source /usr/share/doc/zabbix-proxy-mysql-4.0.0/schema.sql;#導(dǎo)入SQL文件
3.2.3 配置zabbix_server.conf
shell# egrep -v "(^#|^$)" /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
DBName=zabbix
DBUser=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
shell# egrep -v "(^#|^$)" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=127.0.0.1 #需要修改
DBName=zabbix #默認(rèn)
DBUser=zabbix #默認(rèn)
DBPassword=zabbix #需要修改
DBSocket=/var/lib/mysql/mysql.sock #默認(rèn)
DBPort=3306 #默認(rèn)
StartPollers=100 #約5臺服務(wù)器開一個進程,最大1000
StartIPMIPollers=10 #視IPMI監(jiān)控主機個數(shù)而定
StartPollersUnreachable=10 #不可達(dá)主機重試獲取數(shù)據(jù)進程個數(shù)
StartTrappers=10 #Trapper進程個數(shù)
StartPingers=10 #Ping進程個數(shù)
StartDiscoverers=10 #自動發(fā)現(xiàn)進程個數(shù)
SNMPTrapperFile=/var/log/snmptt/snmptt.log
MaxHousekeeperDelete=500
CacheSize=256M #可根據(jù)實際情況修改
HistoryCacheSize=128M #可根據(jù)實際情況修改
TrendCacheSize=128M #可根據(jù)實際情況修改
HistoryTextCacheSize=128M #可根據(jù)實際情況修改
ValueCacheSize=2048M #可根據(jù)實際情況修改
Timeout=30 #此處需要修改,最大執(zhí)行時長(30s以內(nèi))
TrapperTimeout=300
UnreachablePeriod=45
UnavailableDelay=60
UnreachableDelay=15
AlertScriptsPath=/etc/zabbix/alertscripts
ExternalScripts=/etc/zabbix/externalscripts
FpingLocation=/usr/sbin/fping
LogSlowQueries=10000
StartProxyPollers=50
ProxyConfigFrequency=3600
shell# mkdir -p /etc/zabbix/alertscripts /etc/zabbix/externalscripts
#CentOS7
shell# systemctl start zabbix-server
shell# systemctl start httpd
#查看進程
shell# ps -ef |grep zabbix
#查看日志
shell# tail -f /var/log/zabbix/zabbix_server.log
#如遇到提示connection to database 'zabbix' failed: [1045] Access denied
#for user 'zabbix'@'localhost'(using password: NO),請檢查
#/etc/zabbix/zabbix_server.conf配置文件數(shù)據(jù)庫連接相關(guān)信息是否配置正確
shell# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
shell# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
3.2.4 防火墻、SELinux和權(quán)限的設(shè)置
#CentOS 6操作系統(tǒng)防火墻規(guī)則設(shè)置
shell# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
shell# iptables -A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack--ctstate NEW -j ACCEPT
shell# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051-j ACCEPT
shell# iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050-j ACCEPT
shell# iptables -A INPUT -m state --state NEW -m tcp -p tcp --sport 10050-j ACCEPT
#規(guī)則設(shè)置完成后,均需永久保存,用如下語句
shell# iptables-save >/tmp/ip.txt
shell# iptables-restore </tmp/ip.txt
#CentOS 7操作系統(tǒng)防火墻規(guī)則設(shè)置
shell# firewall-cmd --permanent --add-port=80/tcp
shell# firewall-cmd --permanent --add-port=10050/tcp
shell# firewall-cmd --permanent --add-port=10051/tcp
shell# firewall-cmd -reload
shell# setsebool -P httpd_can_connect_zabbix on
shell# setsebool -P httpd_can_network_connect_db on
shell# setenforce 0 #設(shè)置為警告模式,只給出提示,不會阻止操作,不用重啟服務(wù)器即生效
shell# getenforce #獲取當(dāng)前SELinux的運行狀態(tài):Enforcing、Permissive、Disabled
shell# vim /etc/selinux/config
SELINUX=disabled
shell# vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 16M
max_input_time=300
memory_limit = 128M #如果Web頁面提示內(nèi)存不夠使用,請調(diào)整此值
mbstring.func_overload = 0 #Zabbix 2.2版本請設(shè)置為1,以后版本設(shè)置為0
shell# vim /etc/httpd/conf.d/zabbix.conf
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Order allow, deny
Allow from all
php_value date.timezone Asia/Shanghai #修改此參數(shù)
php_value max_execution_time 300
php_value post_max_size 16M
php_value max_input_time 300
php_value memory_limit 128M
php_value upload_max_filesize 2M
</Directory>
shell# systemctl restart httpd
圖3-7 安裝檢查PHP配置
3.2.5 配置Zabbix-Web
圖3-8 歡迎界面
圖3-9 安裝檢查PHP配置
圖3-10 配置數(shù)據(jù)庫連接的各項參數(shù)
圖3-11 配置連接Zabbix-Server
圖3-12 配置完成概覽信息
圖3-13 配置文件生成成功
shell# cat /etc/zabbix/web/zabbix.conf.php
<? php
//Zabbix數(shù)據(jù)庫的連接信息
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '127.0.0.1';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
//僅針對DB2和PostgreSQL
$DB['SCHEMA'] = '';
$ZBX_SERVER = '127.0.0.1';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zbx4';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
圖3-14 登錄頁面
圖3-15 登錄成功后的首頁
DBHost = 127.0.0.1 #數(shù)據(jù)庫的IP地址(域名),如不在本機中,則填實際的IP地址
DBName=zabbix #數(shù)據(jù)庫的名稱
DBUser=zabbix #數(shù)據(jù)庫的用戶
DBPassword=zabbix #數(shù)據(jù)庫的密碼
<? php
//Zabbix數(shù)據(jù)庫的連接信息
global $DB;
$DB['TYPE'] = 'MYSQL'; //數(shù)據(jù)庫類型
$DB['SERVER'] = '127.0.0.1'; //數(shù)據(jù)庫的IP地址(域名)
$DB['PORT'] = '3306'; //數(shù)據(jù)庫的端口
$DB['DATABASE'] = 'zabbix'; //數(shù)據(jù)庫的名稱
$DB['USER'] = 'zabbix'; //數(shù)據(jù)庫的用戶
$DB['PASSWORD'] = 'zabbix'; //數(shù)據(jù)庫的密碼
//僅針對DB2和PostgreSQL
$DB['SCHEMA'] = '';
$ZBX_SERVER = '127.0.0.1'; //Zabbix-Server的IP地址(域名)
$ZBX_SERVER_PORT = '10051'; //Zabbix-Server的端口
$ZBX_SERVER_NAME = 'zbx4'; //Zabbix-Server Web界面的標(biāo)識
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
圖3-16 修改語言環(huán)境
圖3-17 設(shè)置前端告警時有音樂提示
圖3-18 禁用Guests組
3.2.6 相關(guān)故障的處理
圖3-19 提示Zabbix-Server無法連接成功的信息
圖3-20 利用Telnet進行測試
shell# vim /etc/zabbix/web/zabbix.conf.php
圖3-21 修改前
圖3-22 修改后
Database error: Error conneting to database [Can't connect to local MySQL server throungh socket /var/lib/mysql/mysql.sock
shell# php -i|grep sock
MYSQL_SOCKET => /var/lib/mysql/mysql.sock
mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock
MYSQLI_SOCKET => /var/lib/mysql/mysql.sock
mysqli.default_socket => no value => no value
pdo_mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock
DBSocket=/var/lib/mysql/mysql.sock
圖3-23 數(shù)據(jù)庫連接失敗提示
3.2.7 zabbix_server程序的參數(shù)
shell# zabbix_server --help
#用法
zabbix_server [-c config-file]
zabbix_server [-c config-file] -R runtime-option
zabbix_server -h
zabbix_server -V
#Zabbix-Server程序的核心守護進程
#可選參數(shù)
-c --config config-file #配置文件的路徑,默認(rèn)路徑為
#/etc/zabbix/zabbix_server.conf
-f --foreground #通過控制臺以前端方式運行Zabbix-Server
-R --runtime-control runtime-option #在Zabbix-Server運行時發(fā)送請求命令
#--runtime-control參數(shù)的可選參數(shù)
config_cache_reload #重載配置文件的緩存
housekeeper_execute #執(zhí)行清理器Housekeeper
log_level_increase=target #設(shè)置調(diào)高日志級別,默認(rèn)是全部運行的進程
log_level_decrease=target #設(shè)置降低日志級別,默認(rèn)是全部運行的進程
#在日志級別后可接的參數(shù)
pid #進程pid
process-type #進程的名稱,如調(diào)整poller進程
process-type, N #進程的名稱,以及該名稱的第幾個進程
-h --help #顯示幫助信息
-V --version #顯示版本號
shell# zabbix_server -R housekeeper_execute
zabbix_server [1572]: command sent successfully
shell# tail -f /var/log/zabbix/zabbix_server.log
1325:20181013:094504.049 forced execution of the housekeeper
1325:20181013:094504.049 executing housekeeper
1325:20181013:094504.494 housekeeper [deleted 2255 hist/trends, 0 items/triggers, 27 events, 1716 problems, 0 sessions, 0 alarms, 6 audit items in 0.444276 sec, idle for 1 hour(s)]
shell## zabbix_server -R config_cache_reload
shell# tail -f /var/log/zabbix/zabbix_server.log #查看日志
1321:20181013:094908 forced reloading of the configuration cache
#降低日志運行級別,執(zhí)行一次,降低一個級別。當(dāng)前日志級別為4
shell# zabbix_server -R log_level_decrease
zabbix_server [2111]: command sent successfully
shell# tail -f /var/log/zabbix/zabbix_server.log #查看日志
1349:20181013:095908.3 log level has been decreased to 3 (warning)
#降低日志運行級別,執(zhí)行一次,降低一個級別。當(dāng)前日志級別為3
shell# zabbix_server -R log_level_decrease
zabbix_server [2120]: command sent successfully
shell# tail -f /var/log/zabbix/zabbix_server.log #查看日志
1361:20181013:095920.244 log level has been decreased to 2 (error)
#增加日志運行級別,執(zhí)行一次,增加一個級別。當(dāng)前日志級別為0
shell# zabbix_server -R log_level_increase
zabbix_server [2256]: command sent successfully
shell# tail -f /var/log/zabbix/zabbix_server.log #查看日志
1360:20181013:100341 log level has been increased to 1 (critical)
#調(diào)整某個進程(pid)的日志運行級別
shell# ps -ef |grep zabbix
zabbix 955 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
zabbix 1321955 009:40 ? 00:00:00 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.030468 sec, idle 60 sec]
zabbix 1322 955 009:40 ? 00:00:00 /usr/sbin/zabbix_server: alerter #1 started
zabbix 1323955 009:40 ? 00:00:00 /usr/sbin/zabbix_server: alerter #2 started
zabbix 1324955 009:40 ? 00:00:00 /usr/sbin/zabbix_server: alerter #3 started
#調(diào)整進程pid為1322的日志運行級別
shell# zabbix_server -R log_level_increase=1322
shell# tail -f /var/log/zabbix/zabbix_server.log #查看日志
1322:20181013:100800.998 log level has been increased to 2(error)
#調(diào)整增加poller進程的日志運行級別
shell# zabbix_server -R log_level_increase=poller
#調(diào)整增加poller的第3個進程的日志運行級別
shell# zabbix_server -R log_level_increase=poller,3