在线答疑:乐维社区
在zabbix的使用过程中,随着监控对象的增多,历史数据量逐日相应的增加,往往会造成前端页面卡顿、采集队列堆积、MySQL或POSTGRESQL数据库读写压力激增等情况。除了优化zabbix参数和数据库性能外,还有一个方法就是把监控数据从MySQL或POSTGRESQL中剥离出来,利用Elasticsearch存储历史监控数据。以下介绍如何使用Elasticsearch存储zabbix的历史监控数据。
1.Elasticsearch部署
Eticsearch 版本:7.10.0,端口:9200
1.1.更新系统软件包到最新版本
1.2.安装Java 11运行时环境
1.3.下载Elasticsearch的RPM安装包
1.4.安装Elasticsearch
1.5.启动Elasticsearch
1.6.验证Elasticsearch是否正常运行
1.7.配置Elasticsearch
配置 Java 内存限制
根据需要修改配置参数,例如修改监听地址、集群名称等
重启Elasticsearch
2.zabbix 安装
2.1.组件安装
yum源安装
切换php版本
安装zabbix server、web、agent
安装postgresql
2.2.Elasticsearch数据库配置
Elasticsearch索引说明
Elasticsearch支持以下几种监控项类型
原来Zabbix 的数据是存储在 MySQL/POSTGRESQL 中的,按照数据格式的不同分别存储的五个表中:history、history_uint、history_str、history_log、history_text。这五个表和 es 中相对应的索引关系如下。
Elasticsearch索引创建
添加数字(无符号)类型的索引
添加数字(浮点型)类型的索引
添加字符类型的索引
添加日志类型的索引
添加文本类型的索引
2.3.修改 Zabbix 的配置文件
修改zabbix server配置
修改zabbix web配置
重启服务
检查所有索引和文档数量
登录web查看监控数据
此后历史监控数据都会录入elasticsearch,而不会存放在postgresql数据库了,这样可以有效解决数据库的读写性能瓶颈问题。