Noname
Noname

centos8下部署zabbix5

更新

20211109:文章使用的zabbix版本更新到5.4,数据库改用mariadb

前言

本文将在全新的centos8下部署安装zabbix5,使用mariadb数据库,nginx作为web服务器

准备工作

安装zabbix5会自动安装附带的nginx、php,但是没有数据库,所以先单独安装mariadb数据库。设置开机自动启动,并启动服务

dnf install mariadb mariadb-server -y
systemctl enable mariadb
systemctl start mariadb

建议执行mysql_secure_installation脚本进行初始化,设置数据库root密码等

mysql_secure_installation

假设数据库root密码设置为zabbix,测试一下能不能连接,没问题就退出

mysql -uroot -pzabbix
mysql> quit;

安装zabbix

安装zabbix的仓库

dnf -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm

重建缓存

dnf makecache

安装zabbix server、web前端、代理、数据库构建脚本

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent zabbix-sql-scripts

接下来初始化zabbix的用户和数据库结构,先用root连接数据库,创建zabbix用户并配置相关权限,zabbix用户的密码也设置为zabbix

mysql -uroot -pzabbix  
mysql> create database zabbix character set utf8 collate utf8_bin;  
mysql> create user zabbix@localhost identified by 'zabbix';  
mysql> grant all privileges on zabbix.* to zabbix@localhost;  
mysql> quit;

导入数据库结构

zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbi

配置zabbix server数据库连接,编辑/etc/zabbix/zabbix_server.conf
搜索DBPassword=
取消注释,改成数据库zabbix用户的密码,本例改成

DBPassword=zabbix

编辑php配置文件/etc/php-fpm.d/zabbix.conf,修改时区为上海,记得取消注释

php_value[date.timezone] = Asia/Shanghai

编辑nginx配置文件/etc/nginx/conf.d/zabbix.conf,配置监听端口,记得取消注释

listen 80;  
server_name example.com;

如果上面用的是默认的80端口,还需要注释掉nginx主配置文件的默认server配置,否则访问会返回nginx默认页。
编辑nginx主配置文件/etc/nginx/nginx.conf
搜索listen 80 default_server
将这行和下一行注释掉,如下:

#listen       80 default_server;
#listen       [::]:80 default_server;

在启动相关服务之前,还需要关闭selinux,否则zabbix-server会起不来
先临时关闭selinux

setenforce 0

然后编辑配置文件/etc/selinux/config,把 SELINUX 设置为 disabled

SELINUX=disabled

启动相关服务,并设置开机自动启动

systemctl enable zabbix-server zabbix-agent nginx php-fpm
systemctl restart zabbix-server zabbix-agent nginx php-fpm

如果没有看到报错,那么相关服务就已经起来
如服务器开启防火墙,还需要配置放通相关端口
zabbix至少需要打开web访问的端口和用于主动监控的端口才能正常工作。如本例web使用默认的80端口,主动监控使用默认的10051端口

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 port port=10051 protocol=tcp accept'
firewall-cmd --reload

配置zabbix web前端

使用浏览器访问服务器地址http://server_ip,如果一切正常,可以看到以下界面,直接下一步

https://blog.cpmsxe.net/wp-content/uploads/2020/09/1.png

确认所需的参数是否符合要求,然后下一步
https://blog.cpmsxe.net/wp-content/uploads/2020/09/2.png

配置数据库的地址、端口、用户名和密码,本例密码为zabbix
如果点下一步出现错误,把Database host修改成127.0.0.1
https://blog.cpmsxe.net/wp-content/uploads/2020/09/3.png

这里保持默认,直接下一步
https://blog.cpmsxe.net/wp-content/uploads/2020/09/4.png

检查一下安装参数,如果无误就下一步
https://blog.cpmsxe.net/wp-content/uploads/2020/09/5.png

注意这里可能会因为权限问题无法写入配置文件,那么根据网页的提示,下载配置文件,然后手动上传到服务器地址目录
https://blog.cpmsxe.net/wp-content/uploads/2020/09/6.png

如果没问题的话,会提示安装成功
https://blog.cpmsxe.net/wp-content/uploads/2020/09/7.png

到达登陆界面,使用默认用户名Admin和密码zabbix来登陆系统,到此zabbix5部署完成
https://blog.cpmsxe.net/wp-content/uploads/2020/09/8.png

发表回复

textsms
account_circle
email

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

  • xc

    大佬问一下centos8宝塔编译部署的LNMP环境,安装zabbix5.0提示package zabbix-nginx-conf-5.0.9-1.el8.noarch requires nginx, but none of the providers can be installed,该如何解决。

    4 年前 回复
    • cpm博主

      @xc: 先检查系统版本跟源的版本是否是一致的

      4 年前 回复

Noname

centos8下部署zabbix5
更新 20211109:文章使用的zabbix版本更新到5.4,数据库改用mariadb 前言 本文将在全新的centos8下部署安装zabbix5,使用mariadb数据库,nginx作为web服务器 准备工作 安装zabbix5会…
扫描二维码继续阅读
2020-09-11