使用 jmx 的 HTTP 请求

Http request with jmx

下午好! 我尝试通过 zabbix http-agent 从 JSON 中的 apache hive 获取数据并且它有效。但我遇到了不愉快的情况,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 "latest data" 中得到不完整的 JSON 数据,下一个 url: http://localhost:port/jmx

我得到空 JSON 数据,下一个 url: http://{HOST.CONN}:10010/jmx?qry=metrics:name=api_runTasks

我试图用查询字段调整 zabbix 代理,其中 name 字段qryvalue 字段metrics:name=api_runTasks (我尝试了很多组合,并且在最新数据的 zabbix 历史记录中只收到两条消息):

{"body":{ "beans" : [ ] }} or
{ } or
full incomplete JSON data

Zabbix 项目需要有下一个选项:

URL: http://{HOST.CONN}:10010/jmx

查询字段:

name: qry
value: metrics:name=api_compile

Hive 2.0 默认启用了两种记录指标的方式,有 JMX 和 JSON 文件 /tmp/report。json