Hi guys,
There was a script written in PHP that I got somewhere off the net. Basically, given a graph ID, what it does is make a curl request to grab a graph image from the Zabbix server. You can then use the image for displaying on your website.
The code looks like this:
The problem I am having is that the ID of a graph that I had setup changed recently for unknown reasons. I was able to find out when I inspected the graph image with Firebug - the <img> tag's "src" attribute contains a different graph ID to the one I had hardcoded before.
Is there a way to fix a graph ID to the custom graph that I had setup?
Thank you so much!
There was a script written in PHP that I got somewhere off the net. Basically, given a graph ID, what it does is make a curl request to grab a graph image from the Zabbix server. You can then use the image for displaying on your website.
The code looks like this:
PHP Code:
/**
*
* GraphImgByID v1.1
*
* It's free use it however you want.
* ChangeLog:
* 1/23/12 - Added width and height to GetGraph Function
*
* $author (c) Travis Mathis - [email protected]
*
* @param $graphid
* @param $width
* @param $height
* @param $period
* @return string
*/
public function get_graph_image_by_id($graphid, $width, $height, $period) {
//CONFIGURATION
$z_server = 'http://zabbix.url/zabbix/';
$z_user = 'user';
$z_pass = 'pass'
//NON CONFIGUREABLE
$z_tmp_cookies = "";
$z_url_index = $z_server . "index.php";
$z_url_graph = $z_server . "chart2.php";
$z_login_data = "name=" . $z_user . "&password=" . $z_pass . "&enter=Sign in&autologin=1&request=";
// file names
$filename_cookie = $z_tmp_cookies . "zabbix_cookie_" . $graphid . ".txt";
//setup curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $z_url_index);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $z_login_data);
curl_setopt($ch, CURLOPT_COOKIEJAR, $filename_cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $filename_cookie);
// login
curl_exec($ch);
// get graph
curl_setopt($ch, CURLOPT_URL, $z_url_graph . "?graphid=" . $graphid . "&width=" . $width . "&height=" . $height . "&period=" . $period);
$output = curl_exec($ch);
curl_close($ch);
// delete cookie
unlink($filename_cookie);
return base64_encode($output);
}
Is there a way to fix a graph ID to the custom graph that I had setup?
Thank you so much!