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