您好,登錄后才能下訂單哦!
一、概述
1、zabbix簡介:
zabbix(音同zbix)是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。整合了cacti和nagios的特性能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。支持SNMP,zabbix_agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平臺上。
2、zabbix搭建環境:
zabbix中web前端是由PHP編寫。所以在搭建zabbix監控平臺的前提就是要有PHP的解析。(服務器+靜態web+PHP動態解析+數據庫),在這次實驗中使用LNMP環境作為基礎。LNMP環境可以安裝在同一臺服務器上,也可以分布式安裝。zabbix客戶端隨實際情況選擇是否安裝。如果還想監控其他網絡中的設備,則還需要一臺zabbix代理服務器
3、zabbix特點:
安裝與配置簡單,學習成本低。
完善的圖形輸出,和豐富的API接口。 #通過圖像不僅可以實時顯示監控項目的數據還可以實時查看網絡拓撲的各種表,zabbix提供了豐富API接口,方便二次開發
靈活的觸發器和強大的報警機制 #不僅可以自定義觸發器還可以靈活修改模板自帶的觸發器
可以自動發現服務器及網絡設備。 #根據web配置界面中可靈活配置自動發現規則
分布式監視以及WEB集中管理功能。 #支持proxy實現分布式架構設計,也可實現跨地區,跨平臺的實時監控。
豐富的采集功能和快速的運行效率。 #系統提供十幾種數據采集功能,zabbix除了web前端以后都是使用C語言編寫的,所以擁有非常高的運行效率
4、zabbix重要組件說明:
zabbix_server:核心組件,負責獲取監控數據,在必要的時候發送報警信息
zabbix_proxy:可選組件,根據server的配置采取被監控端數據,定期發送給server來減輕服務端壓力
zabbix_agent:可選組件,獲取本地數據,發送給服務端
web前端:面向用戶,根據用戶的指令去配置監控服務器或監控項等,并將監控數據展示給用戶
database_store:存儲監控到了數據,并提供web查詢將監控數據展示給用戶
二、安裝之前LNMP環境準備:
系統環境:CentOS Linux release 7.2.1511 (Core)
zabbix版本:zabbix-3.2.5.tar.gz
安裝LNMP:centos默認沒有nginx的yum源,手動添加一下:
[root@node1 ~]# tee /etc/yum.repos.d/nginx.repo <<EOF
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/\$basearch/
gpgcheck=0
enabled=1
EOF
使用yum安裝LNMP環境:
[root@node1 ~]# yum -y install epel-release [root@node1 ~]# yum -y install php php-fpm php-mysql php-mbstring nginx php-gd php-mbstring php-xml php-mcrypt php-bcmath mariadb-server mariadb-devel
對LNMP環境進行簡單配置優化:
MySQL:
[root@node1 ~]# systemctl start mariadb [root@node1 ~]# ss -antpl | grep 3306 LISTEN 0 50 *:3306 *:* users:(("mysqld",pid=19055,fd=14)) [root@node1 ~]# mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.52-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database zabbix character set utf8; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on zabbix.* to zabbix@127.0.0.1 identified by "zabbix"; Query OK, 0 rows affected (0.00 sec)
PHP:
[root@node1 ~]# cat /etc/php.ini date.timezone = PRC #配置時區 expose_php = Off #關閉php版本號 short_open_tag = On #開啟PHP短標簽格式 post_max_size = 16M #設置最大上傳大小 max_execution_time = 300 #設置最長執行請求的最大時長 max_input_time = 300 #客戶解析請求的最大時間 always_populate_raw_post_data = -1 #訪問原始post數據的首先方式。7.0之后取消此選項 mbstring.func_overload = 0 #禁止使用函數重載方法
修改nginx文件:
LNMP環境配置完成,進行測試LNMP是否工作正常
[root@node1 ~]# cat /usr/share/nginx/html/index.php <? phpinfo(); ?> [root@node1 ~]# cat /usr/share/nginx/html/test.php <? $connect=mysql_connect('127.0.0.1','zabbix','zabbix','zabbix'); if($connect) echo "OK!! connect success!!"; mysql_close(); ?>
查看測試結果:
三、監控服務zabbix安裝:
下載zabbix安裝包:
http://www.zabbix.com/download
創建zabbix工作用戶:
[root@node1 ~]# useradd -s /sbin/nologin zabbix
安裝zabbix-server所需支持包:
[root@node1 ~]# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh3-devel fping gcc-c++
net-snmp-devel:agent的一種,支持使用snmp協議獲取獲取數據
curl-devel:監控web服務,使用curl命令獲取數據
java-openjdk:支持使用java_gateway獲取java環境的獲取數據
OpenIPMI-devel :支持IPMI獲取硬件設備獲取數據
libssh3-devel:支持使用ssh協議進行獲取數據
fping:支持使用fping命令進行簡單檢查
修改fping命令權限。(特殊命令,正常情況zabbix用戶沒有權限使用此命令)
[root@node1 ~]# chmod u+s /usr/sbin/fping || [root@node1 ~]# chmod 4710 /usr/sbin/fping [root@node1 ~]# getfacl /usr/sbin/fping # file: usr/sbin/fping # owner: root # group: root # flags: s-- user::rwx group::--x other::---
配置安裝zabbix
編譯安裝zabbix_server:
[root@node1 ~]# tar zxf zabbix-3.2.5.tar.gz [root@node1 ~]# cd zabbix-3.2.5 [root@node1 zabbix-3.2.5]# ./configure --prefix=/usr/local/zabbix325 --enable-server --enable-agent --enable-java --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-ssh3
--with-snmp-devel:agent的一種,支持使用snmp協議獲取獲取數據
--with-libcurl:監控web服務,使用curl命令獲取數據
--enable-java:支持使用java_gateway獲取java環境的獲取數據
--with-openipmi:支持IPMI獲取硬件設備獲取數據
--with-ssh3:支持使用ssh協議進行獲取數據
[root@node1 zabbix-3.2.5]# make [root@node1 zabbix-3.2.5]# make install
修改配置文件:
[root@node1 zabbix-3.2.5]# grep -i ^[a-z] /usr/local/zabbix325/etc/zabbix_server.conf LogFile=/usr/local/zabbix325/logs/zabbix_server.log PidFile=/usr/local/zabbix325/logs/zabbix_server.pid DBHost=127.0.0.1 DBName=zabbix DBUser=zabbix DBPassword=zabbix DBPort=3306 Timeout=15 FpingLocation=/usr/sbin/fping LogSlowQueries=3000 [root@node1 zabbix-3.2.5]# chown -R zabbix.zabbix /usr/local/zabbix325/
將zabbix初始數據導入數據庫:
[root@node1 zabbix-3.2.5]# cd database/mysql/ [root@node1 mysql]# mysql -uzabbix -pzabbix -h227.0.0.1 zabbix < schema.sql [root@node1 mysql]# mysql -uzabbix -pzabbix -h227.0.0.1 zabbix < p_w_picpaths.sql [root@node1 mysql]# mysql -uzabbix -pzabbix -h227.0.0.1 zabbix < data.sql
配置zabbix啟動腳本并修改:
[root@node1 zabbix-3.2.5]# cp /root/zabbix-3.2.5/misc/init.d/fedora/core/zabbix_server /etc/init.d/ [root@node1 zabbix-3.2.5]# chmod +x /etc/init.d/zabbix_server [root@node1 zabbix-3.2.5]# sed -i 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix325|' /etc/init.d/zabbix_server [root@node1 zabbix-3.2.5]# systemctl daemon-reload [root@node1 zabbix-3.2.5]# systemctl enable zabbix_server zabbix_server.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig zabbix_server on [root@node1 zabbix-3.2.5]# systemctl start zabbix_server [root@node1 ~]# cd frontends/ [root@node1 frontends]# cp -r php/ /usr/share/nginx/html/zabbix
至此就基本安裝完成了。登陸web瀏覽訪問配置:
添加配置文件之后。刷新頁面就可以正常登陸了。
點擊登陸之后,就是zabbix的主頁面了。zabbix默認是英文顯示,但可以支持中文。方法就是:登陸主頁面——>右上角點擊用戶——>語言選擇項選擇中文即可。如圖:
注意:在配置web前端時,點擊下一步的時候偶爾會有報錯,如果出現這種情況,刷新一下頁面,或者重新訪問一下,自動就會跳轉下一步了。
四、添加監控主機。
安裝zabbix_agent非常簡單,只需要添加./configure --prefix=/usr/local/zabbix325 --enable-agent選項就可以了。
將啟動文件copy到/etc/init.d/目錄下:
[root@node1 zabbix-3.2.5]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd [root@node1 zabbix-3.2.5]# chmod +x /etc/init.d/zabbix_agentd [root@node1 zabbix-3.2.5]# sed -i 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix325|' /etc/in it.d/zabbix_agentd [root@node1 zabbix-3.2.5]# systemctl daemon-reload [root@node1 zabbix-3.2.5]# systemctl enable zabbix_server zabbix_server.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig zabbix_server on
修改配置文件:
注釋:
Server:對應的是服務端地址。允許這個地址的主機來向我這獲取數據。被動模式
ServerActive:對應的也是服務器地址。客戶端只向這個地址的服務端發送數據,主動模式
Hostname:對應的是本機信息。這只是一個客戶端標識,這個要跟web配置端的主機名稱保持一致。
啟動zabbix_agentd:
[root@node1 zabbix-3.2.5]# systemctl start zabbix_agentd [root@node1 zabbix-3.2.5]# ss -atnpl | grep zabbix_agentd LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",pid=25385,fd=4)
在web前端添加被監控主機:
這樣就完成一個基本的服務器監控
在這只是列出了一個基本的簡單監控主機。后續會補全其他監控。感謝
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。