【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
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服务