json - 使用 jmx 的 Http 请求
问题描述
下午好!我尝试通过 zabbix http-agent 从 apache hive 以 JSON 格式获取数据,它可以工作。但我有一个不愉快的情况,JSON 数据有超过 180000 个字符。这是一个问题,因为 MYSQL 字段只有 65535 个最大字符(我的表现,我不想改变它)。这样,MYSQL 字段中的 JSON 数据无效(不完整)。
正如我所想,我找到了一个解决方案——它是带有参数的 http 请求。例如:
http://localhost:port/jmx - full JSON data
?qry=Hadoop:service=NameNode,name=NameNodeInfo - data which I need
http://localhost:port/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo - full request
我制作了 zabbix 模板和 zabbix item。项目有下一个选项:
Type: http-agent
URL: http://{HOST.CONN}:10010/jmx?qry=metrics:name=api_runTasks
Type of information: text
我在zabbix“最新数据”中得到不完整的JSON数据,下一个网址:http://localhost:port/jmx
我得到带有下一个 url 的空 JSON 数据:http://{HOST.CONN}:10010/jmx?qry=metrics:name=api_runTasks
我试图使用查询字段调整 zabbix 代理,其中名称字段为qry,值字段为指标:名称=api_runTasks(我尝试了许多组合,并且在 zabbix 最新数据历史记录中只收到两条消息):
{"body":{ "beans" : [ ] }} or
{ } or
full incomplete JSON data
解决方案
Zabbix item 需要有下一个选项:
URL: http://{HOST.CONN}:10010/jmx
查询字段:
name: qry
value: metrics:name=api_compile
Hive 2.0 默认启用了两种记录指标的方式,分别是 JMX 和 JSON 文件 /tmp/report.json
推荐阅读
- node.js - 猫鼬,引用数组,对还是错?
- javascript - 如何从 javascript(.js 文件)按钮单击事件调用或触发 Angular 组件方法
- python - 根据行值对 Pandas 中的列求和
- ios - Swift 4 @IBAction UIButton 动作没有被正确调用
- java - 在java中读取MNIST数据库非常慢
- java - 有 2 个按钮影响相同的标签
- c++ - 如何使用 C++ 扩展禁用虚假的 Visual Studio Code 智能感知错误?
- javascript - 将数字四舍五入到相同的距离
- git - 为 git 子模块指定分支?
- c - 将十六进制数字转换为十进制以进行比较 (C)