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.php
vim /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服務