Zabbix監控的搭建理論
1. Zabbix Server會去采集監控數據,采集的監控數據會寫入到SQL數據庫
2. Zabbix的WEB后端采用php語言開發,所有配置信息、用戶認證信息等會寫入SQL數據庫
3. 企業級Zabbix的搭建依賴的環境:主流采用LNMP環境(Centos7+Nginx+Mysql+Php)
LNMP web環境下用戶的請求流程
用戶 -> Nginx -> php-fpm -> 運行php程序 -> 操作mysql
部署順序說明
1. Nginx+php-fpm的環境搭建
2. Mysql服務器搭建
3. Zabbix Server搭建
4. Zabbix網頁展示
其中nginx和php-fpm以及mysql安裝可以看我其它博文,里面都有說怎么源碼安裝
1.zabbix的部署原理
- 1. zabbix server需要把監控數據入sql數據庫,所以得Mysql環境
- 2. zabbix的web是基於php開發的,所以得LNMP環境
- 3. 部署zabbix server和zabbix web
zabbix的官網
https://www.zabbix.com/
2.Zabbix Server編譯安裝
安裝依賴
yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
創建zabbix用戶
useradd -s /sbin/nologin zabbix
下載zabbix源碼包
cd /usr/local/src/
wget
https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
解壓編譯
tar -zxvf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
make && make install
選項說明
1)
--prefix指定安裝目錄
2)
--enable-server安裝zabbix server
3)
--enable-agent安裝zabbix agent
4)
--with-mysql用mysql來存儲
4.環境變量設置:
vim /etc/profile
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
source /etc/profile
###立即生效
echo $PATH
查看版本:zabbix_server --version
啟動:zabbix_server
==============================================
啟動時可能會出現如下問題報錯
解決tpcc_load 報錯 error while loading shared libraries: libmysqlclient.so.20
在剛開始導入tpcc數據倉庫時,可能會遇到 error while loading shared libraries: libmysqlclient.so.20這個錯誤,找不到庫文件。
但是,通過find 能查找到這個文件
[root@mysqlserver src]# find / -name libmysqlclient.so.20
/usr/local/mysql/lib/libmysqlclient.so.20
/usr/local/src/mysql-5.7.16/libmysql/libmysqlclient.so.20
所以,這個文件時存在的,只是查找這個庫文件的時候沒有找到這個路徑。
如何解決:建一個軟連接到一個常用的 lib目錄
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20
這個在試試還報錯嗎?
如果還報這個錯的話,可能還不認這個目錄,那就在 /etc/ld.so.conf下添加一行 /usr/local/lib ,如下
[root@mysqlserver src]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
然后,再使用命令重新加載一下
ldconfig -v
這時,應該這個報錯不會再出現了
=============================================
5.登錄數據庫創建zabbix用戶和導入zabbix庫
Mysql數據庫初始化mysql -h 127.0.0.1 -uroot -pzabbixpwd -A
create database zabbix character set utf8 collate utf8_bin;
##創建zabbix庫和設置格式
grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
flush privileges;
##刷新權限
set names utf8;
##設置字符集
use zabbix;
##切換到zabbix庫中
把源碼/data/tools/zabbix-4.0.3/database/mysql安裝路徑下三個sql文件導入數據庫中
source /data/tools/zabbix-4.0.3/database/mysql/schema.sql;
source /data/tools/zabbix-4.0.3/database/mysql/data.sql;
source /data/tools/zabbix-4.0.3/database/mysql/images.sql;
編輯zabbix server的配置
vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/zabbix_server.log
DBSocket=/data/mysql/mysql.sock
### 此處是我數據庫sock的地址,如果大家不是此處,你們可以通過find / -name mysql.sock搜索把地址寫到此處
DBHost=127.0.0.1
###此處注意了,建議大家部署同一台設備上面時,此處寫環回地址,別寫localhost
DBName=zabbix
###數據庫庫名
DBUser=zabbix
###數據剛創建的管理用戶
DBPassword=zabbix
###數據庫管理用戶密碼
DBPort=3306
Timeout=30
AlertScriptsPath=/usr/local/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/externalscripts
LogSlowQueries=3000
chown zabbix:zabbix -R /usr/local/zabbix/
###修改zabbix目錄的權限
zabbix_server
###啟動zabbix
ps -ef | grep zabbix
###查看zabbix服務是否啟動
6.Zabbix Web的安裝
mkdir /usr/local/nginx/html/zabbix
##創建zabbix web 的文件目錄
cp -a /data/tools/zabbix-4.0.3/frontends/php/* /usr/local/nginx/html/zabbix/
###把源碼安裝包路徑下的文件cp到zabbix web文件目錄當中
重新加載nginx服務
systemctl reload nginx.service
訪問zabbix web,需要做一些初始化配置
http://172.x.x.152/zabbix/
初始化根據自己上面配置的數據庫密碼用戶等信息填寫
zabbix web需要php做配置優化
首先會提示如下錯誤:
當zabbix初始化下一步后會出現一些檢查不通過的紅色提示,只需要根據提示修改參數就行,下面是根據提示修改的配置
通過進入如下php配置文件中把對應的報錯按照提示參數進行修改:
vim /usr/local/php/etc/php.ini
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1
systemctl restart php-fpm
###修改完成后重啟php-fpm服務
出現如下錯誤時:
當完成上面步驟優化后,還會有提示,提示我們把配置下載下來,然后把配置放到對應目錄
- 點擊藍色連接把配置文件下面下來,(其實配置文件里面內容就是上步驟填寫的信息參數)
- 按照提示路徑把剛下載下來的配置寫到提示路徑里面去
vim /usr/local/nginx-1.16.0/html/zabbix/conf/zabbix.conf.php
- 點擊完成配置,或者重新刷新配置
7.訪問頁面及用戶名和密碼
URL: http://172.x.x.152/zabbix
默認用戶名:Admin
默 認 密 碼 : zabbix
8.登錄后優化配置
- 禁用Zabbix server主機的監控
- 禁用guest用戶
- 更改Admin的密碼,改成自己的密碼
本來想把自己截圖和優化的截圖以及如何盡心漢化都一起放上來,但由於直接粘不來上會看不到,一直為此事發愁呀,有朋友知道怎么處理的可以留言告知,謝謝。