Hi,
Hat zufällig schon jemand einen Prometheus-Exporter für den SCP Webservice gebastelt? Ich würde ein paar der darüber ausgelieferten Daten gerne in mein Monitoring aufnehmen, insbesondere den Traffic und die Update Notifications.
Gruß,
Marix
Hi,
Hat zufällig schon jemand einen Prometheus-Exporter für den SCP Webservice gebastelt? Ich würde ein paar der darüber ausgelieferten Daten gerne in mein Monitoring aufnehmen, insbesondere den Traffic und die Update Notifications.
Gruß,
Marix
ich weiss nicht wie du die Daten in Prometheus reinkriegst, da ich es nicht kenne
aber ich hatte mir vor längerer Zeit mal was mit php gebastelt um den Webservice zu testen.
Hab aber nur ne einfache html Tabelle erstellt und dann irgendwann komplett auf Eis gelegt.
vielleicht hilft es dir ja weiter
Bei mir siehts übrigens so aus:
##my own rules##
public function getVServerInformation($vserverName) {
try {
$params = array(
'loginName' => $this->loginname,
'password' => $this->password,
'vservername' => $vserverName
);
return$this->soap_client->getVServerInformation($params);
} catch (Exception $e) {
return "Exception occured: " . $e->getMessage();
}
}
public function getVServerTrafficOfMonth($vserverName,$month,$year) {
try {
$params = array(
'loginName' => $this->loginname,
'password' => $this->password,
'vserverName' => $vserverName,
'year' => $year,
'month' => $month
);
return$this->soap_client->getVServerTrafficOfMonth($params);
} catch (Exception $e) {
return "Exception occured: " . $e->getMessage();
}
}
public function getVServerTrafficOfDay($vserverName,$day,$month,$year) {
try {
$params = array(
'loginName' => $this->loginname,
'password' => $this->password,
'vserverName' => $vserverName,
'year' => $year,
'month' => $month,
'day' => $day
);
return$this->soap_client->getVServerTrafficOfDay($params);
} catch (Exception $e) {
return "Exception occured: " . $e->getMessage();
}
}
public function getVServerDatas($day,$month,$year) {
try {
/* $params = array(
'loginName' => $this->loginname,
'password' => $this->password,
'vserverName' => $vserverName,
'year' => $year,
'month' => $month,
'day' => $day
);
*/
$servername = $this->getVServers();
foreach($servername as $host){
#VServer Traffic Of Month
$traffic_month= $this->getVServerTrafficOfMonth($host,$month,$year);
foreach ($traffic_month as $key => $object) {
$data[$host]["mMonat"] = $object->month;
$data[$host]["mJahr"] = $object->year ;
$data[$host]["mEingang"]= round($object->in /1024/1024,2);
$data[$host]["mAusgang"]= round($object->out /1024/1024,2);
$data[$host]["mGesamt"] = round($object->total /1024/1024,2);
}
#VServer Traffic Of Day
$traffic_day= $this->getVServerTrafficOfDay($host,$day,$month,$year);
foreach ($traffic_day as $key => $object) {
$data[$host]["dTag"] = $object->day ;
$data[$host]["dMonat"] = $object->month;
$data[$host]["dJahr"] = $object->year ;
$data[$host]["dEingang"]= round($object->in /1024/1024,2);
$data[$host]["dAusgang"]= round($object->out /1024/1024,2);
$data[$host]["dGesamt"] = round($object->total /1024/1024,2);
}
#VServer Information
$info= $this->getVServerInformation($host);
foreach ($info as $key => $object) {
$data[$host]["IP"] =is_array($object->ips) ? $object->ips[0] : $object->ips ;
$data[$host]["Servername"] =$object->vServerName;
$data[$host]["Server Nickname"]=$object->vServerNickname;
$data[$host]["Status"]=$object->status;
}
}
return $data; //array
} catch (Exception $e) {
return "Exception occured: " . $e->getMessage();
}
}
####Variablen ####
#logindaten
$login_name= 12345;
$login_passwd= "AbCD3fgH1";
#Datum festlegen
$day = date("d");
$month= date("m");
$year = date("Y");
#echo "<PRE>";
#getVServers
$vcpWebServiceEndUser = new VcpWebServiceEndUser($login_name, $login_passwd);
$serverdata= $vcpWebServiceEndUser->getVServerDatas($day,$month,$year);
Alles anzeigen
dann hast du zumindest schonmal ein fettes $serverdata array und kannst dann schauen wie du die Daten
weiterverarbeitest
LG
michi