前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix 随笔:安装篇(三)

Zabbix 随笔:安装篇(三)

作者头像
IT小白Kasar
发布2022-02-16 18:39:58
3800
发布2022-02-16 18:39:58
举报
文章被收录于专栏:个人技术随笔个人技术随笔

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

正文

环境处理

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

代码语言:javascript
复制
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 源

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

代码语言:javascript
复制
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
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,可以自行替换。

代码语言:javascript
复制
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 -y

安装数据库

1、安装 Postgresql 源。

代码语言:javascript
复制
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

2、替换为国内源。

代码语言:javascript
复制
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 无需操作)

代码语言:javascript
复制
dnf -qy module disable postgresql

4、安装 Postgresql 。

代码语言:javascript
复制
dnf install -y postgresql13-server

5、初始化并启动数据库

代码语言:javascript
复制
/usr/pgsql-13/bin/postgresql-13-setup initdb
systemctl enable postgresql-13
systemctl start postgresql-13

安装 Timescale 插件

1、安装 timescale 源.

代码语言:javascript
复制
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.

代码语言:javascript
复制
dnf install timescaledb-2-postgresql-13 -y

3、加载 Timescale 插件。

代码语言:javascript
复制
timescaledb-tune --pg-config=/usr/pgsql-13/bin/pg_config

4、重启数据库

代码语言:javascript
复制
systemctl restart postgresql-13

配置数据库

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

代码语言:javascript
复制
cd /tmp
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix

5、开启 Timescale 插件

代码语言:javascript
复制
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix

导入 Zabbix 数据文件

代码语言:javascript
复制
zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

导入时序插件数据文件

代码语言:javascript
复制
cat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

配置 Postgresql 数据库

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

代码语言:javascript
复制
vim /var/lib/pgsql/13/data/postgresql.conf

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

代码语言:javascript
复制
vim /var/lib/pgsql/13/data/pg_hba.conf

3、重启数据库

代码语言:javascript
复制
systemctl restart postgresql-13

配置 Zabbix Server 配置文件

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

代码语言:javascript
复制
vim /etc/zabbix/zabbix_server.conf
图中全默认环境
图中全默认环境

Nginx 配置

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

代码语言:javascript
复制
vim /etc/nginx/nginx.conf

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

代码语言:javascript
复制
vim /etc/nginx/conf.d/zabbix.conf

启动 Zabbix 相关服务

代码语言:javascript
复制
systemctl start zabbix-server zabbix-agent2 nginx php-fpm
systemctl enable zabbix-server zabbix-agent2 nginx php-fpm

前端配置

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

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

默认用户名依然为 Admin/zabbix

效果图

写在最后

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文
    • 环境处理
      • 环境
        • 安装 Zabbix 国内 yum 源
          • 安装 Zabbix Server、前端、agent
            • 安装数据库
              • 安装 Timescale 插件
                • 配置数据库
                  • 导入 Zabbix 数据文件
                    • 导入时序插件数据文件
                      • 配置 Postgresql 数据库
                        • 配置 Zabbix Server 配置文件
                          • Nginx 配置
                            • 启动 Zabbix 相关服务
                              • 前端配置
                                • 效果图
                                • 写在最后
                                相关产品与服务
                                数据库
                                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档