我的目标:

我想以 .png 格式提取与主机关联的图形。我的 GOOGLE 研究表明我们没有设计用于执行此任务的 Zabbix API。所以很少有博客建议用户使用 Chart2.php 和 CURL。有人可以解释我如何去做(详细步骤)?

注意: 抱歉,从未在 php 和 curl 上工作过

当我尝试

curl https://example.com/zabbix/chart2.php?graphid=1552&width=300&height=300

收到了,但是链接失效了
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="/zabbix/openid?graphid=1552&amp;modauthopenid.referrer=https%3A%2F%2Fexample.com%2Fzabbix%2Fchart2.php%3Fgraphid%3D1552">here</a>.</p>
<hr>
<address>Apache/2.2.3 (Red Hat) Server at example.com Port 80</address>
</body></html>

另外我如何将它与我的 zabbix api(JAVA)调用结合起来?

最佳答案

这适用于普通的密码身份验证,您需要将其调整为我不使用的 openid,而且您肯定必须更改选项才能与 curl 一起使用。
1. wget --save-cookies=z.coo -4 --keep-session-cookies -O - -S --post-data='name=(a zabbix username)&password=(password)&enter=Enter' 'http://example.com/zabbix/index.php?login=1'2. wget -4 --load-cookies=z.coo -O result.png 'http://example.com/zabbix/chart2.php?graphid=410&width=1778&period=102105&stime=20121129005934'
第一个发布身份验证并保存cookie。第二个加载相同的cookie文件并检索png。

你肯定想在不使用 shell 的情况下实现它,而是使用你喜欢的语言和 zabbix 的 JSON-RPC API,其中已经有很多客户端库。

尽管 AFAIK,您仍然必须像这样登录才能获得图形的图像。至少目前是这样。

编辑:https://support.zabbix.com/browse/ZBXNEXT-562 是一个投票(或开始工作)

关于php - Zabbix 导出图形 (.PNG) 文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13653853/

10-13 08:40