一招解决!Zabbix监控数据存储的性能问题
在线答疑:乐维社区
在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数据库了,这样可以有效解决数据库的读写性能瓶颈问题。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)