From c9dcc966495ad1d0c36e337e3e60821712e2237e Mon Sep 17 00:00:00 2001 From: f0o Date: Sat, 17 Jan 2015 14:09:59 +0000 Subject: [PATCH] Added Documentation, Scrut-fixes --- doc/Agent.md | 27 ++++++++++++++++++- .../graphs/application/bind_queries.inc.php | 1 + html/pages/device/apps/bind.inc.php | 2 +- includes/polling/applications/bind.inc.php | 3 ++- scripts/agent-local/bind | 8 +++--- 5 files changed, 35 insertions(+), 6 deletions(-) diff --git a/doc/Agent.md b/doc/Agent.md index 31c99de26e..4ed0368635 100644 --- a/doc/Agent.md +++ b/doc/Agent.md @@ -34,5 +34,30 @@ mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local * Login to the LibreNMS web interface and edit the device you want to monitor. Under the modules section, ensure that unix-agent is enabled. * Then under Applications, enable the apps that you plan to monitor. * Wait, in around 10 minutes you should start seeing data in your graphs under Apps for the device. -* +## Application Specific Configuration + +### BIND9/named + +Create stats file with appropriate permissions: +```shell +~$ touch /etc/bind/named.stats +~$ chown bind:bind /etc/bind/named.stats +``` +Change `user:group` to the user and group that's running bind/named. + +Bind/named configuration: +```text +options { + ... + statistics-file "/etc/bind/named.stats"; + zone-statistics yes; + ... +}; +``` +Restart your bind9/named after changing the configuration. + +Verify that everything works by executing `rdnc stats && cat /etc/bind/named.stats`. +In case you get a `Permission Denied` error, make sure you chown'ed correctly. + +Note: if you change the path you will need to change the path in `scripts/agent-local/bind`. diff --git a/html/includes/graphs/application/bind_queries.inc.php b/html/includes/graphs/application/bind_queries.inc.php index 2cee28764c..985e720e75 100644 --- a/html/includes/graphs/application/bind_queries.inc.php +++ b/html/includes/graphs/application/bind_queries.inc.php @@ -31,6 +31,7 @@ $unit_text = "Query/sec"; $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/app-bind-".$app['app_id'].".rrd"; $array = array( 'any', 'a', 'aaaa', 'cname', 'mx', 'ns', 'ptr', 'soa', 'srv', 'spf' ); $colours = "merged"; +$rrd_list = array(); $config['graph_colours']['merged'] = array_merge($config['graph_colours']['greens'], $config['graph_colours']['blues']); diff --git a/html/pages/device/apps/bind.inc.php b/html/pages/device/apps/bind.inc.php index b9f949ecbc..18b7447d06 100644 --- a/html/pages/device/apps/bind.inc.php +++ b/html/pages/device/apps/bind.inc.php @@ -23,7 +23,7 @@ */ global $config; -$graphs = array('bind_queries' => 'bind - Queries'); +$graphs = array('bind_queries' => 'Queries'); foreach( $graphs as $key => $text ) { $graph_type = $key; $graph_array['height'] = "100"; diff --git a/includes/polling/applications/bind.inc.php b/includes/polling/applications/bind.inc.php index 6fecbb8544..299fdbc6b4 100644 --- a/includes/polling/applications/bind.inc.php +++ b/includes/polling/applications/bind.inc.php @@ -26,7 +26,8 @@ if( !empty($agent_data['app']['bind']) && $app['app_id'] > 0 ) { echo " bind "; $bind = $agent_data['app']['bind']; $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/app-bind-".$app['app_id'].".rrd"; - unset($bind_parsed); + $bind_parsed = array(); + $prefix = ""; foreach( explode("\n",$bind) as $line ) { $pattern = '/^\+\+ ([^+]+) \+\+$/'; preg_match($pattern, $line, $matches); diff --git a/scripts/agent-local/bind b/scripts/agent-local/bind index 7e8ba8b0bc..75110d9820 100755 --- a/scripts/agent-local/bind +++ b/scripts/agent-local/bind @@ -13,7 +13,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -echo "<<>>" -> /etc/bind/named.stats -rndc stats && cat /etc/bind/named.stats +stats="/etc/bind/named.stats" + +echo "<<>>" +> $stats +rndc stats && cat $stats