Zabbix 随笔:安装篇(三)

该篇内容为基于 Timescale 时序插件的方案。

正文

环境处理

如果您的环境为自己装的系统,需要去掉SELINUX和防火墙的因素干扰,由于为测试环境,所以做如下处理(如果为生产环境,谨慎关闭)

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl stop firewalld  && systemctl disable firewalld

环境

  • CentOS: 8.5
  • Zabbix 版本:6.0 beta2
  • Postgresql:13
  • Timescale:2.1
  • Nginx:1.21

安装 Zabbix 国内 yum 源

本文采用清华源,国内源比较多,根据个人喜好自行更换。

cat <<EOF > /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.5/rhel/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591


[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/8/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF

导入 GPG Key 文件

curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.tuna.tsinghua.edu.cn/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

安装 Zabbix Server、前端、agent

本文的 agent为 agent2,可以自行替换。

dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 -y

安装数据库

1、安装 Postgresql 源。

dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

2、替换为国内源。

sed -i "s@https://download.postgresql.org/pub@https://mirrors.tuna.tsinghua.edu.cn/postgresql@g" /etc/yum.repos.d/pgdg-redhat-all.repo

3、禁用内置 Postgresql 版本(CentOS 7 无需操作)

dnf -qy module disable postgresql

4、安装 Postgresql 。

dnf install -y postgresql13-server

5、初始化并启动数据库

/usr/pgsql-13/bin/postgresql-13-setup initdb
systemctl enable postgresql-13
systemctl start postgresql-13

安装 Timescale 插件

1、安装 timescale 源。

tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL

2、安装 Timescale。

dnf install timescaledb-2-postgresql-13 -y

3、加载 Timescale 插件。

timescaledb-tune --pg-config=/usr/pgsql-13/bin/pg_config

4、重启数据库

systemctl restart postgresql-13

配置数据库

进入 tmp 目录是避免使用 postgres 用户出现无权限报错(实际执行成功)。

cd /tmp
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
Zabbix 随笔:安装篇(三)

5、开启 Timescale 插件

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
Zabbix 随笔:安装篇(三)

导入 Zabbix 数据文件

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

导入时序插件数据文件

cat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix
Zabbix 随笔:安装篇(三)

配置 Postgresql 数据库

1、修改配置文件
如果是非 All-In-One 环境,这里必须进行调整,如果是这里可选,根据自身环境分析。另外在利用 timescale 插件初始化 Postgresql 数据库会更改数据库配置文件,除了监听地址改为 *,其他的不要改变。

vim /var/lib/pgsql/13/data/postgresql.conf
Zabbix 随笔:安装篇(三)

2、修改权限文件
这里仅仅需要将 host 部分的验证方式改为 md5(用户名/密码方式),如果数据库分开部署,需要将 IP 地址改为使用库的 IP 地址,或者直接设置为 0.0.0.0

vim /var/lib/pgsql/13/data/pg_hba.conf
Zabbix 随笔:安装篇(三)

3、重启数据库

systemctl restart postgresql-13

修改 Zabbix Server 配置文件

这里需要注意的是数据库部分和自身配置关系很大,如果用户名密码非配置文件默认,则需要进行调整,文中数据库实例名称为 zabbix,用户名为 zabbix,密码为 xiaoyu123,所以仅调整数据库密码。

vim /etc/zabbix/zabbix_server.conf
Zabbix 随笔:安装篇(三)

Nginx 配置

1、将默认 Nginx 配置的端口部分加上注释。如下图,已经将80端口配置加上注释了。

vim /etc/nginx/nginx.conf
Zabbix 随笔:安装篇(三)

2、将 nginx 的 conf.d 里的zabbix.conf的端口注释取消,如下图所示。

vim /etc/nginx/conf.d/zabbix.conf
Zabbix 随笔:安装篇(三)

启动 Zabbix 相关服务

systemctl start zabbix-server zabbix-agent2 nginx php-fpm
systemctl enable zabbix-server zabbix-agent2 nginx php-fpm

前端配置

进入首页,IP访问即可,无需携带后缀。

Zabbix 随笔:安装篇(三)

数据库连接部分需要注意的是Database schema,为 public。

Zabbix 随笔:安装篇(三)

默认用户名依然为 Admin/zabbix

Zabbix 随笔:安装篇(三)

效果图

Zabbix 随笔:安装篇(三)

写在最后

该版本相比 mysql 版本还是优化了很多的,包括数据压缩比、以及读写数据能力确实提高了很对,不过具体效果怎么样大家可以自行测试,如果不太熟悉切勿上生产。

原创文章,作者:运维社区

如若转载,请注明出处:https://blog.kasarit.cn/?p=278

(2)
上一篇 2022年6月9日 下午1:08
下一篇 2022年6月9日 下午2:16

相关推荐

发表回复

您的电子邮箱地址不会被公开。