mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
b273e04241
git-svn-id: http://www.observium.org/svn/observer/trunk@3240 61d68cd4-352d-0410-923a-c4978735b2b8
84 lines
3.4 KiB
PHP
Executable File
84 lines
3.4 KiB
PHP
Executable File
#!/usr/bin/env php
|
|
<?php
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
///
|
|
// A small script to grab the DNS statistics from a PowerDNS server
|
|
// Needed commands: php, pdns_control
|
|
///
|
|
// Install:
|
|
// Add the following to your snmpd.conf file:
|
|
// extend powerdns /opt/observium/scripts/powerdns.php
|
|
///
|
|
// Version 1.0 By:
|
|
// All In One - Dennis de Houx <info@all-in-one.be>
|
|
///
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// START SETTINGS ///
|
|
|
|
$pdnscontrol = "/usr/bin/pdns_control";
|
|
|
|
// END SETTINGS ///
|
|
|
|
|
|
///
|
|
// DO NOT EDIT BENETH THIS LINE
|
|
///
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
$cmd = shell_exec($pdnscontrol." show \*");
|
|
$vars = array();
|
|
$vars = explode(',', $cmd);
|
|
|
|
function doSNMP($vars) {
|
|
foreach ($vars as $item=>$value) {
|
|
$value = trim($value);
|
|
if (!empty($value)) {
|
|
echo $value."\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
function doSNMPv2($vars) {
|
|
$pdns = array();
|
|
foreach ($vars as $item=>$value) {
|
|
if (!empty($value)) {
|
|
$temp = explode('=', $value);
|
|
if (isset($temp[1])) {
|
|
$pdns[$temp[0]] = $temp[1];
|
|
}
|
|
}
|
|
}
|
|
$var['corrupt-packets'] = (isset($pdns['corrupt-packets']) ? $pdns['corrupt-packets'] : "U");
|
|
$var['deferred-cache-inserts'] = (isset($pdns['deferred-cache-inserts']) ? $pdns['deferred-cache-inserts'] : "U");
|
|
$var['deferred-cache-lookup'] = (isset($pdns['deferred-cache-lookup']) ? $pdns['deferred-cache-lookup'] : "U");
|
|
$var['latency'] = (isset($pdns['latency']) ? $pdns['latency'] : "U");
|
|
$var['packetcache-hit'] = (isset($pdns['packetcache-hit']) ? $pdns['packetcache-hit'] : "U");
|
|
$var['packetcache-miss'] = (isset($pdns['packetcache-miss']) ? $pdns['packetcache-miss'] : "U");
|
|
$var['packetcache-size'] = (isset($pdns['packetcache-size']) ? $pdns['packetcache-size'] : "U");
|
|
$var['qsize-q'] = (isset($pdns['qsize-q']) ? $pdns['qsize-q'] : "U");
|
|
$var['query-cache-hit'] = (isset($pdns['query-cache-hit']) ? $pdns['query-cache-hit'] : "U");
|
|
$var['query-cache-miss'] = (isset($pdns['query-cache-miss']) ? $pdns['query-cache-miss'] : "U");
|
|
$var['recursing-answers'] = (isset($pdns['recursing-answers']) ? $pdns['recursing-answers'] : "U");
|
|
$var['recursing-questions'] = (isset($pdns['recursing-questions']) ? $pdns['recursing-questions'] : "U");
|
|
$var['servfail-packets'] = (isset($pdns['servfail-packets']) ? $pdns['servfail-packets'] : "U");
|
|
$var['tcp-answers'] = (isset($pdns['tcp-answers']) ? $pdns['tcp-answers'] : "U");
|
|
$var['tcp-queries'] = (isset($pdns['tcp-queries']) ? $pdns['tcp-queries'] : "U");
|
|
$var['timedout-packets'] = (isset($pdns['timedout-packets']) ? $pdns['timedout-packets'] : "U");
|
|
$var['udp-answers'] = (isset($pdns['udp-answers']) ? $pdns['udp-answers'] : "U");
|
|
$var['udp-queries'] = (isset($pdns['udp-queries']) ? $pdns['udp-queries'] : "U");
|
|
$var['udp4-answers'] = (isset($pdns['udp4-answers']) ? $pdns['udp4-answers'] : "U");
|
|
$var['udp4-queries'] = (isset($pdns['udp4-queries']) ? $pdns['udp4-queries'] : "U");
|
|
$var['udp6-answers'] = (isset($pdns['udp6-answers']) ? $pdns['udp6-answers'] : "U");
|
|
$var['udp6-queries'] = (isset($pdns['udp6-queries']) ? $pdns['udp6-queries'] : "U");
|
|
foreach ($var as $item=>$count) {
|
|
echo $count."\n";
|
|
}
|
|
}
|
|
|
|
doSNMPv2($vars);
|
|
|
|
?>
|