【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

posted @ 2020-10-02 22:41  apnpc  阅读(2578)  评论(0编辑  收藏  举报