Mad*_*d-D 10 php linux curl zabbix
我的目标:
我想以.png格式提取与主机相关的图形.我的GOOGLE研究表明,我们没有Zabbix API来完成这项任务.因此很少有博客建议使用Chart2.php和CURL.有人可以解释一下如何去做(详细步骤)?
注意:对不起从未在php上工作过,也从未在curl上工作
我试过的时候
curl https://example.com/zabbix/chart2.php?graphid=1552&width=300&height=300
Run Code Online (Sandbox Code Playgroud)
得到了这个,但链接不起作用
<!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&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>
Run Code Online (Sandbox Code Playgroud)
我怎样才能将这个与我的zabbix api(JAVA)电话合并?
Mic*_*sky 11
这适用于正常的密码身份验证,您需要将其调整为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是一个投票(或开始工作)
除此之外,如果您使用的是Zabbix 2.0,则cURL POST数据会略有变化.
替换以下内容:
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'
具有以下内容:
1. wget --save-cookies=z.coo -4 --keep-session-cookies -O - -S --post-data='name=(a zabbix username)&password=(password)&enter=Sign in&autologin=1&request=' 'http://example.com/zabbix/index.php?login=1'
| 归档时间: |
|
| 查看次数: |
9317 次 |
| 最近记录: |