Zabbix 6.0&时序数据库部署及常见问题

Zabbix 6.0&时序数据库部署及常见问题

操作系统: Ubuntu Server LTS 20.04.3
软件版本: Zabbix 6.0 LTS
数据库: PostgreSQL 14.2
时序插件: TimesacleDB 2

流程

  1. 配置系统与软件
  2. 安装PostgreSQL数据库和TimescaleDB插件
  3. 安装配置Zabbix
  4. 其他问题及解决办法

详细步骤

一、 配置系统与软件

  1. 打开时区选择工具,依次选择Asia – China – Beijing Time – Yes。
sudo tzselect
  1. 复制时区文件到当前系统设置。
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  1. 检查时间是否正确。<可选>
date
  1. 安装相关软件
sudo apt -y install language-pack-zh-hans snmp snmp-mibs-downloader net-tools nmap

language-pack-zh-hans:中文语言包安装后,Zabbix才可以设置为中文。
snmp:安装后可以使用snmpwalk等工具。
snmp-mibs-downloader:可以看作是SNMP的数据库,没有它的话,监控SNMP设备可能会无法解析部分信息。
net-tools:可选工具,ifconfig就在其中。
nmap:可选工具,扫描设备端口时要用到。

二、 安装数据库与时序插件

A. 安装PostgreSQL数据库

PostgreSQL官网安装步骤:https://www.postgresql.org/download/linux/ubuntu/

  1. 添加PostgreSQL官方资源库。
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
  1. 导入Key。
sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  1. 更新软件列表。
sudo apt update
  1. 安装最新版本的PostgreSQL数据库。
sudo apt -y install postgresql

也可以将末尾替换为 postgresql-13 来指定要安装的版本。

B. 安装TimescaleDB插件

TimescaleDB官网安装步骤:https://docs.timescale.com/install/latest/self-hosted/installation-debian/

这里切换为root账户,就不必在每条命令前加sudo了。

sudo su
  1. 安装前置工具。
apt -y install gnupg postgresql-common apt-transport-https lsb-release wget
  1. 运行脚本。
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
  1. 添加Key。
curl -L https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add -
  1. 添加TimesacleDB资源库。
sh -c "echo 'deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main' > /etc/apt/sources.list.d/timescaledb.list"
  1. 安装Key。
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | apt-key add -
  1. 更新软件列表。
apt update
  1. 安装TimescaleDB。
apt -y install timescaledb-2-postgresql-14
  1. 安装完成后,启动设置程序,一路Yes到底即可。
timescaledb-tune

此设置是将PostgreSQL数据库的默认数值更新为适应TimescaleDB所需求的合适值。

至此,时序数据库安装完成,重启服务器。

三、 安装Zabbix

参考Zabbix官网安装步骤:https://www.zabbix.com/cn/download?zabbix=6.0&os_distribution=ubuntu&os_version=20.04_focal&db=postgresql&ws=apache
在这里插入图片描述

切换回普通账户

exit
1. 下载Zabbix资源库文件。
sudo wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb

添加Zabbix资源库。

sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb

更新软件列表。

sudo apt update
2. 安装Zabbix软件。
sudo apt -y install zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent2

zabbix-server-pgsql:是Zabbix监控软件服务器端的PostgreSQL数据库版本。
zabbix-agent2:是Zabbix监控用的客户端。

3. 创建用户和数据库。
sudo -u postgres createuser --pwprompt zabbix

提示输入2次要设置的数据库密码,举例:输入2次321。

sudo -u postgres createdb -O zabbix zabbix

导入初始架构和数据。

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

会提示要求输入密码,此时输入刚才设置的321。

4. 配置数据库密码。

打开配置文件。

sudo vi /etc/zabbix/zabbix_server.conf

定位到# DBPassword=这一行,在下面写入DBPassword=321,保存退出。
在这里插入图片描述

5. 重启Zabbix软件。
systemctl restart zabbix-server zabbix-agent2 apache2

设置为自启动,其间会要求输入账户密码多次。

systemctl enable zabbix-server zabbix-agent2 apache2
6. 启用TimescaleDB。
sudo echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
cd /usr/share/doc/zabbix-sql-scripts/postgresql/
sudo cat timescaledb.sql | sudo -u zabbix psql zabbix

在这里插入图片描述

至此,Zabbix与数据库安装完成,重启。

重启后,打开浏览器,输入http://ip/zabbix,进入Zabbix前端页面进行设置。

这里的ip就是Ubuntu服务器的IP地址

设置过程中必选的一项为:配置DB连接,在密码处输入之前设置的321。
在这里插入图片描述

Zabbix使用时序数据库与MySQL数据库的明显不同之处在于:
登录Zabbix前端页面后,在管理(Administration) 一般(General) 管家(Housekeeping)中
最末尾多出了一个压缩选项,默认Enable compression是开启的。
在这里插入图片描述

四、 其他

  • 解决Zabbix Web前端图形中文乱码
  1. 从任意一台Windows主机上复制出一个“楷体 常规”字体文件,放到Ubuntu服务器的/usr/share/zabbix/assets/fonts/路径下。
    在这里插入图片描述

  2. 然后在Ubuntu服务器上,打开Zabbix前端的配置文件

sudo vi /usr/share/zabbix/include/defines.inc.php

将define(‘ZBX_GRAPH_FONT_NAME’, ‘graphfont’)
修改为define(‘ZBX_GRAPH_FONT_NAME’, ‘simkai’)

simkai就是刚才复制的字体文件名(不带后缀)

修改完成后,保存退出,刷新浏览器即可。

  • 提高系统ARP缓存量
    Ubuntu Server系统默认的ARP缓存量不高,导致系统在与大量节点通信时,ARP表不稳定,系统syslog里会不停的报“arp_cache: neighbor table overflow!”,更严重的是,还会导致Zabbix server进程时断时续,无法正常工作。
  1. 要解决这个问题也不难,登录Ubuntu服务器,打开sysctl文件进行设置即可。
sudo vi /etc/sysctl.conf

在文件最末尾处,添加3行如下内容

net.ipv4.neigh.default.gc_thresh1 = 1024
net.ipv4.neigh.default.gc_thresh2 = 4096
net.ipv4.neigh.default.gc_thresh3 = 8192

数值可以根据实际情况修改,gc_thresh2的数值要大于节点数,笔者的监控环境为3000个节点,这个数值非常稳定。

  • 添加虚拟磁盘黑名单
    如果Ubuntu Server是一台ESXi中的虚拟机,那么系统syslog会一直报“sda: add missing path”这样的日志,可以通过设置黑名单来解决这个问题。
  1. 打开设置文件。
sudo vi /etc/multipath.conf

在文件末尾添加如下内容,保存退出。

blacklist {
    device {
        vendor "VMware"
        product "Virtual disk"
    }
}
  1. 重启服务即可。
systemctl restart multipath-tools.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lx3leon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值