应用zabbix的实时导出(real-time export)功能
说明
zabbix作为监控软件,有时也会需要获取历史数据作进一步的分析,通常可以采用3种办法:
- 通过zabbix API定期获取(通过web)
- 通过后端数据库定期读取(通过db)
- 应用实时导出功能配合filebeat或其他工具获取(通过server)
对比以上三种方法:
- 实时性:毫无疑问,通过实时导出功能将数据发送出去是实时性最好的,周期性调用API或者读取数据库都存在一定的延时。
- 暴露面:通过API暴露数据是最合理的,因为web服务本身就是对外的;数据库一般情况下不应该对外暴露,甚至不需要公网地址;而server则需要分情况讨论,如果涉及外网proxy或者agent,则也需要有公网地址,而如果仅仅作内网的监控,则不需要具备公网地址。
- 安全性:通过实时导出主动发送数据是安全性最好的,因为不存在任何的入访机会;而使用API或者读取数据都必须要开放入访和提供密码或者token,需要通过做白名单、管控账号权限来保证安全性。
本文将介绍第三种方法,将历史数据导出为文件,以备其他工具处理。
配置
修改配置文件
如果zabbix部署方式为编译或者rpm,则修改zabbix_server.conf配置文件,注意3个字段的配置:
- ExportDir: 导出文件的目录,注意此目录一定要有写权限,会以history syncer进程的数量创建文件
- ExportFileSize: 限制导出文件的大小,默认是1G,如果文件超出,则以 .old 结尾重命名该文件,并创建一个和原名称相同的新文件
- ExportType: 导出数据的类型,包括events、history、trends,如果不设置,则默认为全部
示例如下:
ExportDir:/zabbix/history/
ExportFileSize:500M
ExportType:history,trends
配置完成后重启zabbix_server生效。
修改docker容器环境变量
如果zabbix部署方式为容器,则需要配置环境变量,相关的2个环境变量为:ZBX_EXPORTFILESIZE、ZBX_EXPORTTYPE,目录变量无法修改,因为固定位于容器内的/var/lib/zabbix/export/目录下
为对历史数据文件进行读取,需要做一个卷映射,将容器内的文件映射到宿主机上
示例如下:
……
-e ZBX_EXPORTFILESIZE="500M" -e ZBX_EXPORTTYPE="history" \
……
-v /zabbix/history:/var/lib/zabbix/export \
以此配置创建容器
数据文件处理
完成配置并启动后,会在设定的目录下(本例中为/zabbix/history/)生成名为history-history-syncer-*.ndjson(本例中只保存了history数据)的一批文件,数量对应history syncer进程,例如有10个进程,则会生成名为syncer-[1-10]的ndjson文件。
文件格式示例为:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"Application","value":"system"}],"itemid":3,"name":"Agent availability","clock":1519304285,"ns":123456789,"value":1,"type":3}
可以通过filebeat之类工具进行数据的实时处理。
定时删除文件
如果监控项很多,数据的增长速度可能会比较快,本实验环境中监控项有17万,所有历史数据文件大小总和以7-10M/分钟的速度增长。如果硬盘空间没有预留足够,可能不出几天就会被写满。首先可以增加数据盘,以保留更久的数据,然而不管硬盘多大,时间久了总归还是会写满的,可以设置一个crontab的脚本,每隔一段时间去删除.old文件。
示例如下:
0 * * * * /bin/bash -c 'find /zabbix/history -type f -name "history-history-syncer-*.ndjson.old" -exec rm {} \;'
每小时进行一次检查,删除/zabbix/history目录下的history-history-syncer-*.ndjson.old文件。
应用zabbix的实时导出(real-time export)功能的更多相关文章
- MindManager导出Word文档功能介绍
Mindmanager思维导图软件作为一款能与Microsoft office软件无缝集成的思维导图软件,支持Word文档的快速导入与导出,并支持Word文档的目录生成.模板套用等,极大地方便了用户完 ...
- Spine批量导出Command line Export
1.准备工作及介绍 时间有点紧张,写的不是很详细,请见谅. 当前版本是2.2以上,购买版的.试用版的无法试用Command line Both Spine and the Spine launcher ...
- 使用datapump 导出导入同义词(export and import synonym using datapump)
对于同义词的备份我们有多种方式来实现,如直接通过脚本生成同义词的创建脚本,或者使用dbms_metadata.get_ddl来提取同义词的定义脚本.然而在使用传统的exp或是datapump expd ...
- 2.11 Hive中数据导入导出Import和Export使用
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport 一.Export.Import Export ...
- [js]EasyUI导出数据表格(Export DataGrid)
包括 'datagrid-export.js' 文件 <script type="text/javascript" src="datagrid-export.js& ...
- SQL Server带列名导出到Excel(Export to CSV with headers)的几个思路
https://www.cnblogs.com/downmoon/archive/2012/05/04/2482995.html SQL Server 2008中SQL应用系列及BI学习笔记系列- ...
- 使用 sqoop 将 hive 数据导出到 mysql (export)
使用sqoop将hive中的数据传到mysql中 1.新建hive表 hive> create external table sqoop_test(id int,name string,age ...
- Java导出excel并下载功能
我们使用的导出并下载功能是利用一个插件叫POI的插件提供的导出功能,很实用:首先先导入Jar包: Jar包下载地址:http://poi.apache.org/ 官方文档地址:http://poi ...
- .Net之Nopi Excel数据导出和批量导入功能
一.介绍NPOI和编写demo的原因 1.Npoi是什么: 它是一个专门用于读写Microsoft Office二进制和OOXML文件格式的.NET库,我们使用它能够轻松的实现对应数据的导入,导出功能 ...
- vue导出excel数据表格功能
前端工作量最多的就是需求,需求就是一直在变,比如当前端数据写完之后,需要用Excel把数据下载出来. 第一步安装依赖包,需要把代码下载你的项目当中 cnpm install file-saver c ...
随机推荐
- Oracle限制某个帐号只能在特定机器上访问数据库
CREATE OR REPLACE TRIGGER logon_ip_control AFTER logon ON user_test.schema BEGIN IF USER IN ('user_t ...
- KingbaseES 配置root.sh实现数据库服务开机自启动
案例说明: KingbaseES数据库在部署完成后,支持数据库服务开机自启动,部署完成后,root用户(Linux)执行安装软件目录下的root.sh脚本后,可以实现数据库服务开机自启动. 适用版本: ...
- KingbaseES垃圾回收参数优化之maintenance_work_mem
maintenance_work_mem 参数说明与vacuum过程 maintenance_work_mem , autovacuum_work_mem. 如果没有设置autovacuum_work ...
- mybatis一次执行多条SQL语句报错
如果这样来写一个 mapper 1 <update id="createTable3" parameterType="map"> 2 drop ta ...
- #SG函数#HDU 1848 Fibonacci again and again
题目 分析 可取状态只能是斐波那契数,求出SG函数 然后判断三个数sg函数异或和不为0先手必胜 代码 #include <cstdio> #include <cctype> # ...
- #斐波那契#洛谷 3424 [POI2005] SUM-Fibonacci Sums
题目 已知\(x,y\)的斐波那契表示,求\(x+y\)的斐波那契表示 分析 显然得到两条性质: \(f_{i+1}=f_{i-1}+f_i\) \(2f_i=f_{i+1}+f_{i-2}\) 那么 ...
- Socket.D v2.4.9 发布
Socket.D 是什么东东? 是基于"事件"和"语义消息""流"的网络应用协议.在微服务.移动应用.物联网等场景,可替代 http.web ...
- 开启新时代,承接新使命,开放原子开源大赛OpenHarmony创新赛正式启航!
开放原子开源大赛OpenHarmony创新赛,正式启动啦! "OpenHarmony创新赛"是开放原子全球开源大赛下开设的创新赛道,面向企业.个人.高校师生等广大开发者,聚焦O ...
- OpenHarmony littlefs文件系统存储结构与IO性能优化分析
引言 随着科技的发展和网络技术的进步,计算机存储空间愈加紧张,存储空间对文件系统的功能需求越来越大,大规模的数据增长为文件存储.非结构化数据存储提出了新的挑战. 对于许多物联网设备而言,拥有一个小型且 ...
- Viu联合华为HMS生态,共创影音娱乐新体验
华为HMS生态携手流媒体平台Viu,为海外消费者打造精品移动娱乐应用体验,并助力提升流量变现能力.Viu在中东非.东南亚等16个国家及地区提供广告合作和付费会员服务,支持优质视频内容高清点播和直播.自 ...