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)視 用戶安全認(rèn)證和柔軟的授權(quán)方式 通過(guò) WEB 界面設(shè)置或查看監(jiān)視結(jié)果 email 等通知功能
3.Zabbix主要功能
監(jiān)控CPU負(fù)載、內(nèi)存使用、磁盤(pán)使用、網(wǎng)絡(luò)狀態(tài)、端口監(jiān)視、日志監(jiān)視、插件開(kāi)發(fā)自定義
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é)合??梢暂喸?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 客戶端
--with-mysql #指定 MySql 庫(kù)可以選擇自定路徑 mysql_config,mysql_config 是命令,用于編譯 mysql 客戶端程序
--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ù)用戶,我們授權(quán)的用戶也是zabbix
111 DBUser=zabbix #默認(rèn)是 root,我們授權(quán)的用戶是 zabbix
119 DBPassword=zabbix #密碼我們授權(quán)的也是 zabbix
10.監(jiān)控 Zabbix Server 本身
監(jiān)控本身,意思是本身作為服務(wù)器之外,自己也做自己的客戶端,也要使用agentd這個(gè)代理者 配置文件中,有 agentd 和 agent 兩個(gè)配置文件,前者是守護(hù)進(jìn)程,后者依賴 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 #允許所有的字符是在用戶定義的參數(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 的意思是客戶端主動(dòng)提交數(shù)據(jù)給他
11.啟動(dòng)服務(wù)
如果 zabbix 用戶不存在, 將以 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)用戶名和密碼分別為 admin,zabbix

點(diǎn)擊右上角用戶,然后選擇語(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]#

