哇噻,Zabbix7.0 LTS!功能又进化了!

科技   2024-06-19 08:08   上海  
简介:

本教程使用Rocky Linux 8.9 搭建,后端数据库使用PostgreSQL 16 + TimescaleDB 2.14 时序数据库。

TimescaleDB,这是一种基于PostgreSQL的数据库解决方案,可自动将数据分为基于时间的块,以支持更快的大规模的监控性能。能以更好的性能去删除过期的监控数据和进行实时压缩数据,可节省空间。

    • 使用8.9而不使用9的原因,是因为RHEL 9 开始,Net-snmp包不支持DES MD5等过时加密算法了。
    • 本教程是Zabbix 7.0 LTS的版本。

数据库集群安装:https://songxwn.com/Pigsty-PG-RDS/
Zabbix 系列教程:https://songxwn.com/categories/Zabbix/


6.0 to 7.0 特性

    • 支持SNMP异步

    • 支持Proxy 组,可负载均衡和故障切换。

    • 支持LDAP 实时同步

    • 即时同步主动或被动 Zabbix proxy 和 agent 更改的配置。

    • Zabbix proxy版本向下兼容

    • SNMP支持 walk,可批量获取OID的数据

    • 自动发现多进程

安装过程:

关闭SE Linux 和防火墙 安装所需基础包

systemctl disable --now firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0
dnf install tree vim bash-completion tar wget epel-release -y
# epel-release 自带的fping包更高,支持更高的延迟。

安装Zabbix Server

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/8/x86_64/zabbix-release-7.0-1.el8.noarch.rpm
# 安装yum
dnf makecache
dnf module switch-to php:8.0 -y
# 切换PHP版本
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 -y
# 安装zabbix nginx php

配置PostgreSQL 16 + TimescaleDB 2.14

sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{centos})-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
# 配置Postgresql 源
sudo 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
# 配置TimescaleDB
dnf -qy module disable postgresql
# 关闭系统的源
dnf update -y

安装

dnf install timescaledb-2-postgresql-16 -y
# 安装postgresql 和 timescaledb
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
# 初始化数据库
timescaledb-tune --pg-config /usr/pgsql-16/bin --max-conns=256

# 调优参数,一路yes即可。
sudo systemctl enable --now postgresql-16
# 配置开机启动,并启动
sudo systemctl status postgresql-16
ss -an | grep 5432
# 检查状态是否正常
sudo -u postgres psql
\password postgres
\q
# 进入psql配置管理员密码,并退出。
sudo -u postgres createuser --pwprompt zabbix
# 创建zabbix用户并配置密码
sudo -u postgres createdb -O zabbix zabbix
# 创建zabbix数据库并指定所属用户为zabbix.
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
# 导入基础sql
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
zabbix数据库开启timescaledb扩展
cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix
# 导入timescaledb sql

配置Zabbix Server

vim /etc/zabbix/zabbix_server.conf
# 打开Zabbix Server配置文件,配置zabbix用户的数据库密码。配置忽略数据库版本检查。
DBPassword=password
AllowUnsupportedDBVersions=1

安装中文包

dnf install glibc-langpack-zh -y

启动并配置开机启动

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

配置Nginx

vim /etc/nginx/conf.d/zabbix.conf
        listen          80;
        server_name     zabbix.example.com;
# 修改监听端口和域名,确保域名可被解析。
访问:

访问你配置域名,进入初始化向导

输入数据库连接信息、时区、语言。

然后登录Zabbix,默认账号为Admin,默认密码为 zabbix

设置中文字体:

配置中文字体-防止图形中文乱码

cd /usr/share/fonts/dejavu


RPM 包的字体路径


mv DejaVuSans.ttf DejaVuSans.ttf.old

# 移除默认的字体

wget -O DejaVuSans.ttf https://mirrors.bfsu.edu.cn/adobe-fonts/source-han-sans/OTF/SimplifiedChinese/SourceHanSansSC-Normal.otf


# 从北京外语大学镜像下载Adobe的思源黑体字体,然后重试绘图即可。

#时序数据库参考
https://docs.timescale.com/self-hosted/latest/install/installation-linux/

监控实战:
1.监控Linux
https://blog.csdn.net/weixin_41645135/category_12037143.html

2.监控Oracle
https://jeames.blog.csdn.net/article/details/126966338

3.监控MySQL
https://jeames.blog.csdn.net/article/details/126825934

4.监控PostgreSQL
https://jeames.blog.csdn.net/article/details/120300581

释然IT杂谈
本公众号专注于分享网络工程(思科、华为),系统运维(Linux)、以及安全等方面学习资源,以及相关技术文章、学习视频和学习书籍等。期待您的加入~~~关注回复“724”可领取免费学习资料(含有书籍)。
 最新文章