Zabbix部署配置實踐圖解
一、Zabbix簡述
Zabbix是一種基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
Zabbix是監控網絡的衆多參數以及服務器的健康和完整性的軟件。Zabbix使用靈活的通知機制,允許用戶爲幾乎任何事件配置基於電子郵件的警報。這樣可以快速響應服務器問題。Zabbix基於存儲的數據提供出色的報告和數據可視化功能。這使得Zabbix成爲容量規劃的理想選擇。
Zabbix支持輪詢和陷阱。所有Zabbix報告和統計信息以及配置參數都可通過基於Web的前端訪問。基於Web的前端可確保從任何位置評估網絡狀態和服務器運行狀況。經過適當配置,Zabbix可以在監控IT基礎架構方面發揮重要作用。對於擁有少量服務器的小型組織以及擁有衆多服務器的大型公司來說,情況也同樣如此。
Zabbix是免費的。Zabbix是根據GPL通用公共許可證版本2 編寫和分發的。這意味着它的源代碼是免費分發的,並且可供一般公衆使用。
zabbix由zabbix server與可選組件zabbix agent兩部門組成。zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視。
初識1:公司Zabbix監控架構
初識2:Zabbix 儀表盤概覽
附相關資料下載地址:
1)《Zabbix監控系統》_王餘應PDF:
https://pan.baidu.com/s/1ryetKQ3RMt5F2YCIieB9ew 提取碼:vejy
2)其他資料:https://www.zabbix.com/manuals
3)《Zabbix企業級分佈式監控系統》:聯繫郵箱:[email protected]
4)官方操作手冊:https://www.zabbix.com/documentation/4.0/manual
5)其他開源監控軟件:常用有Nagios、Cacti、Zabbix、Monit;
6)官方Zabbix 4.0 的中文手冊:https://www.zabbix.com/documentation/4.0/zh/manual
7)複雜部署(LVS+Keepalived+Nginx+DRBD+Zabbix集羣架構):
https://cloud.tencent.com/developer/article/1139866
二、Zabbix架構圖解
2.1 架構簡圖
Zabbix由以下幾個組件部分構成:
1、Zabbix Server:負責接收agent發送的報告信息的核心組件,所有配置,統計數據及操作數據均由其組織進行;
2、Database Storage:專用於存儲所有配置信息,以及由zabbix收集的數據;
3、Web interface:zabbix的GUI接口,通常與Server運行在同一臺主機上;
4、Proxy:可選組件,常用於分佈監控環境中,代理Server收集部分被監控端的監控數據並統一發往Server端;
5、Agent:部署在被監控主機上,負責收集本地數據併發往Server端或Proxy端;
注:zabbix node也是 zabbix server的一種 。
【zabbix主要進程】:
默認情況下zabbix包含5個程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一個zabbix_java_gateway是可選,這個需要另外安裝。下面來分別介紹下他們各自的作用。
zabbix_agentd
客戶端守護進程,此進程收集客戶端數據,例如cpu負載、內存、硬盤使用情況等。
zabbix_get
zabbix工具,單獨使用的命令,通常在server或者proxy端執行獲取遠程客戶端信息的命令。通常用戶排錯。例如在server端獲取不到客戶端的內存數據,我們可以使用zabbix_get獲取客戶端的內容的方式來做故障排查。
zabbix_sender
zabbix工具,用於發送數據給server或者proxy,通常用於耗時比較長的檢查。很多檢查非常耗時間,導致zabbix超時。於是我們在腳本執行完畢之後,使用sender主動提交數據。
zabbix_server
zabbix服務端守護進程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的數據最終都是提交到server
備註:當然不是數據都是主動提交給zabbix_server,也有的是server主動去取數據。
zabbix_proxy
zabbix代理守護進程。功能類似server,唯一不同的是它只是一箇中轉站,它需要把收集到的數據提交/被提交到server裏。爲什麼要用代理?代理是做什麼的?賣個關子,請繼續關注運維生存時間zabbix教程系列。
zabbix_java_gateway
zabbix2.0之後引入的一個功能。顧名思義:Java網關,類似agentd,但是隻用於Java方面。需要特別注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會給到server或者proxy。
Zabbix環境中常見術語含義:
1)主機(host):要監控的網絡設備,可由IP或DNS名稱指定;
2)主機組(host group):主機的邏輯容器,可以包含主機和模板,但同一個組織內的主機和模板不能互相鏈接;主機組通常在給用戶或用戶組指派監控權限時使用;
3)監控項(item):一個特定監控指標的相關的數據;這些數據來自於被監控對象;item是zabbix進行數據收集的核心,相對某個監控對象,每個item都由"key"標識;
4)觸發器(trigger):一個表達式,用於評估某監控對象的特定item內接收到的數據是否在合理範圍內,也就是閾值;接收的數據量大於閾值時,觸發器狀態將從"OK"轉變爲"Problem",當數據再次恢復到合理範圍,又轉變爲"OK";
5)事件(event):觸發一個值得關注的事情,比如觸發器狀態轉變,新的agent或重新上線的agent的自動註冊等;
6)動作(action):指對於特定事件事先定義的處理方法,如發送通知,何時執行操作;
7)告警升級(escalation):發送警報或者執行遠程命令的自定義方案,如每隔5分鐘發送一次警報,共發送5次等;
8)媒介(media):發送通知的手段或者通道,如Email、Jabber或者SMS等;
9)通知(notification):通過選定的媒介向用戶發送的有關某事件的信息;
10)遠程命令(remote command):預定義的命令,可在被監控主機處於某特定條件下時自動執行;
11)模板(template):用於快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接鏈接至某個主機;
12)應用(application):一組item的集合;
13)web場景(web scennario):用於檢測web站點可用性的一個活多個HTTP請求;
14)前端(frontend):Zabbix的web接口;
2.2 工作原理圖示:
Zabbix數據處理流程:
監控方式:
2.3 Zabbix邏輯架構
三、Zabbix部署
本次使用zabbix較新版Zabbix 4.0 LTS(Long Term Support),Zabbix 4.0.0 是一個長期支持版本(LTS),至少提供 5 年的技術支持,對應的Zabbix 4.0 的中文手冊現已正式發佈,手冊包含安裝、配置、運行 Zabbix 所需的所有說明信息,大家可以去官網查看。
如上圖,選擇你對應的版本,然後下載Zabbix 4.0安裝包:
3.1 部署組織架構圖參考:
Zabbix常用有3種部署方式,可根據實際物理環境和監控容量需求,選擇Zabbix部署方式,以滿足監控需求的;
1) server-client
2)master-node-client
3)server-proxy-client
部署過程中所涉及的軟件:
1)C/S部署(最簡單一種):
2)master-node-client結構:
該架構是zabbix最複雜的,實現難度較大,適用於跨網絡、跨機房、設備較多的大型環境 。每個node同時也是一個server端,node下面可以接proxy,也可以直接接client 。node有自已的配置文件和數據庫,其要做的是將配置信息和監控數據向master同步,master的故障或損壞對node其下架構的完整性。
3)server-proxy-client結構:
該架構中proxy是server、client之間溝通的一個橋樑,proxy本身沒有前端,而且其本身並不存放數據,只是將agentd發來的數據暫時存放,而後再提交給server 。適用於跨機房、跨網絡的中型網絡架構的監控。
4)分佈式監控系統部署參看:
3.2 基礎環境準備,下載Zabbix安裝包,安裝zabbix倉庫:
【Zabbix4.0安裝要求】
硬件要求: 如果只是測試zabbix安裝過程,初期至少需128 MB 的物理內存和 256 MB 的可用磁盤空間;所需的內存和磁盤空間顯然取決於被監控的主機數量和配置參數。 如果計劃調整參數以保留較長的歷史數據,則需要更多的數據存儲;每個 Zabbix 守護程序進程都需要與數據庫服務器建立多個連接。 爲連接分配的內存量取決於數據庫引擎的配置,內存越大當然數據庫運行約快,數據更迭也更及時。 Zabbix 數據庫可能需要大量 CPU 資源,該具體取決於被監控參數的數量和所選的數據庫引擎。
以下是官方給出的硬件參考:
我的實際環境,採用了centos7.4,4CPU/6G-Ram;
注意:Zabbix 環境的配置非常依賴於監控項(主動)和更新間隔。 如果是進行大規模部署,強烈建議將數據庫獨立部署。如果使用加密編譯,Zabbix將禁用核心轉儲(Core dumps),如果系統不允許禁用核心轉儲,則 Zabbix 不會啓動。
軟件要求: Zabbix 是基於先進 Apache Web 服務器、領先的數據庫引擎和 PHP 腳本語言構建的。
瀏覽器要求: 必須啓用 Cookies 和 Java Script 。支持最新版本的 Google、Mozilla Firefox、Microsoft Internet Explorer 和 OperoApple Safari;
Server要求:
數據容量估算:
每秒處理值的數量 | 這是 Zabbix server 每秒接收的新值的平均數。 例如,如果有3000個監控項用於監控,取值間隔爲60秒,則這個值的數量計算爲 3000/60 = 50;即每秒有 50 個新值被添加到 Zabbix 數據庫中。 |
---|---|
關於歷史數據的管家設置 | Zabbix 將接收到的值保存一段固定的時間,通常爲幾周或幾個月。 每個新值都需要一定量的磁盤空間用於數據和索引。所以,如果我們每秒收到 50 個值,且希望保留 30 天的歷史數據,值的總數將大約在 (30243600)* 50 = 129.600.000,即大約 130M 個值。 |
存儲空間計算 | 據所使用的數據庫引擎,接收值的類型(浮點數、整數、字符串、日誌文件等),單個值的磁盤空間可能在 40 字節到數百字節之間變化。 通常,數值類型的每個值大約爲 90 個字節。在上面的例子中,這意味着 130M 個值需要佔用 130M * 90 bytes = 10.9GB 磁盤空間。 2) 文本和日誌類型的監控項值的大小是無法確定的,但可以以每個值大約 500 字節來計算。 |
趨勢數據的管家設置 | Zabbix 爲表 trends 中的每個項目保留1小時的最大值 / 最小值 / 平均值 / 統計值。 該數據用於趨勢圖形和歷史數據圖形。 這一個小時的時間段是無法自定義。 Zabbix數據庫,根據數據庫類型,每個值總共需要大約90個字節。 假設我們希望將趨勢數據保持5年。 3000 個監控項的值每年需要佔用 300024365* 90 = 2.2GB 空間,或者5年需要佔用 11GB 空間。 |
事件的管家設置 | 每個 Zabbix 事件需要大約 170 個字節的磁盤空間。 很難估計 Zabbix 每天生成的事件數量。 在最壞的情況下,假設 Zabbix 每秒生成一個事件。 這意味着如果想要保留3年的事件,這將需要佔用 3365243600 170 = 15GB 的空間。 |
Zabbix 系統所需磁盤空間的公式:
容量計算總結:
所需要的磁盤總空間按下列方法計算:
配置文件數據+ 歷史數據+ 趨勢數據+ 事件數據
在安裝 Zabbix 後不會立即使用磁盤空間。 數據庫大小取決於管家設置,在某些時間點增長或停止增長。
時間同步要求:
在運行 Zabbix 的服務器上擁有精確的系統日期非常重要。而 ntpd 是最受歡迎的守護進程,它將主機的時間與其他服務器的時間同步。 對於所有運行 Zabbix 組件的系統,強烈建議這些系統的時間保持同步。
如果時間未同步,Zabbix將在建立數據連接之後,根據得到的客戶端和服務器的時間戳,並通過客戶端和服務器的時間差對獲得值的時間戳進行調整,將獲得值的時間戳轉化爲 Zabbix server 的時間。 爲了儘可能簡化並且避免可能的併發問題出現,網絡延遲將會被忽略。因此,通過主動連接(active agent, active proxy, sender)獲得的時間戳數據將包含網絡延遲,通過被動連接(passive proxy)獲得的數據已經減去了網絡延遲。所有其他監控類型都在服務器時間裏完成,並且不會調整其時間戳。
【Zabbix安全要求】
1)新建zabbix agent賬戶
默認配置中,Zabbix server 和 Zabbix agent 進程共享一個“zabbix”用戶。 如果您希望確保 Zabbix agent 無法訪問 Zabbix server 配置中的敏感詳細信息(例如,數據庫登錄信息),則應以不同的用戶身份運行 Zabbix agent:
(1)創建一個安全用戶;
(2)在 Zabbix agent 的 配置文件 中指定此用戶(修改 ‘User’ parameter);
(3)以擁有管理員權限的用戶重啓 Zabbix agent。之後,此權限將賦予給先前指定的用戶。
2)爲 Zabbix 前端設置 SSL
在 RHEL/Centos 操作系統上,安裝 mod_ssl 包:
yum install mod_ssl
爲 SSL keys 創建目錄:
mkdir -p /etc/httpd/ssl/private
chmod 700 /etc/httpd/ssl/private
創建 SSL 證書:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/private/apache-selfsigned.key -out /etc/httpd/ssl/apache-selfsigned.crt
下面提示內容適當填寫。 最重要的一行是請求 Common Name 的行。 您需要輸入要與服務器關聯的域名。 如果您沒有域名,則可以輸入公共IP地址。 下面將使用 example.com。
Country Name (兩個字母) [XX]:
State or Province Name (全名) []:
Locality Name (eg, city) [默認的城市]:
Organization Name (eg, company) [默認的公司名]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server’s hostname) []:example.com
Email Address []:
編輯 Apache SSL 配置:
/etc/httpd/conf.d/ssl.conf
DocumentRoot “/usr/share/zabbix”
ServerName example.com:443
SSLCertificateFile /etc/httpd/ssl/apache-selfsigned.crt
SSLCertificateKeyFile /etc/httpd/ssl/private/apache-selfsigned.key
重啓 Apache 服務使以上修改的配置生效:
systemctl restart httpd.service
3)在 URL 的根目錄上啓用 Zabbix
將虛擬主機添加到 Apache 配置,並將文檔根目錄的永久重定向設置爲 Zabbix SSL URL。 不要忘記將 example.com 替換爲服務器的實際名稱。
/etc/httpd/conf/httpd.conf
#Add lines
<VirtualHost :>
ServerName example.com
Redirect permanent / http://example.com
重啓 Apache 服務使以上修改的配置生效:
systemctl restart httpd.service
4)禁用曝光的 Web 服務器信息
禁用所有 Web 服務器簽名。 默認情況下,Web 服務器正在公開軟件簽名;通過向 Apache(用作示例)配置文件添加兩行來禁用簽名:
ServerSignature Off
ServerTokens Prod
可以通過更改 php.ini 配置文件來禁用 PHP 簽名(X-Powered-By HTTP header)(默認情況下禁用簽名):
expose_php = Off
若要應用配置文件更改,需要重新啓動 Web 服務器。
通過在 Apache中 使用 mod_security( libapache2-mod-security2)可以實現額外的安全級別。 mod_security 允許刪除服務器簽名,而不是僅僅從服務器簽名中刪除版本。 通過在安裝 mod_security 之後將“SecServerSignature”更改爲任何所需的值,可以將簽名更改爲任何值。
5) 刪除 Web 服務器的測試頁面
建議刪除 Web 服務器測試頁以避免信息泄露。 默認情況下,Web 服務器的 webroot 包含一個名爲 index.html 的測試頁
【基礎環境準備】
安裝Nginx1.6.0+MySQL5.6.19+PHP5.5.14依賴環境:
系統配置: CentOS 7.0默認使用的是firewall作爲防火牆,這裏改爲iptables防火牆。
1、關閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
firewall-cmd --state ##確認是not running狀態
2、安裝iptables防火牆
yum install iptables-services #安裝
vi /etc/sysconfig/iptables #編輯防火牆配置文件
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最後重啓防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啓動
3)關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #註釋掉
#SELINUXTYPE=targeted #註釋掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
4)預製安裝包位置:
軟件源代碼包存放位置:/usr/local/src
源碼包編譯安裝位置:/usr/local/zabbix
【LAMP環境部署】
本地安裝的話,掛在1708-everything系統鏡像,構建本地yum源後安裝。
#yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear \
php-xml php-xmlrpc php-mhash
#rpm -qa httpd php mariadb #驗證軟件安裝成功與否
【apache配置】
vi /etc/httpd/conf/httpd.conf ##編輯配置文件
ServerName www.monitor.com #DNS配置相關條目進行解析
DirectoryIndex index.html index.php # 添加首頁支持格式
[編置php時區]
vi /etc/php.ini
date.timezone = PRC # 配置時區
啓動httpd,mysqld
systemctl start httpd #啓動並加入開機自啓動httpd
systemctl enable httpd
systemctl start mariadb #啓動並加入開機自啓動mysqld
systemctl enable mariadb
ss -anplt | grep httpd #查看httpd啓動情況,80端口監控表示httpd已啓動
ss -naplt | grep mysqld #查看mysqld啓動情況,3306端口監控表示mysqld已啓動
LAMP成功驗證
創建一個測試頁,測試LAMP是否搭建成功:
進入/var/www/html/目錄下,新建index.php
<?php
phpinfo()
?>
安裝FTP服務:爲方便傳輸文件
配置FTP:
重啓vsftpd服務及enable加入開機啓動。
介質下載
二進制包地址:https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
當然你也可以在centos7或RHEL7裏執行:
#rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #升級zabbix安裝包
#yum clean all #重建yum倉庫列表
上傳資源到目標主機。
離線安裝可取阿里雲鏡像站,下載資源:
https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/
3.3 安裝Zabbix服務端、前端及代理:
# yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch
javacc-javadoc.noarch javacc-maven-plugin.noarch javacc* ##安裝依賴及zabbix相關組件(iso系統鏡像裏就可以滿足)
# yum install php-bcmath php-mbstring -y #安裝php支持zabbix組件
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
libiksemel.so.3*地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=libiksemel.so.3()(64bit)
fping地址:http://fping.org/或https://github.com/schweikert/fping/releases/tag/v4.2
安裝fping
./configure --prefix=/usr/local/fping
make&&make install
在用zabbix相關離線包安裝的時候,因依賴掛關係複雜,可加–nodeps參數忽略依賴關係;
初始化數據庫:
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;
php連接MySQL測試驗證
vi /var/www/html/index.php #修改測試頁內容,驗證zabbix用戶是否能夠登陸數據庫
<?php
$link=mysql_connect('127.0.0.1','zabbix','zabbix'); ##ip地址要引注
if($link)
echo "<h1>Success!!</h1>"; #輸出Success表示連接數據庫成功,($link)許喲啊小括號括住
else
echo "Fail!!";
mysql_close();
?>
對數據庫登陸方式授權: grant all privileges on zabbix.* to zabbix@’%’ identified by ‘zabbix’;flush privileges;
再次測試驗證:
如上圖所示,php組建已經可成功連接MySQL數據庫,爲之後zabbix前端與數據庫交互打下基礎。
導入初始schema和數據:
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix -h 主機ip地址 ##對於MySQL
##對於 Zabbix proxy,導入初始的數據庫 schema:
# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix
可登陸數據庫zabbix,查看錶及表結構驗證。
Zabbix服務器配置數據庫:
mv /etc/zabbix/zabbix_server.conf etc/zabbix/zabbix_server.conf.bak
grep -Ev "^$|#" etc/zabbix/zabbix_server.conf.bak > etc/zabbix/zabbix_server.conf
編輯文件:/etc/zabbix/zabbix_server.conf
DBPassword=password
Zabbix前端PHP配置:
編輯文件/etc/httpd/conf.d/zabbix.conf,取消註釋併爲您設置正確的時區。
# php_value date.timezone Europe/Riga ##修改爲:Asia/Shanghai
啓動Zabbix服務器和代理程序進程並使其在系統引導時啓動:
# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd
現在您的Zabbix服務器已啓動並運行!
####啓動驗證:
執行:netstat -anpt | grep zabbix或ss -lantp|grep zabbix_server或ps aux|grep zabbix
四、Zabbix配置
4.1 配置Zabbix前端
連接到新安裝的Zabbix前端:http:// server_ip_or_name /zabbix;如下圖所示:
上圖中要所有組件狀態都是ok;按照不走next,知道出現下圖:
初始化配置完成之後,會自動跳轉到zabbix登陸窗口,如下圖所示:
首次登陸後界面如下:
修改界面爲中文:
修改後效果如下:
五、Zabbix應用實踐
5.1監控配置參考:
5.2 與Grafana配合使用,即配置圖像顯示增強
1)建立grafana的yum源:/etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm-beta
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
2)安裝: sudo yum install grafana
3) 啓動grafana-server
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server.service
4)配置文件:/etc/grafana/grafana.ini
定義環境變量文件:/etc/sysconfig/grafana-server
5)注意事項:
grafana默認存儲數據採用的是sqlite3數據庫,當然我們也可以使用mysql,這個需要在grafana配置文件中更改Database相關的配置即可
grafana的UI管理頁面默認監聽端口是3000,也可以通過修改配置文件server的相關配置即可。
grafana默認登錄的管理員賬號密碼都是:admin
六、FAQ
6.1 mysql本地數據庫無法登陸
結合網上有些部署過程中出現MySQL本地用戶嗚啊登陸數據庫情況,多少因表中用空用戶導致本地無法登陸,可刪除對應的空用戶:
mysql -u root -p
select user,host from mysql.user; #查詢是否有空用戶名稱佔用導致本地無法登錄遠程可登錄
drop user ''@localhost; #刪除空用戶
刪除所有空用戶,重新嘗試登陸,一般可以成功。
6.2 zabbix_server服務無法啓動
可知,時缺少libiksemel.so.3xml解析共享庫文件;下載並安裝;
下載地址:https://centos.pkgs.org/7/centos-x86_64/gnutls-3.3.29-8.el7.x86_64.rpm.html
安裝:rpm -ivh iksemel-1.4-6.sdl7.x86_64
6.3 啓用seLinux後的配置
要想啓用SELinux ,即在 enforcing 模式下啓用 SELinux 狀態後,您需要執行以下命令以啓用 Zabbix 前端和 Zabbix server 之間的通信:
RHEL 7 或更高版本:#setsebool -P httpd_can_connect_zabbix on
如果數據庫可以通過網絡訪問(在 PostgreSQL 情況下包括 ‘localhost’),您也需要允許 Zabbix 前端連接到數據庫:# setsebool -P httpd_can_network_connect_db on;
然後,重新啓動 Apache web 服務器。
6.4導入MySQL初始化schemal時報error1046 (3D000) at line 1: No database selected
1)把原始的數據庫壓縮包備份
cd /usr/share/doc/zabbix-server-mysql-4.0.9/
cp create.sql.gz create.sql.gz.bak
2)解壓數據庫
gunzip create.sql.gz
3)vim 加壓出來的sql文件,編輯,在在第一行加上
USE zabbix;
4)用gzip命令把create.sql文件壓縮成.gz格式:gzip create.sql
5)再次執行以下命令即可:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p