レポート ツールの作成を自動化するために、powershell を使用しようとしています。Zabbix (v1.8) のグラフ画像を取得する必要があります。API ではまだできないため、URL に接続してからグラフを取得する必要があります。
これは私のコードです:
$zabbixLoginUrl = "http://zabfront-eqx.noc.lan/zabbix/index.php?login=1"
$zabbixGraphUrl = "http://zabfront-eqx.noc.lan/zabbix/chart2.php?graphid="
$userName = "username"
$userPwd = "pwd"
$loginPostData = @{name=$userName;password=$userPwd;enter="Enter"}
$login = Invoke-WebRequest -Uri $zabbixLoginUrl -Method Post -Body $loginPostData -SessionVariable sessionZabbix
#let's see if we have a cookie set
if ($sessionZabbix.Cookies.Count -eq 0) {
Write-Host "fail to connect"
break
}
else {Write-Host "connected"}
#now let's retrieve the graph #4433 using the priviously established session
$graph = Invoke-WebRequest -Uri ($zabbixGraphUrl+"4433") -WebSession $sessionZabbix
接続して Cookie を取得できます:
$sessionZabbix.Cookies.GetCookies("http://zabfront-eqx.noc.lan/zabbix/index.php") | select name, value
Name Value
---- -----
zbx_sessionid b2451e6c7fd0767dec22cca46427b7c2
残念ながら、 $graph には「画像」プロパティが含まれておらず、「コンテンツ」は接続されていないことを示しています:
$graph.Images.Count
0
$graph.Content
[...]
<span class="footer_sign">Not connected</span>
誰が私が間違ったことを知っていますか??
ありがとう