zabbix編譯安裝
zabbix下載網站:[https://sourceforge.net/projects/zabbix/files/ZABBIX Latest Stable/](https://sourceforge.net/projects/zabbix/files/ZABBIX Latest Stable/)
zabbix官網文檔:https://www.zabbix.com/cn/download?zabbix=4.4&os_distribution=centos&os_version=8&db=mysql
1.下載zabbix安裝包
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.4.0/zabbix-4.4.0.tar.gz
注:直接在服務器上下載速度可能很慢,可以下載后上傳到服務器上
2.創建用戶及用戶組
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix
#官方文檔
groupadd --system zabbix
useradd --system -g zabbix -d / usr / lib / zabbix -s / sbin / nologin -c“ Zabbix監控系統” zabbix
3.創建zabbix數據庫並執行授權命令
create database zabbix charset=utf8;
grant all on zabbix.* to zabbix@"%" identified by 'zabbix';
flush privileges;
4.解壓
tar -zxvf zabbix-4.4.0.tar.gz
cd zabbix-4.4.0
一、Zabbix Server
1.編譯安裝
./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
2.創建並配置數據庫
create database zabbix charset=utf8;
grant all on zabbix.* to zabbix@"%" identified by 'zabbix';
flush privileges;
3.將基礎sql文件導入數據庫
#sql文件在解壓的文件夾里
cd zabbix-4.4.0
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
4.配置zabbix-server
#切換到配置文件所在目錄
cd /usr/local/zabbix/etc/
#備份配置文件
cp zabbix_server.conf zabbix_server.conf.bak
#配置文件更改
vim zabbix_server.conf
配置文件:
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
從安裝包目錄中拷貝zabbix_server啟動腳本至開機啟動目錄,默認監聽端口為10051
cd zabbix-4.4.0
cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
chmod o+x /etc/init.d/zabbix_server
5.配置zabbix-web頁面
5.1Apache
yum install -y httpd httpd-devel httpd-tools
5.2Nginx
更改nginx配置文件
server {
listen 80;
server_name zabbix.wx93.top;
root /usr/local/zabbix/html;
index index.php;
location ~ "\.php$" {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/zabbix/html$fastcgi_script_name;
include fastcgi_params;
}
}
安裝PHP
#CentOs 5.x
rpm -Uvh http://repo.webtatic.com/yum/el5/latest.rpm
#CentOs 6.x
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm
#CentOs 7.X
rpm -Uvh https://repo.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://repo.webtatic.com/yum/el7/webtatic-release.rpm
yum remove php*
yum install -y php72w php72w-cli php72w-common php72w-gd php72w-ldap php72w-mbstring php72w-mcrypt php72w-mysql php72w-pdo.x86_64
修改PHP配置文件
1.#修改時區
#第一種:
sed -i '/date.timezone/i date.timezone = PRC' /etc/php.ini
#第二種
vim /etc/php.ini
date.timezone = Asia/Shanghai
#拷貝頁面文件
cp -a /root/zabbix-4.4.0/frontends/php/* /var/www/html/
#重新啟動zabbix-server,HTTP/Nginx,MySQL服務
/etc/init.d/zabbix_server restart
/etc/init.d/httpd restart
/etc/init.d/mysqld restart
#或
systemctl restart zabbix-server
systemctl restart httpd
systemctl restart mariadb
6.訪問zabbix-web
通過瀏覽器訪問http://服務器IP

#解決:安裝缺少的軟包並修改php.ini
yum install -y php72w-mbstring php72w-bcmath php72w-gd php72w-xml
yum install -y gd gd-devel
systemctl restart httpd

sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.* /date.timezone \=PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g' /etc/php.ini
systemctl restart httpd


#點擊下載the configuration file或者創建zabbix.conf.php文件,代碼如上圖所示
#上傳到/var/www/html/conf/下並且設置可寫權限
chmod o+x zabbix.conf.php
二、Zabbix-agent
1.編譯安裝
./configure --prefix=/usr/local/zabbix/ --enable-agent
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
2.修改zabbix_agent,指定serverIP,設置本地Hostname為本地IP地址或者DNS名稱
cd /usr/local/zabbix/etc
#備份客戶端配置文件
cp zabbix_agentd.conf zabbix_agentd.conf.bak
vim zabbix_agentd.conf
配置文件配置:
LogFile=/tmp/zabbix_agentd.log
Server=ServerIP
ServerActive=ServerIP
Hostname=IP
3.從安裝包目錄中拷貝zabbix_server啟動腳本至開機啟動目錄,默認監聽端口為10051
cd zabbix-4.4.0
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
chmod o+x /etc/init.d/zabbix_agentd
/etc/init.d/zabbix_agentd start
三、zabbix-proxy代理配置
1.編譯安裝
./configure --prefix=/usr/local/zabbix --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
2.配置數據庫
!!!不能跟server公用一個數據庫
create database zabbix_proxy charset=utf8;
grant all on zabbix_proxy.* to zabbix@"%" identified by 'zabbix';
flush privileges;
3.導入基礎sql文件
#只導這一個文件就夠了,切記!!!(否則會報cannot use database "zabbix_proxy": Zabbix proxy cannot work with a Zabbix server database這個錯)
cd zabbix-4.4.0
mysql -uzabbix -pzabbix zabbix_proxy < database/mysql/schema.sql
4.修改zabbix_proxy配置文件
cp zabbix_proxy.conf zabbix_proxy.conf.bak
vim zabbix_proxy.conf
#配置文件
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
CacheSize=100M
HeartbeatFrequency=60
DataSenderFrequency=1
StartPingers=50
StartDiscoverers=30
StartPollers=300
DataSenderFrequency=1
5.啟動
/usr/local/zabbix/sbin/zabbix_proxy -c /usr/local/zabbix/etc/zabbix_proxy.conf
6.在zabbix-web添加代理,添加主機
添加代理


創建主機時,選擇代理IP

Centos7創建啟動腳本:
centos7 采用systemd啟動方式,使用源碼編譯不自帶啟動腳本文件需要自己編寫
1.創建文件
#zabbix-server
vim /usr/lib/systemd/system/zabbix-server.service
#zabbix-proxy
vim /usr/lib/systemd/system/zabbix-proxy.service
#zabbix-agent
vim /usr/lib/systemd/system/zabbix-agent.service
2.啟動文件配置
zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
zabbix-proxy.service
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_proxy.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-proxy
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
基本命令
#添加開機自啟
systemctl enable zabbix-server
systemctl enable zabbix-proxy
systemctl enable zabbix-agent
#取消開機自啟
systemctl disable zabbix-server
systemctl disable zabbix-proxy
systemctl disable zabbix-agent
#重啟服務
systemctl restart zabbix-server
systemctl restart zabbix-proxy
systemctl restart zabbix-agent
#啟動服務
systemctl start zabbix-server
systemctl start zabbix-proxy
systemctl start zabbix-agent
#停止服務
systemctl stop zabbix-server
systemctl stop zabbix-proxy
systemctl stop zabbix-agent
錯誤ERROR
ERROR:Get value from agent failed: cannot connect to [[1.1.1.1]:10050]: [4] Interrupted system call
問題分析及解決:
服務端先ping zabbix-agent沒問題
服務端然后telnet zabbix-agent的10050端口
如果都可以查看zabbix_web上的host配置是否正確
#報錯:configure: error: no acceptable C compiler found in $PATH
#問題分析及解決:
#安裝gcc套件
yum install -y gcc
yum install -y gcc-c++
#報錯:configure: error: MySQL library not found
#問題分析及解決:
yum install -y mysql-devel
#報錯:configure: error: Unable to use libevent (libevent check failed)
#問題分析及解決:
yum install -y libevent-devel
#錯誤:切換成中文后中文亂碼:
#通過xftp(或其他上傳工具)將字體上傳至zabbix的fonts目錄(zabbix的web安裝路徑下的fonts)
#Windows下的字體文件在C:\windows\fonts下
#zabbix 3.x
上傳至zabbix服務器的/usr/share/zabbix/fonts #zabbix文件所在目錄下的fonts
#zabbix4.x
上傳至zabbix服務器的/usr/local/zabbix/html/assets/fonts/ #zabbix-web的html目錄下的fonts
#Unable to use libpcre (libpcre check failed)
apt-get install libpcre3-dev
yum install libpcre3-devel
