此安裝文檔是我一步一步的驗證過的,按步驟來可以順暢的安成ZABBIX6.4的部署。
Zabbix 主要有以下幾個組件組成:
Zabbix Server6.4:Zabbix 服務端,是 Zabbix 的核心組件。它負責接收監控數據并觸發告警,還負責將監控數據持久化到數據庫中。
Zabbix Agent:Zabbix 客戶端,部署在被監控設備上,負責采集監控數據,采集后的數據發送給 Zabbix Server 處理。Zabbix Agent 目前有兩個版本:Zabbix agent 和 Zabbix agent 2。前者是 C 語言開發的,幾乎支持所有的主流平臺。而后者是 Go 開發的,優點包括:能有效降低 TCP 連接的數量;支持更高的并發;易于擴展。目標是替代 Zabbix agent ,目前只支持 Linux 和Windows 兩個平臺。
Zabbix Proxy:代替 Zabbix Server 接收監控數據并進行預處理,預處理后的數據批量發送給 Zabbix Server,這樣可減輕 Zabbix Server 的壓力。
Web 頁面:可通過 Web 頁面來管理和維護被監控設備的配置信息、查看監控數據、配置告警等。
數據庫:負責存儲被監控設備的配置信息和監控數據。支持的數據庫有:MySQL(Percona,MariaDB),Oracle,PostgreSQL,TimescaleDB for PostgreSQL,SQLite
————————————————
操作系統:centeros7.9
zabbix Server 6.4
zabbix Agent 6.0.12
mysql8.0.32
nginx 1.22.1
php 7.4.0
部署環境
準備好centeros 7.9操作系統,此系統需要訪問互聯網
#配置網卡IP:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
------
BOOTPROTO=“static”?
IPADDR=10.160.5.220
NETMASK=255.255.255.0
GATEWAY=10.160.5.254
DNS1=114.114.114.114
------
#重啟網卡服務
service network restart
#關閉系統防火墻
systemctl stop firewalld
systemctl disable firewalld
#修改配置文件:
vi /etc/selinux/config
SELINUX=disabled
一、Mysql8.0.32 部署
#下載
cd /usr/local/src/
yum install wget //如果wget不能使用請使用yum安裝
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
#解壓
mkdir mysql-8.0.32
tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.32
#忽略依賴檢查強制安裝,因為捆綁包里已經帶依賴了,所以只要全部安裝就可以,檢查的話分先后順序很麻煩的
cd mysql-8.0.32
rpm -ivh mysql-community-* --force --nodeps
#創建數據存儲目錄
mkdir -p /data/mysql
chown mysql:mysql /data/mysql
#修改配置文件
vi /etc/my.cnf
------
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
port=3306
lower_case_table_names=1
max_connections=500
innodb_force_recovery=0
------
重啟系統或mysql服務
#啟動數據庫
#先查看libaio包是否有安裝(安裝了則不用管,未安裝可能出現啟動失敗缺包的情況)
#我這里使用的是aliyun的yum源(需要的可以在文檔最底部查看)
yum install libaio
systemctl enable mysqld
systemctl start mysqld
#啟動失敗的話可以查看日志 /var/log/mysqld.log
#獲取密碼登錄Mysql
cat /var/log/mysqld.log | grep password
#登陸,輸入密碼
mysql -uroot -p
#修改密碼
alter user 'root'@'localhost' identified by 'P@ssw0rd1234';
flush privileges;
@@@降低mysql密碼設置等級,可選配置@@@
#密碼檢查等級,0/LOW、1/MEDIUM、2/STRONG
mysql> set global validate_password.policy=0;
#密碼的最短長度
mysql> set global validate_password.length=6;
#密碼至少要包含的小寫字母個數和大寫字母個數
mysql> set global validate_password.mixed_case_count=0;
@@@
#創建zabbix數據庫
create database zabbix character set utf8 collate utf8_bin;
#創建用戶(指定使用的身份驗證插件)
create user 'zabbix'@'localhost' identified with mysql_native_password by 'Zabbix@123';
grant all privileges on zabbix.* to 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
flush privileges;
二、nginx 1.22.1部署
#安裝nginx
rpm -ivh http://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/pcre2-10.23-2.el7.x86_64.rpm
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.22.1-1.el7.ngx.x86_64.rpm
mkdir /data/web
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
#配置nginx配置文件
vi /etc/nginx/conf.d/zabbix.conf
------
server {
listen 80;
server_name localhost;
root /data/web;
location / {
index index.php index.html index.htm;
}
location ~ .php$ {
#root /data/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
------
#啟動服務
systemctl enable nginx
systemctl start nginx
三、PHP7.4.0 部署
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install php74
較少安裝(建議):
yum -y install gcc gcc-c++ php74-php-cli php74-php-fpm php74-php-gd php74-php-mbstring php74-php-bcmath php74-php-xml php74-php-mysqlnd php74-php-ldap
較多安裝(如果需要PHP更多功能選這個):
yum -y install php74-php-bcmath php74-php-cli php74-php-common php74-php-devel php74-php-embedded php74-php-fpm php74-php-gd php74-php-intl php74-php-mbstring php74-php-mysqlnd php74-php-opcache php74-php-pdo php74-php-pear php74-php-pecl-igbinary php74-php-pecl-memcached php74-php-process php74-php-xml
#修改php配置文件
vi /etc/opt/remi/php74/php.ini
------
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
------
#創建php測試頁
cd /data/web/
vi index.php
------
phpinfo();
?>
------
#啟動
systemctl enable php74-php-fpm
systemctl start php74-php-fpm
#輸入ZABBIX IP地址查看網頁是否能打開,網頁能打開則為正常
http://10.160.5.220
四、zabbix-server 部署
#創建用戶
groupadd zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix
#下載安裝
cd /usr/local/src
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.14.tar.gz
tar -xf zabbix-6.0.14.tar.gz
cd /usr/local/src/zabbix-6.0.14
#安裝依賴
yum -y install mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel
#編譯安裝
export CFLAGS="-std=gnu99"
./configure --sysconfdir=/etc/zabbix --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
make install
#修改配置文件
vi /etc/zabbix/zabbix_server.conf
------
12:ListenPort=10051
38:LogFile=/tmp/zabbix_server.log
87:DBHost=localhost
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=Zabbix@123
507:Timeout=4
593:LogSlowQueries=3000
708:StatsAllowedIP=127.0.0.1
------
#向數據庫中導入zabbix的庫表及數據(注意導入的順序)
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/schema.sql
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/images.sql
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/data.sql
#移動zabbix前端頁面到網站根目錄
cp -rp /usr/local/src/zabbix-6.0.14/ui/* /data/web/
y
#配置zabbix系統啟停命令(注意這個文件是新增的)
vi /usr/lib/systemd/system/zabbix.service
------
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
------
#安裝fping
yum install fping
#安裝ZABBIX AGENT
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-agent-6.0.12-release1.el7.x86_64.rpm?spm=a2c6h.25603864.0.0.4a7e7a10yQa5Nh
systemctl start zabbix-agent
systemctl enable zabbix-agent
systemctl status zabbix-agent
配置文件路徑 vi /etc/zabbix/zabbix_agentd.conf,如果是同一臺服務器則無須修改
------
13:PidFile=/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
117:Server=10.160.5.220
171:ServerActive=127.0.0.1
182:Hostname=Zabbix server
323:Include=/etc/zabbix/zabbix_agentd.d/*.conf
------
#啟動服務
systemctl daemon-reload
systemctl enable zabbix
systemctl start zabbix
五、zabbix-server 初始化部署
初始化鏈接
http://10.160.5.220/setup.php
輸入服務器IP,按步驟進行部署
需要將配置文件復制到 /data/web/conf/zabbix.conf.php
安裝完成
#解決ZABBIX6.0中文亂碼的問題
將windows的 C:\Windows\Fonts 路徑下將楷體的ttf文件復制到linux的 /data/web/assets/fonts 目錄下
輸入命令將楷體修改為默認字體
sed -i 's/DejaVuSans/simkai/g' /data/web/include/defines.inc.php