1. 程式人生 > 其它 >Centos7下部署Zabbix4.3

Centos7下部署Zabbix4.3

一.簡介

zabbix-server主要分為2部分:

  • zabbix程式 程式根據客戶端的監控項,從客戶端獲取資料並寫入到資料庫,再根據觸發器/動作等配置進行操作。
  • 展示頁面 使用php編寫,php指令碼從資料庫獲得資訊,用httpd或者nginx等網頁伺服器展示出來。

根據上述說明,zabbix需要部署在lamp或者lnmp上面,對於php頁面來說,用apache好一些。

二.環境

[zabbix-server]
	主機名 = host-1
	系統 = centos-7.3
	地址 = 1.1.1.1
	軟體 =
		httpd-2.4 80
		mariadb-5.5 3306
		php-fpm-5.4 9000
		zabbix-server-3.4 10051

[zabbix-agent]
	主機名 = host-2
	系統 = centos-7.3
	地址 = 1.1.1.2
	軟體 =
		zabbix-agent-3.4 10050

三.配置

配置服務端程式

操作伺服器(host-1)
1.部署lamp

2.安裝依賴包
yum -y install gcc gcc-c++ libevent-devel php-bcmath php-gd php-xml php-mbstring

3.建立賬號,為安全起見禁止登入
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix

4.下載原始碼包
wget https://shell-auto-install.oss-cn-zhangjiakou.aliyuncs.com/package/zabbix-3.4.1.tar.gz
tar -xf zabbix-3.4.1.tar.gz


cd zabbix-3.4.1

5.選擇引數,當前只開啟了服務端,其餘編譯引數請看 '附錄'
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql

6.編譯安裝
make install

7.將php指令碼複製到html目錄下
cp -r frontends/php/* /var/www/html/

8.新增所有許可權到php指令碼,當然這種方式比較危險,具體在zabbix前端頁面會說明對哪些指令碼要許可權,逐個改
chmod -R 777 /var/www/html

9.登陸mariadb並建立zabbix使用者,當前mariadb無密碼
MariaDB [(none)]> create database zabbixdb character set utf8;


MariaDB [(none)]>grant all on zabbixdb.* to zabbixuser@"localhost" identified by "123456";
MariaDB [(none)]>quit

10.按順序匯入zabbix自帶的資料庫
mysql -uzabbixuser -p123456 zabbixdb < database/mysql/schema.sql
mysql -uzabbixuser -p123456 zabbixdb < database/mysql/images.sql
mysql -uzabbixuser -p123456 zabbixdb < database/mysql/data.sql

11.修改php引數,符合zabbix要求
vim /etc/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

12.重啟服務
systemctl restart httpd php-fpm

配置服務端網頁

操作伺服器(host-1)
1.訪問http://1.1.1.1

2.LDAP是特殊配置,不用管

3.資料庫:zabbixdb 賬號:zabbixuser 密碼:123456

4.地址和埠都預設,Name可以不寫或者隨便寫

5.確定資訊後下一步即可

6.若遇到這一步,是因為zabbix對/var/www/html/conf/沒有許可權或者沒寫寫進去。需要手動將檔案下載,然後傳入到伺服器的/var/www/html/conf/zabbix.conf.php中重新整理即可

7.登入,設定為中文。管理員:admin 密碼:zabbix

更改為中文後,update更新

最下面或提示zabbix-server未啟動,下面將啟動zabbix服務端

啟動zabbix-server

操作伺服器(host-1)
1.複製並修改啟動指令碼,將安裝目錄替換為設定目錄
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server
vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix

2.修改配置檔案,填寫資料庫資訊,前端頁面是告訴php指令碼從哪個資料庫獲得資訊展示,這裡告訴後端程式將收集的資訊寫入哪個資料庫
vim /usr/local/zabbix/etc/zabbix_server.conf

DBName=zabbixdb #資料庫名
DBUser=zabbixuser #資料庫使用者名稱
DBPassword=123456 #資料庫使用者密碼

3.啟動並檢查埠是否正常,因為很多時候顯示啟動但並沒有真正啟動
/etc/init.d/zabbix_server start
netstat -utnalp | grep :10051

4.檢視前端頁面,會發現正常了

配置客戶端

操作伺服器(host-2)
1.zabbix客戶端可以有版本小差異,服務端3.4版本,客戶端3.2版本也可以
wget https://shell-auto-install.oss-cn-zhangjiakou.aliyuncs.com/package/zabbix-agent-3.4.1-1.el7.x86_64.rpm

2.安裝
yum -y install zabbix-agent-3.4.1-1.el7.x86_64.rpm

3.清空配置後,編寫配置,其它引數後面安裝文件再加
> /etc/zabbix/zabbix_agentd.conf

4.當前配置是被動與主動模式都開啟,方便後期調節
vim /etc/zabbix/zabbix_agentd.conf

#指定pid檔案位置
PidFile=/var/run/zabbix/zabbix_agentd.pid

#指定日誌檔案位置
LogFile=/var/log/zabbix/zabbix_agentd.log

#設定為被動模式,將開啟埠
StartAgents=3

#當前的主機名,要寫正確,否則服務端會不識別
Hostname=host-2

#服務端的地址,用逗號(,)可以隔開寫多個
Server=1.1.1.1

#服務端的地址,用逗號(,)可以隔開寫多個
ServerActive=1.1.1.1

#自定義的指令碼超時時間,
Timeout=8

#允許自定義指令碼
UnsafeUserParameters=1

#載入其它配置檔案
Include=/etc/zabbix/zabbix_agentd.d/*.conf

5.啟動效驗
systemctl start zabbix-agent
systemctl enable zabbix-agent
netstat -unltp | grep 10050

四.測試

操作伺服器(host-1)
1.新增

2.配置主機資訊

3.新增模板,連線模板後,主機將被模板所帶的監控項監控

4.一般選擇Template OS Linux,先點選新增,再新增,不然模板連線不上

5.等一分鐘,ZBX燈亮

五.附錄

編譯引數

1.第一行是新增這個引數,需要安裝的yum包,第二行是引數名

net-snmap-devel
--with-net-snmp

libcurl-devel curl-devel
--with-libcurl

libxml2-devel
--with-libxml2

OpenIPMI-devel
--with-openipmi

unixODBC-devel
--with-unixodbc

匯入其餘資料庫

1.postgresql匯入
psql -U username
psql> create database zabbix;
psql > \q
cd database/postgresql
psql -U username zabbix < database/postgresql/schema.sql
psql -U username zabbix < database/postgresql/images.sql
psql -U username zabbix < database/postgresql/data.sql

2.oracle匯入
sqlplus zabbix/password@host/ORCL
sqlplus>@database/oracle/schema.sql
sqlplus>@database/oracle/images.sql
sqlplus>@database/oracle/data.sql

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。