Cacti (home)ForumsDocumentation

Distributed Nagios Executor (DNX)

type:
user_template_data
usertemplate:
distributednagiosexecutor
author:
eschoeller
description:
Data Queries and associated Graph Templates for DNX Workers and Servers
Cacti:
0.8.7d
homepage:
http://forums.cacti.net/viewtopic.php?p=198821
date:
09/01/2010
includes:
yes
script:
SNMP XML
templates:
nagios,
dnx,
monitoring

Download

VersionFile
0.8.7bdnx-cacti-1.0.zip

Installation

Prerequisites:

  • DNX installed and running, along with dnxstats
  • net-snmp installed and running on your DNX server(s) and worker(s)
  • appropriate firewall access / routing etc.



Installation Steps

  • unzip the template distribution
  • place both the dnx-server.xml and dnx-worker.xml files in cacti/resource/snmp_queries/
  • Find a good place on your systems for dnx-server-snmp.pl and dnx-worker-snmp.pl. I recommend /usr/local/bin/.
  • Modify your snmpd.conf file as follows:

On the DNX Server

pass .1.3.6.1.3.200 /usr/bin/perl /usr/local/bin/dnx-server-snmp.pl

On the DNX Worker(s)

pass .1.3.6.1.3.201 /usr/bin/perl /usr/local/bin/dnx-worker-snmp.pl
  • Make sure to use the same OIDs. They are registered as 'experimental'. If you need to specify different OIDs, you'll need to modify the scripts too.
  • Make sure to modify $dnxstats in both scripts to point to where you have 'dnxstats' installed.
  • Restart your SNMP daemon. You can verify functionality with something like this:
snmpwalk -v2c -c public 127.0.0.1 .1.3.6.1.3.200
  • Import the Data Query XML files into your Cacti installation.
  • Associate “DNX - Server” with a host running a DNX Server, likewise for your workers
  • The initial query may fail, if so try and increase your SNMP timeout temporarily for your host, then run in debug mode.
  • Head to 'New Graphs' or 'Create Graphs for this Host' and create the Graphs desired!


What Gets Imported
(So there are no surprises :)

dnx-worker.xml:

CDEF
[success] Multiply by 60
[success] (A / B) * 100

GPRINT Preset
[success] Normal

Data Input Method
[success] Get SNMP Data (Indexed)

Data Template
[success] DNX Worker - Job Activity
[success] DNX Worker - Job Time
[success] DNX Worker - Thread Activity
[success] DNX Worker - Thread Statistics
[success] DNX Worker - Thread Time
[success] DNX Worker - Execution Times

Graph Template
[success] DNX Worker - Job Activity
[success] DNX Worker - Job Time
[success] DNX Worker - Thread Activity
[success] DNX Worker - Thread Statistics
[success] DNX Worker - Thread Time
[success] DNX Worker - Execution Times
[success] DNX Worker - Request Hit Rate

Data Query
[success] DNX - Worker

dnx-server.xml:

CDEF
[success] Multiply by 60

GPRINT Preset
[success] Normal
[success] Load Average

Data Input Method
[success] Get SNMP Data (Indexed)

Data Template
[success] DNX Server - Requests
[success] DNX Server - Job Activity
[success] DNX Server - Rejected Jobs
[success] DNX Server - Nodes
[success] DNX Server - Failures

Graph Template
[success] DNX Server - Job Requests Received
[success] DNX Server - Job Activity
[success] DNX Server - Job Requests Expired
[success] DNX Server - Rejected Jobs
[success] DNX Server - Registered Nodes
[success] DNX Server - Job Failures

Data Query
[success] DNX - Server

Screenshots

Better Screenshots coming soon …

Information

The DNX project homepage is hosted here: http://dnx.sourceforge.net/
These templates are subject to drastic change. There is a possibility that the statistics within DNX will change, which will mean these templates will follow suit. I haven't done any performance testing on the templates themselves, so I don't know what impact this will have on poller run-time. The perl scripts that collect and provide the SNMP data to net-snmp are in poor shape. I didn't have time to learn how to properly write an SNMP subagent, or anything along those lines. There are plenty of funky things that crop up, and the performance of just doing an 'snmpwalk' against the OID is very, very poor. But the important thing is that Cacti is able to get data and graph it. I included the dnx version as an 'input' within the data query, but it's not working right. I probably could have used a script-server to pull the DNX data instead of using an SNMP hack, but I'm not very familiar with script-servers yet. If you'll write an snmp-subagent for DNX I'd highly appreciate it :)

Some Data Templates get used twice, and thus multiple data sources will get created that contain the same information. This isn't a big deal, but if it bothers you, and you're overly concerned about performance on your Cacti server … After creating all the graphs, take a look at “DNX Server - Job Requests Expired” “DNX Server - Job Requests Received”. Both of these can use the same underlying data source. The same goes for “DNX Worker - Request Hit Rate” and “DNX Worker - Job Activity”. If you need help understanding exactly how to do this, you probably don't need to even bother - but I'll be happy to help!

Disclaimer

If you've been around the block with Cacti templates, you'll most likely see some similarities between these templates and others that are out there. I can't even begin to imagine where I've stolen all the bits and pieces from. Off the top of my head … Thanks BSOD2600 and his RFC1213 template which I've used as the standard for creating all my Data Queries, Mark Round and the Solaris/Linux iostat templates. If something I've done is blatantly stolen without credit, please let me know and I'd be happy to give credit where it is due!






Personal Tools