Zabbix 5.0 CentOS 7 安裝配置
Zabbix 是一個完整的開源監控軟件解決方案,適用於網絡、操作系統和應用程序。
1. 下載並安裝 Zabbix 存儲庫
操作系統:CentOS 7
# 官方源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all && yum makecache
# 清華源
rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2. 安裝 Zabbix 服務器、前端和代理
yum install -y zabbix-server-mysql zabbix-agent
安裝過程中提示,不知道有什么影響,ipmi參考信息
WARNING: ipmi_devintf module isn't available.
WARNING: ipmi_msghandler module isn't available.
3. 安裝並配置 MySQL
3.1 安裝
# 安裝mysql
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum install -y mysql-community-server
# 啟動
sudo systemctl start mysqld
# 查看狀態
sudo systemctl status mysqld
# 查詢mysql密碼
sudo grep 'temporary password' /var/log/mysqld.log
2020-10-01T14:17:29.369254Z 1 [Note] A temporary password is generated for root@localhost: fW+(cQ1u>>,- #密碼

3.2 配置
# 登錄mysql
mysql -uroot -p
MySQL中需要執行的命令
# 修改默認密碼
set password for root@localhost=password('Zabbix@123');
# 創建zabbix數據庫
create database zabbix character set utf8 collate utf8_bin;
# 創建zabbix用戶
create user zabbix@localhost identified by 'zAbbix@123';
# 添加遠程訪問權限
grant all privileges on zabbix.* to zabbix@localhost;
# 退出
quit;
導入zabbix初始數據庫
# 輸入密碼后,稍等一會
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
3.3 修改Zabbix配置文件
vim /etc/zabbix/zabbix_server.conf
...
DBPassword=zAbbix@123
..
4. 配置前端並訪問
4.1 啟用 zabbix 前端存儲庫
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
4.2 安裝 Zabbix 前端包
# 安裝centos軟件集
yum install -y centos-release-scl
# 安裝Zabbix 前端包
yum install -y zabbix-web-mysql-scl zabbix-nginx-conf-scl
4.3 配置nginx端口及服務名
# 取消監聽端口
# 關於配置server name的問題,不要隨意配置不屬於自己的域名,就算只是在內網使用也不要配置,因為可能引發沖突和意想不到的問題。
# 10.10.2.60 是我本機IP
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 80;
server_name 10.10.2.60;
4.4 配置php
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 用戶行添加nginx用戶,使用Apache無需這一步
listen.acl_users = apache,nginx
# 設置正確的時區
php_value[date.timezone] = Asia/Shanghai
4.5 啟動zabbix服務
# 啟動
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# 開機自啟
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
啟動報錯 Failed to start The nginx HTTP and reverse proxy server.我關閉了ipv6網絡服務,需要將listen [::]:80 default_server;注釋
啟動報錯 Failed to start The PHP FastCGI Process Manager.我這里是因為配置listen.acl_users出現錯誤
4.6 web訪問

點擊下一步幾次,輸入數據庫密碼即可完成安裝
用戶名:Admin
密碼:zabbix

刻在User Seting中選擇中文
4.7 配置SSL加密(可略過,這里)
參考鏈接
Zabbix 服務器尚未啟用任何傳輸加密,因此在我們的瀏覽器和服務器之間傳遞的任何消息都是純文本消息。我們應該盡快使用 SSL 證書保護我們的服務器。
- 生成密鑰
# 安裝 mod_ssl 包
yum install mod_ssl
# 創建密鑰保存文件夾
mkdir -p /etc/opt/rh/rh-nginx116/nginx/certs
cd /etc/opt/rh/rh-nginx116/nginx/certs
# 生成密鑰 zabbix.key
# genra 生成RSA私鑰
# 2048 私鑰長度
openssl genrsa -out zabbix.key 2048
# 生成證書請求 zabbix.csr
openssl req -new -key zabbix.key -out zabbix.csr -subj "/C=CN/ST=Shanghai/L=Shanghai/O=npc/OU=npc/CN=10.10.2.60"
# 生成自簽SSL證書
openssl x509 -req -days 365 -in zabbix.csr -signkey zabbix.key -out zabbix.crt
或者
# 或者使用如下命令,填寫交互信息即可完成
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/opt/rh/rh-nginx116/nginx/certs/zabbix.key -out /etc/opt/rh/rh-nginx116/nginx/certs/zabbix.crt
# 交互信息
# 國家
Country Name (2 letter code) [XX]:CN
# 省
State or Province Name (full name) []:Shanghai
# 市
Locality Name (eg, city) [Default City]:Shanghai
# 組織
Organization Name (eg, company) [Default Company Ltd]:npc
# 單位
Organizational Unit Name (eg, section) []:npc
# 域名或IP
Common Name (eg, your name or your server's hostname) []:10.10.2.60
Email Address []:
# 生成結果
[root@vm60 certs]# ls
zabbix.crt zabbix.key
- 配置nginx
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {
listen 443 ssl;
server_name 10.10.2.60;
ssl_certificate /etc/opt/rh/rh-nginx116/nginx/certs/zabbix.crt;
ssl_certificate_key /etc/opt/rh/rh-nginx116/nginx/certs/zabbix.key;
root /usr/share/zabbix;
index index.php;
location = /favicon.ico {
log_not_found off;
}
location / {
try_files $uri $uri/ =404;
}
location /assets {
access_log off;
expires 10d;
}
location ~ /\.ht {
deny all;
}
location ~ /(api\/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /usr/share/zabbix;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
server {
listen 80;
server_name 10.10.2.60;
location / {
return 301 https://$host$request_uri;
}
}
重啟之后即可用https訪問
4.8 圖形界面信息缺失
圖形界面顯示小方塊,不顯示文字內容解的決辦法
-
自行下載字體或者在
Windows控制面板\外觀和個性化\字體中復制一款中文字體,我選擇的是銳線體 -
上傳字體至zabbix服務器,路徑為
/usr/share/zabbix/assets/fonts# 賦予權限 chmod 777 ruixianti.ttf # 刪除映射 rm -rf /etc/alternatives/zabbix-web-font # 重新映射 ln -s /usr/share/zabbix/assets/fonts/ruixianti.ttf /etc/alternatives/zabbix-web-font -
修改文件
/usr/share/zabbix/include/defines.inc.phpvim /usr/share/zabbix/include/defines.inc.php ... # 字體名稱修改為上傳的字體名稱 define('ZBX_FONT_NAME', 'ruixianti'); .... # 字體名稱修改為上傳的字體名稱 define('ZBX_GRAPH_FONT_NAME', 'ruixianti'); ....
5.使用zabbix agent 監控第一台CentOS主機
zabbix服務器和監控主機需在同一個網絡下
5.1 安裝並配置agent
# 安裝
rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum install -y zabbix-agent
# 配置
vim /etc/zabbix/zabbix_agentd.conf
# zabbix 服務端地址
Server=10.10.2.60
# zabbix活動服務器地址
ServerActive=10.10.2.60
# 主機名,在web頁面添加主機時需設置相同
Hostname=vm61
5.2 web頁面添加主機
1.選擇 configuration -> 2.hosts -> 3.創建hosts

4.填寫 host name -> 5.選擇組 - Linux Servers -> 6.填寫被監控主機IP,如果是域名則填寫在DNS name並選擇DNS -> 7.選擇Templates

8.點擊 select -> 9.Templates/Operating systems -> 10.Template OS Linux by Zabbix agent ->11. select -> 12. Add

6 監控 Windows
6.1 下載配置Windows agent archive
下載完成后,在C盤根目錄下新建zabbix文件夾,將所有文件解壓到該文件夾

編輯配置文件 zabbix_agentd.conf
# 服務器
Server=10.10.2.60
# 日志文件
LogFile=c:\zabbix\zabbix_agentd.log
# 活動服務器
ServerActive=10.10.2.60
# 主機名
Hostname=npc

在PowerShell中安裝
c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -i
# 參數說明
-c 指定配置文件
-i -安裝 將 Zabbix Windows 代理安裝為服務
-d -卸載 卸載 Zabbix Windows 代理服務
-s -開始 啟動 Zabbix Windows 代理服務
-x -停止 停止 Zabbix Windows 代理服務
6.2 配置防火牆
控制面板\系統和安全\Windows Defender 防火牆 \高級設置

入站規則\新建規則

選擇 端口,輸入10050,下一步直至輸入名稱信息,點擊完成即可

6.3 web頁面添加主機
參考 第5.2節 web頁面添加主機
需要注意的是 ,默認的組里是沒有Windows選項的,所以直接輸入Windows Servers 新建一個組

模板選擇 Template OS Windows by Zabbix agent,點擊添加即可
開啟服務
c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -s
或者
在Windows任務管理器中啟動zabbix服務

