運行Zabbix須要LAMP環境,php
在centsos 6中安裝lamp: yum install -y httpd httpd-devel php php-devel php-nysql php-commonhtml
在centsos 7 中安裝lamp: yum install -y httpd httpd-devel php php-devel php-nysql php-common mariadb mariadb-server mariadb-devel前端
注意:centsos 7 中的數據庫是mariadbmysql
常見監控軟件:Nagios、Cacti、Mrtg、Ganglia、Zabbix、linux
Zabbix監控流程圖ios
C/S模式:server端(Zabbix_server、DB、php WEB)、client端(安裝Zabbix_Agent),c++
企業服務器對用戶提供服務,做爲運維工程師最重要的事情就是保證該網站正常穩定的運行,須要實時監控網站、服務器的運行狀態,而且有故障及時去處理。web
監控網站無需人工時刻去訪問WEB網站或者登錄服務器去檢查,能夠藉助開源監控軟件例如Zabbix、Cacti、Nagios、Ganglia等來實現對網站的7x24小時的監控,而且作到有故障及時報警通知SA解決。sql
Zabbix分佈式監控系統(微信報警實戰)數據庫
一個完整的ZABBIX平臺包括:Zabbix-WEB、Database、Zabbix-Server、Agent客戶端;
分佈式特色:分散管理、分擔壓力、分開存儲,緩解Zabbix_Server壓力;
checking for mysql_config... no
configure: error: MySQL library not found
解決方法:yum install mysql-devel -y
yum install mariadb mariadb-server mariadb-devel -y
從0開始Zabbix監控平臺實戰
./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
yum install -y curl-devel net-snmp gcc gcc-c++ -
(1)、Zabbix監控平臺部署,至少須要安裝四個組件,分別是ZabbixServer,Zabbix Web,Databases,Zabbix Agent,以下爲Zabbix監控平臺安裝配置詳細步驟:
系統環境
Server端:192.168.168.163
Agent端:192.168.68.1
(2)、下載zabbix版本,各個版本之間安裝方法相差不大,能夠根據實際狀況選擇安裝版本,本文版本爲Zabbix-3.2.6.tar.gz
Zabbix server端安裝配置,源代碼包,官網下載穩定的版本3.2.6;
或者
連接:https://pan.baidu.com/s/1vwpBCUI3H3Y-5-w1dovNhQ 密碼:hqey
tar xzf zabbix-3.2.6.tar.gz
安裝插件
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
cd zabbix-3.2.6
./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make
make install
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix
(3)、Zabbix Server端和Zabbix Agent執行以下代碼:
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI groupadd zabbix useradd -g zabbix zabbix usermod -s /sbin/nologin zabbix |
Zabbix Server端配置
(4)、建立zabbix數據庫,執行受權命令:
mysql > create database zabbix charaset=utf8;
mysql > create zabbix; #
mysql >grant all on zabbix.* to zabbix@localhost identified by '123456'
mysql >flush privileges;
解壓zabbix軟件包並將zabbix基礎SQL文件導入數據至zabbix數據庫:
tar -zxvf zabbix-3.2.6.tar.gz
cd zabbix-3.2.6
mysql -uzabbix -p 123456 zabbix <database/mysql/schema.sql
mysql -uzabbix -p 123456 zabbix <database/mysql/images.sql
mysql -uzabbix -p 123456 zabbix <database/mysql/data.sql
切換至Zabbix解壓目錄,執行以下代碼,安裝Zabbix_server:
./configure --prefix=/usr/local/zabbix/ --enable-agent --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
注意:--enable-server #開啓服務端
make
make install
ln -s /usr/local/zabbix/sbin/zabbix* /usr/local/sbin/
Zabbix server安裝完畢,cd /usr/local/zabbix/etc/目錄,如圖13-3所示:
備份Zabbix server配置文件,代碼:
cp zabbix_server.conf zabbix_server.conf.bak
將zabbix_server.conf配置文件中代碼設置爲以下:
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUsr=zabbix
DBPassword=123456
同時cp zabbix_server啓動腳本至/etc/init.d/目錄,啓動zabbix_server,Zabbix_server默認監控的端口爲10051.
cd zabbix-3.2.6
cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
chmod o+x /etc/init.d/zabbix_server
配置Zabbix interface Web頁面,安裝HTTP WEB 服務器,將Zabbix WEB代碼發佈至Apache默認發佈目錄,因爲Zabbix3.2+PHP版本須要使用PHP5.4.0版本,請將本機PHP版本升級至5.4.0+,PHP版本須要使用PHP5.4.0版本,請將本機PHP版本升級至5.4.0+,PHP5.3升級至PHP5.6,代碼以下:
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm yum remove php* yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 -y yum install httpd httpd-devel httpd-tools -y cp -a /root/zabbix-3.2.6/frontends/php/* /var/www/html/ sed -i '/date.timezone/i date.timezone = PRC' /etc/php.ini |
從新啓動Zabbix Server、HTTP、MYSQL服務,代碼以下:
/etc/init.d/zabbix_server restart /etc/init.d/httpd restart /etc/init.d/mysqld restart |
經過瀏覽器Zabbix_WEB驗證,經過瀏覽器訪問http://192.168.149.128/,如圖13-4所示:
單擊下一步,出現如圖13-5所示,若是有錯誤提示,須要把錯誤依賴解決完,方可進行下一步操做。
如上異常錯誤解決方法代碼以下,安裝缺失的軟包,並修改php.ini對應參數的值便可,如圖13-6所示:
yum install php56w-mbstring php56w-bcmath php56w-gd php56w-xml -y yum install gd gd-devel -y sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.*/date.timezone \= PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g' /etc/php.ini /etc/init.d/httpd restart |
圖13-6 Zabbix WEB測試安裝環境
單擊下一步,如圖13-7所示,配置數據庫鏈接,輸入數據庫名、用戶、密碼,單擊Test connection,顯示OK,單擊下一步便可
圖13-7 Zabbix WEB數據庫配置
繼續單擊下一步出現如圖13-8所示,填寫Zabbix Title顯示,能夠爲空,能夠輸入自定義的名稱。
登陸Zabbix WEB界面,默認用戶名和密碼爲:admin/zabbix,如圖13-10(a)、13-10(b)所示:
單擊下一步,如圖13-9所示,需修建立zabbix.conf.php文件,執行以下命令,或者單擊「Download the configuration file」下載zabbix.conf.php文件,並將該文件上傳至/var/www/html/conf/,並設置可寫權限,刷新WEB頁面,zabbix.conf.php內容代碼以下,最後單擊Finish便可:
<?php // Zabbix GUI configuration file. global $DB; $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '0'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = '123456'; // Schema name. Used for IBM DB2 and PostgreSQL. $DB['SCHEMA'] = ''; $ZBX_SERVER = 'localhost'; $ZBX_SERVER_PORT = '10051'; $ZBX_SERVER_NAME = '京峯教育-分佈式監控系統'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; |
圖13-9 Zabbix WEB配置文件測試
登陸Zabbix WEB界面,默認用戶名和密碼爲:admin/zabbix,如圖13-10(a)、13-10(b)所示:
圖13-10(a) Zabbix WEB登陸界面
圖13-10(b) Zabbix WEB後臺界面
解壓zabbix-3.2.6.tar.gz源碼文件,切換至解壓目錄,編譯安裝Zabbix,命令以下:
./configure --prefix=/usr/local/zabbix --enable-agent make make install ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/ |
修改zabbix_agentd.conf客戶端配置文件,執行以下命令,zabbix_agentd.conf內容,指定server IP,同時設置本地Hostname爲本地IP地址或者DNS名稱:
CPU、內存、負載、網卡、磁盤、IO、應用服務、端口、登陸用戶、
LogFile=/tmp/zabbix_agentd.log Server=192.168.149.128 ServerActive=192.168.149.128 Hostname = 192.168.149.129 |
同時cp zabbix_agentd啓動腳本至/etc/init.d/目錄,啓動zabbix_agentd服務便可, Zabbix_agentd默認監聽端口爲10050。
cd zabbix-3.2.6 cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd chmod o+x /etc/init.d/zabbix_agentd /etc/init.d/zabbix_agentd start |
Zabbix服務端和客戶端安裝完畢以後,需經過Zabbix Server添加客戶端監控,Zabbix WEB界面添加客戶端監控的操做步驟以下,如圖13-11所示:
Zabbix-WEB ---configuration ---hosts ---Create host ---Host name和Agent interfaces,同時選擇添加templates模板 ---選擇Add -------勾選Template OS Linux-選擇Add提交; 注*此處Host name名稱與Agentd.conf配置文件中Hostname保持一致,不然會報錯。 |
圖13-11 Zabbix 添加客戶端監控
將客戶端主機連接至「Template OS Linux」,啓用模板完成主機默認監控,單擊Add
,繼續單擊Update便可,如圖13-12所示:
圖13-12 Zabbix 爲客戶端監控添加模板
單擊Zabbix WEB---Monitoring---Graphs----Group----Host---Graph,監控圖像如圖13-13(a)、13-13(b)所示:
圖13-13(a) Zabbix客戶端監控圖像
圖13-13(b) Zabbix客戶端監控圖像
若是沒法監控到客戶端,能夠在Zabbix Server端,執行命令獲取Agent的items KEY值是否有返回,例如system.uname爲返回客戶端的uname信息,監測命令以下:
/usr/local/zabbix/bin/zabbix_get -s 192.168.149.130 -k system.uname |
常見問題:
一、編譯Zabbix,報錯以下:
二、編譯Zabbix,報錯信息以下:
checking size of void *... 8
checking for mysql_config... no
configure: error: MySQL library not found
解決方法:yum install curl curl-devel net-snmp mysql-devel mariadb-devel -y
onfigure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
解決方法:yum install curl curl-devel net-snmp net-snmp-devel perl-DBI mysql-devel mariadb-devel -y
三、
預編譯Zabbix報錯信息一以下:
checking for mysql_config... no
configure: error: MySQL library not found
解決方法:
yum install mariadb-devel -y
預編譯Zabbix報錯信息二以下:
checking for curl-config... no
configure: error: Curl library not found
解決方法:
yum install curl-devel -y
四、
checking for the linux kernel version... unknown family (3.10.0-327.el7.x86_64)
checking size of void *... 8
checking for mysql_config... no
configure: error: MySQL library not found
解決方案:yum install mariadb mariadb-server mariadb-devel –y
MYSQL(商業版、社區版)、Mariadb(開源免費,徹底兼容MYSQL指令)都是屬於SQL數據庫、RDBMS關係型數據庫。
checking for the linux kernel version... unknown family (3.10.0-327.el7.x86_64)
checking size of void *... 8
checking for mysql_config... no
configure: error: MySQL library not found
解決方案:yum install mariadb mariadb-server mariadb-devel –y
MYSQL(商業版、社區版)、Mariadb(開源免費,徹底兼容MYSQL指令)都是屬於SQL數據庫、RDBMS關係型數據庫。