Zabbix 5.4 完整功能安装指南(PG时序版)

时间:2022-04-14 10:25:15

Zabbix 5.4 完整功能安装指南(PG时序版)

之前提到过Zabbix 5.2版本的安装方式,此次采用PG+Timescale(Server与DB分开部署)

正文

环境

 

系统版本:CentOS 8.2(可以替换为其他版本,例如ubuntu)

  • Zabbix版本:5.4
  • 数据库版本:postgresql 12
  • Timescale版本:2.1
  • Nginx版本:1.14
前提条件

关闭Selinux及防火墙

安装Zabbix源

最近官方源的网络已经恢复正常,所以直接采用Zabbix官方源即可,两台机器都需要装


  1. rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm 
安装Sever相关组件

其中zabbix-web-service为最新的报表功能


  1. dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2 zabbix-web-service 
数据库安装

第二条命令为禁用自带的pg库,不禁用会报错(如下图所示)


  1. dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm 
  2. dnf -qy module disable postgresql 
  3. dnf install -y postgresql12-server 

 Zabbix 5.4 完整功能安装指南(PG时序版)

初始化数据库

  1. /usr/pgsql-12/bin/postgresql-12-setup initdb 
  2. systemctl enable postgresql-12 && systemctl start postgresql-12 
安装Timescale时序插件源

  1. tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL 
  2. [timescale_timescaledb] 
  3. name=timescale_timescaledb 
  4. baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch 
  5. repo_gpgcheck=1 
  6. gpgcheck=0 
  7. enabled=1 
  8. gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey 
  9. sslverify=1 
  10. sslcacert=/etc/pki/tls/certs/ca-bundle.crt 
  11. metadata_expire=300 
  12. EOL 
安装Timescale插件

  1. dnf install -y timescaledb-2-postgresql-12 

初始化数据库添加时序插件并重启数据库


  1. timescaledb-tune --pg-config=/usr/pgsql-12/bin/pg_config 
  2. systemctl restart postgresql-12 

Zabbix 5.4 完整功能安装指南(PG时序版)

一路Y即可

创建Zabbix所需数据库及用户名密码

--pwprompt参数是为zabbix用户创建密码,不带默认不要密码


  1. sudo -u postgres createuser --pwprompt zabbix 
  2. sudo -u postgres createdb -O zabbix zabbix 
 

Zabbix 5.4 完整功能安装指南(PG时序版)

如果出现这个问题,由于你在root目录下,切换到其他目录即可,没有实际影响

启用TimescaleDB

  1. echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix 

 Zabbix 5.4 完整功能安装指南(PG时序版)

如果出现该图证明就OK了

安装数据库文件及zabbix-agent(建议采用agent2)

  1. dnf -y install zabbix-agent2 zabbix-sql-scripts 
导入数据库架构文件

  1. zcat /usr/share/doc/zabbix-sql-scripts/postgresql/create.sql.gz | sudo -u zabbix psql zabbix 
导入TimescaleDB超表文件

  1. zcat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql.gz | sudo -u zabbix psql zabbix 

 Zabbix 5.4 完整功能安装指南(PG时序版)

和5.2略有不同

数据库配置文件修改

主要体现在两方面,一方面是Server需要远程连接到数据库,所以需要开放连接IP,另外一个是数据库远程用户的权限。


  1. vi /var/lib/pgsql/12/data/postgresql.conf 
Zabbix 5.4 完整功能安装指南(PG时序版)

去掉注释,改为*,开启远程访问,另外建议初始化连接数改为300


  1. vi /var/lib/pgsql/12/data/pg_hba.conf 

Zabbix 5.4 完整功能安装指南(PG时序版)

改为允许zabbix Server访问,其次认证方式改为trust或者md5

最后pg重新加载配置


  1. vi /var/lib/pgsql/12/data/pg_hba.conf 
Zabbix Server配置文件修改

主要修改zabbix数据库的IP和密码(用户默认为zabbix)

Zabbix 5.4 完整功能安装指南(PG时序版)

修改主机

Zabbix 5.4 完整功能安装指南(PG时序版)

修改密码(这里密码脱敏了,实际不是这个,自己注意修改)

Nginx配置

由于默认80端口被占用,所以修改官方配置文件,其次修改zabbix配置文件


  1. vi /etc/nginx/nginx.conf 

Zabbix 5.4 完整功能安装指南(PG时序版)

将默认端口改为8080


  1. vi /etc/nginx/conf.d/zabbix.conf 

Zabbix 5.4 完整功能安装指南(PG时序版)

将80端口那一行注释去掉

启动相关服务

  1. systemctl restart zabbix-server zabbix-agent2 nginx php-fpm 
  2. systemctl enable zabbix-server zabbix-agent2 nginx php-fpm 

Zabbix 5.4 完整功能安装指南(PG时序版)

如果出现这个错误基本是selinux的错误

前段关键操作

Zabbix 5.4 完整功能安装指南(PG时序版)

Zabbix 5.4 完整功能安装指南(PG时序版)

如果web服务也分离部署,此处的Host也要写IP

开启报表服务

1.修改配置文件,开启report进程,填写服务相关接口,如下图

Zabbix 5.4 完整功能安装指南(PG时序版)

如果非本地需要写IP

2.安装chrome浏览器


  1. wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 
  2.  
  3. dnf -y localinstall google-chrome-stable_current_x86_64.rpm 

3.启动报表相关服务


  1. systemctl restart zabbix-web-service 
  2.  
  3. systemctl enable zabbix-web-service 

4.前端配置

Zabbix 5.4 完整功能安装指南(PG时序版)

Zabbix 5.4 完整功能安装指南(PG时序版)

这里记得是前端登录Url

写在最后

由于之前做过5.4报表的介绍,这里就不展现效果了,整个过程其实完整跑下来还是有点小复杂的,但是熟练后基本都可以知道每一步报错的问题在哪里,这也是学习的一个过程,相比mysql版本还是优化了很多的,具体效果怎么样大家可以自行测试。

原文链接:https://www.toutiao.com/i6973922191360410115/