【Zabbix】5.0版本 CentOS 7 安裝配置詳細


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社區版下載地址

# 安裝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>>,- #密碼

image-20201001222127334

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訪問

訪問 http://10.10.2.60/zabbix

image-20201002012029350

點擊下一步幾次,輸入數據庫密碼即可完成安裝

用戶名:Admin

密碼:zabbix

image-20201002012427346

刻在User Seting中選擇中文

4.7 配置SSL加密(可略過,這里)

參考鏈接

nginx certbot 安裝配置

openssl使用

使用OpenSSL生成自簽名SSL證書

certbot官方文檔

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 圖形界面信息缺失

圖形界面顯示小方塊,不顯示文字內容解的決辦法

  1. 自行下載字體或者在Windows控制面板\外觀和個性化\字體中復制一款中文字體,我選擇的是銳線體

  2. 上傳字體至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
    
  3. 修改文件/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

image-20201002072620716

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

image-20201002073127538

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

image-20201002073743294

6 監控 Windows

Agent 安裝指導

6.1 下載配置Windows agent archive

下載地址

下載完成后,在C盤根目錄下新建zabbix文件夾,將所有文件解壓到該文件夾

image-20201002154423252

編輯配置文件 zabbix_agentd.conf

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

image-20201002173904686

在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 防火牆 \高級設置

image-20201002220101636

入站規則\新建規則

image-20201002220222756

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

image-20201002220441271

6.3 web頁面添加主機

參考 第5.2節 web頁面添加主機

需要注意的是 ,默認的組里是沒有Windows選項的,所以直接輸入Windows Servers 新建一個組

image-20201002175830070

模板選擇 Template OS Windows by Zabbix agent,點擊添加即可


開啟服務

c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -s

或者

在Windows任務管理器中啟動zabbix服務

image-20201002180654882


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM