CentOS 7.6安装ZABBIX 4.4.0 + TimescaleDB

介绍

2019.10 ZABBIX 4.4.0 正式发布,发布全新的基于Go语言编写全新agent2和众多新功能特性,接下来介绍最重要的新功能,TimescaleDB数据库,ZABBIX除了支持MySQL、PostgreSQL、Oracle和DB2之外,ZABBIX 官方正式宣布支持TimescaleDB。与传统的关系数据库相比,TimescaleDB有诸多优点:近乎线性的性能水平,支持自动即时删除旧的历史数据,更容易维护等等

TimescaleDB

TimescaleDB是基于PostgreSQL的时序数据库插件,完全继承了PostgreSQL的功能,对于复杂查询,各种类型(GIS,json,k-v,图像特征值,range,数组,复合类型,自定义类型,……)的支持非常丰富,非常适合工业化的时序数据库场景需求。具有以下特点:

1.基于时序优化
2.自动分片(按时间、空间自动分片(chunk))
3.全SQL接口
4.支持垂直横向扩展
5.支持时间维度、空间维度自动分区。空间维度指属性字段(例如传感器ID,用户ID等)
6.支持多个SERVER,多个CHUNK的并行查询。分区在TimescaleDB中被称为chunk。
7.自动调整CHUNK的大小
8.内部写优化(批量提交、内存索引、事务支持、数据倒灌)。内存索引,因为chunk size比较适中,所以索引基本上都不会被交换出去,写性能比较好。数据倒灌,因为有些传感器的数据可能写入延迟,导致需要写以前的chunk,timescaleDB允许这样的事情发生(可配置)。
9.复杂查询优化(根据查询条件自动选择chunk,最近值获取优化(最小化的扫描,类似递归收敛),limit子句pushdown到不同的server,chunks,并行的聚合操作)
10.利用已有的PostgreSQL特性(支持GIS,JOIN等),方便的管理(流复制、PITR)
11.支持自动的按时间保留策略(自动删除过旧数据)

基础架构

在这里插入图片描述

Linux系统配置

cat  /etc/redhat-release
CentOS Linuxrelease 7.6.1810 (Core)

安装软件包

yum install epel-release
yum -y install sysstat traceroute  net-tools telnet  tree net-snmp-utils htop vim lrzsz tcpdump wget git

关闭selinux
永久关闭将配置文件中参数selinux改为disabled
临时关闭setenforce 0
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
修改ulimit(最大进程数和最大文件打开数)
修改 /etc/security/limits.conf 文件

  •           soft      nofile          65536
    
  •           hard     nofile          65536
    
  •           soft       nproc           65536
    
  •           hard      nproc           65536
    
  •     代表针对所有用户   
    

nproc 是代表最大进程数
nofile 是代表最大文件打开数

关闭交换内存优化系统参数

vim /etc/sysctl.conf
vm.swappiness =0
vm.max_map_count= 262144
net.core.somaxconn=65535
net.ipv4.ip_forward= 1

激活设置

sysctl -p

修改完需要重启系统

主机清单

Postgresql部署
timescaledb是 postgres的一个 扩展 插件 , 所以要安装 timescaledb就先要安装 postgres
安装postgresql

yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm

安装客户端

yum install postgresql11

安装服务端

yum install postgresql11-server

初始化数据库并设置为开机自动启动

/usr/pgsql-11/bin/postgresql-11-setup initdb 

启动并开机启动

systemctl enable postgresql-11 && systemctl start postgresql-11

Timescaledb部署

添加timescaledb的yum源

vim etc/yum.repos.d/timescale_timescaledb.repo
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$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

安装timescaledb插件

yum install -y timescaledb-postgresql-11

配置postgresql.conf 使用postgres启动时加载‘timescaledb’

vim/var/lib/pgsql/11/data/postgresql.confshared_preload_libraries = 'timescaledb'

重启Postgresql服务

systemctl  restart  postgresql-11

Postgresyum 安装默认会创建一个postgres的用户

切换到postgres用户
su postgres
执行psql ,进入postgres的命令行

psql
\q退出

在psql命令行修改默认用户密码(默认无密码)

ALTERUSER postgres WITH PASSWORD '123456';

修改postgres的监听地址,默认只能为 本地连接

vi/var/lib/pgsql/11/data/postgresql.conf
listen_addresses = '*'  

允许所有地址 来连接该数据库

vi/var/lib/pgsql/11/data/pg_hba.conf
host   all            all            0.0.0.0/0              md5

重启服务
systemctl start postgresql-11
测试数据库远端登录
psql -Upostgres -h 192.168.99.221

注意:ZABBIX Server支持TimescaleDB,Zabbix Proxy不支持TimescaleDB。
ZABBIX TimescaleDB数据库配置
创建zabbix用户并授权

sudo-upostgres psql
create user zabbix with password 'zabbixpwd123';
create database zabbix owner zabbix;
grantall privileges on database zabbix to zabbix;

数据库创建

echo"CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo-u postgrespsqlzabbix

以下步骤需要在安装完成zabbix-server执行
导入zabbix数据库

zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz| sudo -u zabbix psql zabbix –h 192.168.99.221
zcat/usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz| sudo -u zabbix psql zabbix  -h 192.168.99.221

至此zabbixTimescaledb数据库部署完成!
ZABBIX Server部署

配置ZABBIX官方yum数据源(zabbix 4.4 集成nginx rpm 包)

yum  localinstall zabbix-nginx-conf-4.4.0-1.el7.noarch.rpm

安装LNMP软件包

#yum install nginx php  php-fpm  php-mysql  –y

启动配置并开机启动

systemctl  start nginx && systemctl enable nginx

注意:zabbix-nginx-conf软件包为Zabbix前端安装了单独的Nginx服务器。其配置文件位于中/etc/nginx/conf.d/zabbix.conf。为了使Zabbix前端正常工作,必须取消注释和设置listen和server_name指令。
在这里插入图片描述
查看端口是否已经启动监听状态

[root@zabbix ~]# netstat  -auntlp |grep -w 80
启动php-fpm(不启动php-fpm,php链接失败)
systemctl start php-fpm && systemctl enable  php-fpm

ZABBIX-Server 安装

配置ZABBIX官方yum数据源

rpm -Uvhhttps://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

yum 安装zabbix server 和zabbix前端Web组件

yum-y install zabbix-server-pgsql zabbix-web-pgsql

由于在线yum安装软件包较慢,这里将软件包上传至/opt目录下使用yum localinstall安装

yum localinstall zabbix-server-pgsql-4.4.0-1.el7.x86_64.rpm zabbix-web-pgsql-4.4.0-1.el7.noarch.rpm zabbix-web-4.4.0-1.el7.noarch.rpm zabbix-get-4.4.0-1.el7.x86_64.rpm

编辑zabbix server 配置文件

egrep-v "*#|^$" /etc/zabbix/zabbix_server.conf |grep DB
DBHost=192.168.99.221
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpwd123
DBPort=5432

启动并开机启动zabbix-serber服务

#systemctl start zabbix-server && systemctl enable zabbix-server

ZABBIX PHP优化
配置PHP 相关参数

vim /etc/php-fpm.d/zabbix.conf

其配置文件位于中/etc/php-fpm.d/zabbix.conf。PHP参数已经配置。但是有必要在此文件中设置正确的date.timezone。

重启php-fpm

systemctl restart php-fpm

ZABBIX Web UI 安装ZABBIX 4.4.0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ZABBIX Web中文显示优化
在Windows 系统中找到 C:\Windows\Fonts 中的楷体(常规)复制到windows桌面上
通过cecureFX上传在zabbix server /usr/share/fonts/dejavu/ 目录下
查看zabbix字体软链接

[root@zabbixdejavu]# cd/etc/alternatives/
[root@zabbixdejavu]# ll
[root@zabbixdejavu]# mv simkai.ttf zabbix.ttf
[root@zabbixdejavu]# rm -f /etc/alternatives/zabbix-web-font
[root@zabbixdejavu]# ln -s /usr/share/fonts/dejavu/zabbix.ttf /etc/alternatives/zabbix-web-font
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值