Zabbix服務(wù)搭建使用
官方網(wǎng)站:http://www.zabbix.com/
1.Zabbix服務(wù)安裝部署及監(jiān)控配置
官方網(wǎng)站:http://www.zabbix.com/
The Enterprise-class Monitoring Solution for Everyone
企業(yè)級(jí)監(jiān)控解決方案
zabbix 是一個(gè)基于 WEB 界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案
zabbix 能監(jiān)視各種網(wǎng)絡(luò)參數(shù)铆遭,保證服務(wù)器系統(tǒng)的安全運(yùn)營(yíng)雕欺;并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位解決存在的各種問(wèn)題。
2.Zabbix 主要特點(diǎn)
安裝與配置簡(jiǎn)單陨收,學(xué)習(xí)成本低 支持多語(yǔ)言(包括中文) 免費(fèi)開(kāi)源 自動(dòng)發(fā)現(xiàn)服務(wù)器與網(wǎng)絡(luò)設(shè)備分布式監(jiān)視以及 WEB 集中管理功能 可以無(wú) agent 監(jiān)視 用戶(hù)安全認(rèn)證和柔軟的授權(quán)方式 通過(guò) WEB 界面設(shè)置或查看監(jiān)視結(jié)果 email 等通知功能
3.Zabbix主要功能
4.Zabbix運(yùn)行機(jī)制
Zabbix Server 和 Zabbix agent
Zabbix Server 可以通過(guò) SNMP让腹,Zabbix agent远剩,Ping,端口監(jiān)視等方法提供對(duì)遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的 監(jiān)視骇窍,數(shù)據(jù)收集功能瓜晤,可以在運(yùn)行 Linux,Solaris腹纳,HP-UX痢掠,AIX,F(xiàn)reeBSD嘲恍,OpenBSD足画,OX X,Windows 多 平臺(tái)佃牛。
Zabbix Agent 安裝在需要被監(jiān)控的目標(biāo)服務(wù)器上淹辞,主要完成對(duì)硬件信息與操作系統(tǒng)有關(guān)的內(nèi)存,CPU 等信息收集俘侠。
Zabbix Server 可以單獨(dú)監(jiān)視遠(yuǎn)程服務(wù)器的服務(wù)狀態(tài)象缀,同時(shí)也可以與 Zabbix Agent 結(jié)合∫伲可以輪詢(xún) Zabbix Agent 主動(dòng)接收監(jiān)視數(shù)據(jù)(trapping 傳遞 方式)央星,同時(shí)還可以被動(dòng)接收 Zabbix Agent 發(fā)送的數(shù)據(jù)。
5.Zabbix運(yùn)行過(guò)程圖
我們需要先構(gòu)建 LNMP 的環(huán)境惫东,因?yàn)?Zabbix 通過(guò) PHP 頁(yè)面展示
6.創(chuàng)建導(dǎo)入Zabbix數(shù)據(jù)庫(kù)
[root@ZhouShuai ~]# mysql -uroot -p123456
mysql>
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
[root@ZhouShuai ~]# ll莉给、
-rw-r--r-- 1 root root 17130788 Jul 1 16:22 zabbix-3.4.3.tar.gz
[root@xuegod63 ~]# tar xvf zabbix-3.4.3.tar.gz -C /usr/local/src/
[root@xuegod63 ~]# cd /usr/local/src/zabbix-3.4.3/
[root@ZhouShuai zabbix-3.4.3]# ls database/
ibm_db2 Makefile.am Makefile.in mysql oracle postgresql sqlite3
[root@ZhouShuai zabbix-3.4.3]#
#導(dǎo)入數(shù)據(jù)庫(kù),注意順序凿蒜,否則會(huì)報(bào)錯(cuò)
[root@ZhouShuai zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
[root@ZhouShuai zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
[root@ZhouShuai zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
[root@ZhouShuai zabbix-3.4.3]#
#如果在做分布式的環(huán)境中禁谦,Proxy 服務(wù)器只需要一個(gè)數(shù)據(jù)庫(kù) schema,代理者 agent 不需要數(shù)據(jù)庫(kù)!Server 必須 三個(gè)數(shù)據(jù)庫(kù)同時(shí)擁有
7.編譯安裝 Zabbix
[root@ZhouShuai zabbix-3.4.3]# groupadd zabbix
[root@ZhouShuai zabbix-3.4.3]# useradd -s /sbin/nologin -g zabbix zabbix
[root@ZhouShuai zabbix-3.4.3]# yum install -y net-snmp-devel
[root@ZhouShuai zabbix-3.4.3]# yum install libevent libevent-devel -y
[root@ZhouShuai zabbix-3.4.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/var/lib/mysql/bin/mysql_config --with-net-snmp --with-libcurl
[root@ZhouShuai zabbix-3.4.3]# echo $?
0
參數(shù)說(shuō)明
--prefix= #指定路徑
--enable-server #Server 支持
--enable-agent #支持 Zabbix 客戶(hù)端
--with-mysql #指定 MySql 庫(kù)可以選擇自定路徑 mysql_config废封,mysql_config 是命令州泊,用于編譯 mysql 客戶(hù)端程序
--with-net-snmp #支持 snmp 協(xié)議,需要安裝 net-snmp-devel 包
--with-libcurl #支持 CURL 功能漂洋,libcurl 主要功能就是用不同的協(xié)議連接不同的服務(wù)器
--libcurl #當(dāng)前支持的協(xié)議有 http遥皂,https,ftp刽漂,gopher演训,telent,dict贝咙,file样悟,和 ldap 協(xié)議
其他參數(shù):
--enable-proxy #指的是支持 zabbix 代理服務(wù)器,zabbix proxy
是一個(gè)監(jiān)控代理服務(wù)器,它收集到監(jiān)控?cái)?shù)據(jù)窟她,選存放在緩沖區(qū)陈症,
保存的時(shí)間可以通過(guò)配置文件設(shè)定,然后再傳送的 zabbix server震糖。
監(jiān)控代理服務(wù)需要一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)录肯。
用 zabbix proxy 的好處:進(jìn)程監(jiān)控,當(dāng)監(jiān)控的位置通信不便時(shí)吊说,
當(dāng)通訊上千臺(tái)設(shè)備的時(shí)候论咏,使用 zabbix_proxy 可以簡(jiǎn)化維護(hù)分布式監(jiān)控,
降低 zabbix server 的負(fù)載颁井。
8.按上面的提示厅贪,沒(méi)有 make 步驟,直接 make install
[root@ZhouShuai zabbix-3.4.3]# make install
9.配置 Zabbix Server
[root@ZhouShuai zabbix-3.4.3]# vim /usr/local/zabbix/etc/zabbix_server.conf
85 DBHost=localhost #默認(rèn)注釋掉了蚤蔓,直接取消注釋即可
95 DBName=zabbix #數(shù)據(jù)庫(kù)用戶(hù)卦溢,我們授權(quán)的用戶(hù)也是zabbix
111 DBUser=zabbix #默認(rèn)是 root,我們授權(quán)的用戶(hù)是 zabbix
119 DBPassword=zabbix #密碼我們授權(quán)的也是 zabbix
10.監(jiān)控 Zabbix Server 本身
監(jiān)控本身秀又,意思是本身作為服務(wù)器之外单寂,自己也做自己的客戶(hù)端,也要使用agentd這個(gè)代理者 配置文件中吐辙,有 agentd 和 agent 兩個(gè)配置文件宣决,前者是守護(hù)進(jìn)程,后者依賴(lài) xinetd
[root@ZhouShuai zabbix-3.4.3]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
93 Server=127.0.0.1 #默認(rèn)監(jiān)控服務(wù)器自己昏苏,這三行不用改
134 ServerActive=127.0.0.1
145 Hostname=Zabbix server
改:280 # UnsafeUserParameters=0
為:280 UnsafeUserParameters=1 #允許所有的字符是在用戶(hù)定義的參數(shù)尊沸,參數(shù)傳遞,也就是支持自定義腳本
其中 Server 和 ServerActive 都指定 zabbixserver 的 IP 地址贤惯,不同的是洼专,前者是被動(dòng)后者是主動(dòng)。
也就是說(shuō)前者允許 127.0.0.1 這個(gè) IP 來(lái)我這取數(shù)據(jù)孵构。
而 ServerActive 的 127.0.0.1 的意思是客戶(hù)端主動(dòng)提交數(shù)據(jù)給他
11.啟動(dòng)服務(wù)
如果 zabbix 用戶(hù)不存在屁商, 將以 root 運(yùn)行,新建之后颈墅,如果 zabbix 存在蜡镶,那么直接可以用 zabbix 運(yùn)行
[root@ZhouShuai zabbix-3.4.3]# /usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
[root@ZhouShuai zabbix-3.4.3]# vim /etc/ld.so.conf
1 include ld.so.conf.d/*.conf
2 /usr/local/lib64
3 /usr/local/lib
4 /usr/lib
5 /usr/lib64
6 /var/lib/mysql/lib/
[root@ZhouShuai zabbix-3.4.3]# ldconfig
[root@ZhouShuai zabbix-3.4.3]# echo /usr/local/zabbix/sbin/zabbix_server >> /etc/rc.local
[root@ZhouShuai zabbix-3.4.3]# /usr/local/zabbix/sbin/zabbix_server
[root@ZhouShuai zabbix-3.4.3]# netstat -antup | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 12477/zabbix_server
[root@ZhouShuai zabbix-3.4.3]#
12.或者通過(guò)啟動(dòng)腳本啟動(dòng) zabbix
Zabbix默認(rèn)有部分啟動(dòng)腳本,如果你自己也可以通過(guò)腳本的方式來(lái)實(shí)現(xiàn)恤筛,可以使用他的模板來(lái)實(shí)現(xiàn) 腳本在源碼目錄的 misc/init.d/下面(使用 fedora 下面的 core 即可官还,也可以使用 fedroa core5 的腳本均可)
[root@ZhouShuai zabbix-3.4.3]# cd /usr/local/src/zabbix-3.4.3/misc/init.d/
[root@ZhouShuai init.d]# ls fedora/core/
zabbix_agentd zabbix_server
[root@ZhouShuai init.d]# cp fedora/core/* /etc/rc.d/init.d/
[root@ZhouShuai init.d]# vim /etc/init.d/zabbix_server
改:22 BASEDIR=/usr/local
為:22 BASEDIR=/usr/local/zabbix
[root@ZhouShuai init.d]# vim /etc/init.d/zabbix_agentd
改:22 BASEDIR=/usr/local
為:22 BASEDIR=/usr/local/zabbix
[root@ZhouShuai init.d]# cd
[root@ZhouShuai ~]# /etc/init.d/zabbix_agentd start
Reloading systemd: [ OK ]
Starting zabbix_agentd (via systemctl): [ OK ]
[root@ZhouShuai ~]# chkconfig zabbix_server on
[root@ZhouShuai ~]# chkconfig zabbix_agentd on
[root@ZhouShuai ~]#
13.編輯 php 頁(yè)面控制文件及安裝Zabbix
[root@ZhouShuai ~]# cd /var/www
[root@ZhouShuai www]# mkdir zabbix
[root@ZhouShuai www]# ll
drwxr-xr-x 10 root root 290 Jun 26 19:08 ThinkPHP
drwxr-xr-x 2 root root 6 Jul 1 17:01 zabbix
[root@ZhouShuai www]# cp -r /usr/local/src/zabbix-3.4.3/frontends/php/* /var/www/zabbix/
[root@ZhouShuai www]# cd zabbix/
[root@ZhouShuai zabbix]# ll
[root@ZhouShuai ~]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name zabbix.zhou.com;
location / {
root /var/www/zabbix;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /var/www/zabbix;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/zabbix$fastcgi_script_name;
include fastcgi_params;
}
location = /50x.html {
root html;
}
#location ~ /\.ht {
# deny all;
#}
}
重啟nginx服務(wù)和php-fpm服務(wù)
[root@ZhouShuai ~]# /usr/local/nginx/sbin/nginx -s reload
[root@ZhouShuai ~]# /etc/init.d/zabbix_server restart
[root@ZhouShuai ~]#/etc/init.d/php-fpm restart
14.安裝 Zabbix-Web
編輯 php.ini 文件,修改環(huán)境
[root@ZhouShuai ~]# vim /usr/local/php/php.ini
改:max_execution_time = 30
為:max_execution_time = 300
改:max_input_time = 60
為:max_input_time = 300
改:post_max_size = 8M
為:post_max_size = 16M
改 ;date.timezone =
為:date.timezone = Asia/Shanghai
改:mysqli.default_socket = #指定php連接mysql的sock路徑
為:mysqli.default_socket = /var/lib/mysql/mysql.sock
always_populate_raw_post_data = -1 #在文件末尾處添加
[root@ZhouShuai ~]# /etc/init.d/php-fpm restart #重啟fpm
刷新頁(yè)面
PHP LDAP 模塊安裝
[root@ZhouShuai ~]# cd /usr/local/src/php-7.3.6/
[root@ZhouShuai php-7.3.6]# cd ext/ldap/
[root@ZhouShuai ldap]# ls
config.m4 config.w32 CREDITS ldap.c php_ldap.h tests
[root@ZhouShuai ldap]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20180731
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
[root@ZhouShuai ldap]#
[root@ZhouShuai ldap]# yum install openldap-devel openldap -y
[root@ZhouShuai ldap]# rsync -avz /usr/lib64/libldap* /usr/lib/
sending incremental file list
libldap-2.4.so.2 -> libldap-2.4.so.2.10.7
libldap-2.4.so.2.10.7
libldap.so -> libldap-2.4.so.2.10.7
libldap_r-2.4.so.2 -> libldap_r-2.4.so.2.10.7
libldap_r-2.4.so.2.10.7
libldap_r.so -> libldap_r-2.4.so.2.10.7
sent 320,883 bytes received 66 bytes 641,898.00 bytes/sec
total size is 734,112 speedup is 2.29
[root@ZhouShuai ldap]#
[root@ZhouShuai ldap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
[root@ZhouShuai ldap]# make && make install
[root@ZhouShuai ldap]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20180731/
ldap.so memcached.so opcache.a opcache.so redis.so swoole.so yaconf.so
[root@ZhouShuai ldap]#
[root@ZhouShuai ldap]# vim /usr/local/php/php.ini
extension=ldap.so
[root@ZhouShuai ldap]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@ZhouShuai ldap]#
登陸 Zabbix 并配置 登陸之后我們修改語(yǔ)言 默認(rèn)用戶(hù)名和密碼分別為 admin毒坛,zabbix
點(diǎn)擊右上角用戶(hù)望伦,然后選擇語(yǔ)言
點(diǎn)擊配置-主機(jī) 啟用本主機(jī)(默認(rèn)沒(méi)有啟動(dòng)林说,點(diǎn)擊后面紅色的停用,則啟用)
啟動(dòng)Zabbix_Agent
[root@ZhouShuai ~]# /usr/local/zabbix/sbin/zabbix_agentd
再次刷新頁(yè)面屯伞,可以看到述么,agent狀態(tài)已經(jīng)正常
可以看到已經(jīng)開(kāi)始出圖:
但是發(fā)現(xiàn)下面顯示有問(wèn)題:這個(gè)是中文字符集的問(wèn)題,在英文狀態(tài)下顯示是正常的
[root@ZhouShuai fonts]# ll
total 21332
-rw-r--r-- 1 nginx nginx 756072 Jul 1 17:02 DejaVuSans.ttf
-rw-r--r-- 1 root root 21084256 Jul 1 18:40 微軟雅黑.ttf
[root@ZhouShuai fonts]# mv DejaVuSans.ttf DejaVuSans.ttf.bak
[root@ZhouShuai fonts]# mv *.ttf DejaVuSans.ttf
[root@ZhouShuai fonts]# ll
-rw-r--r-- 1 root root 21084256 Jul 1 18:40 DejaVuSans.ttf
-rw-r--r-- 1 nginx nginx 756072 Jul 1 17:02 DejaVuSans.ttf.bak
[root@ZhouShuai fonts]#