monitors:retds

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
monitors:retds [2015/03/17 11:17] – [Installation] wnelismonitors:retds [2015/03/18 20:30] (current) – [Credits] jez
Line 9: Line 9:
 ===== Description ===== ===== Description =====
  
---- THIS PAGE IS UNDER CONSTRUCTION --- 
  
-Script retds.pl retrieves the DNS statistics of both BIND named servers and windows DNS servers. A table within this script specifies which statistics are to be extracted and defines the RRD file name and the DS name of these statistics at the same time. The DNS servers to be monitored by this script are defined in the Xymon hosts.cfg file, using keyword RNAMED.+Script retds.pl retrieves the DNS statistics of both BIND named servers (both the old, pre-9.6 style and the new style) and windows DNS servers. A table within this script specifies which statistics are to be extracted and defines the RRD file name and the DS name of these statistics at the same time. The DNS servers to be monitored by this script are defined in the Xymon hosts.cfg file, using keyword RNAMED.
  
 Script retds.pl is a rewrite (in Perl) of script xymon-rnamedstats.sh written by Jerimy Laidman. It is extended to handle Windows DNS servers as well. Script retds.pl is a rewrite (in Perl) of script xymon-rnamedstats.sh written by Jerimy Laidman. It is extended to handle Windows DNS servers as well.
Line 44: Line 43:
 === Server side === === Server side ===
  
-Script detds.pl will typically be placed in directory /path/to/xymon/server/ext. It will be run periodically by added to following snippet to /path/to/xymon/server/etc/tasks.cfg:+Script detds.pl will typically be placed in directory $XYMONHOME/ext. It will be run periodically by adding the following snippet to $XYMONHOME/etc/tasks.cfg:
  
     [retds]     [retds]
-        ENVFILE /path/to/xymon/server/etc/xymonserver.cfg +        ENVFILE $XYMONHOME/etc/xymonserver.cfg 
-        CMD /path/to/xymon/server/ext/retds.pl+        CMD $XYMONHOME/ext/retds.pl
         LOGFILE $XYMONSERVERLOGS/retds.log         LOGFILE $XYMONSERVERLOGS/retds.log
         INTERVAL 5m         INTERVAL 5m
  
-In file /path/to/xymon/server/etc/hosts.cfg one needs to identify the hosts for which this script should extract the DNS usage statistics. For a BIND server, two tags need to be added or modified, TRENDS and RNAMED. Matching the example above, the following values could be used:+In file $XYMONHOME/etc/hosts.cfg one needs to identify the hosts for which this script should extract the DNS usage statistics. For a BIND server, two tags need to be added or modified, RNAMED and TRENDS. Matching the example above, the following values could be used:
  
     RNAMED:”cmd(ssh -T AUser@%{H} 2>/dev/null),statsfile(named.stats)”     RNAMED:”cmd(ssh -T AUser@%{H} 2>/dev/null),statsfile(named.stats)”
Line 62: Line 61:
     TRENDS:*,wdnsstats     TRENDS:*,wdnsstats
  
-In file /path/to/xymon/server/etc/xymonserver.cfg the text ",bindstats" needs to be added to the definition of the variables TEST2RRD and GRAPHS if there is at least one BIND server being monitored. The text ",wdsnstats" needs to be added to the same variables in case at least one Windows DNS server is monitored.+In file $XYMONHOME/etc/xymonserver.cfg the text ",bindstats" needs to be added to the definition of the variables TEST2RRD and GRAPHS if there is at least one BIND server being monitored. The text ",wdnsstats" needs to be added to the same variables in case at least one Windows DNS server is monitored.
  
 ===== Source ===== ===== Source =====
Line 729: Line 728:
 </hidden> </hidden>
  
 +==== graphs.cfg, bindstats ====
 +
 +The following snippet defines a graph showing the collected BIND statistics. Add this snippet to $XYMONHOME/etc/graphs.cfg if at least one BIND server is being monitored.
 +
 +<hidden onHidden="Show Code ⇲" onVisible="Hide Code ⇱">
 +<code>
 +[bindstats]
 + TITLE , Bind query rates  
 + YAXIS Rate [q/s]
 + -l 0
 + DEF:success=bindstats.rrd:RSqrysuccess:AVERAGE
 + DEF:referal=bindstats.rrd:RSqryreferral:AVERAGE
 + DEF:recursn=bindstats.rrd:RSqryrecursion:AVERAGE
 + DEF:failure=bindstats.rrd:RSrcodefailure:AVERAGE
 + DEF:nxrrset=bindstats.rrd:RSrcodenxrrset:AVERAGE
 + DEF:nxdomain=bindstats.rrd:RSrcodenxdomain:AVERAGE
 + CDEF:total=success,referal,+,failure,+,nxrrset,+,nxdomain,+
 + AREA:success#348017:success
 + GPRINT:success:MIN:     Min\: %5.1lf %sq/s
 + GPRINT:success:MAX:Max\: %5.1lf %sq/s
 + GPRINT:success:AVERAGE:Avg\: %5.1lf %sq/s
 + GPRINT:success:LAST:Cur\: %5.1lf %sq/s\n
 + AREA:referal#52D017:referral:STACK
 + GPRINT:referal:MIN:    Min\: %5.1lf %sq/s
 + GPRINT:referal:MAX:Max\: %5.1lf %sq/s
 + GPRINT:referal:AVERAGE:Avg\: %5.1lf %sq/s
 + GPRINT:referal:LAST:Cur\: %5.1lf %sq/s\n
 + AREA:failure#F88017:Err-failure:STACK
 + GPRINT:failure:MIN: Min\: %5.1lf %sq/s
 + GPRINT:failure:MAX:Max\: %5.1lf %sq/s
 + GPRINT:failure:AVERAGE:Avg\: %5.1lf %sq/s
 + GPRINT:failure:LAST:Cur\: %5.1lf %sq/s\n
 + AREA:nxrrset#C35817:Err-nxrrset:STACK
 + GPRINT:nxrrset:MIN: Min\: %5.1lf %sq/s
 + GPRINT:nxrrset:MAX:Max\: %5.1lf %sq/s
 + GPRINT:nxrrset:AVERAGE:Avg\: %5.1lf %sq/s
 + GPRINT:nxrrset:LAST:Cur\: %5.1lf %sq/s\n
 + AREA:nxdomain#FF0000:Err-nxdomain:STACK
 + GPRINT:nxdomain:MIN:Min\: %5.1lf %sq/s
 + GPRINT:nxdomain:MAX:Max\: %5.1lf %sq/s
 + GPRINT:nxdomain:AVERAGE:Avg\: %5.1lf %sq/s
 + GPRINT:nxdomain:LAST:Cur\: %5.1lf %sq/s\n
 + LINE1:total#000000:Total
 + GPRINT:total:MIN:       Min\: %5.1lf %sq/s
 + GPRINT:total:MAX:Max\: %5.1lf %sq/s
 + GPRINT:total:AVERAGE:Avg\: %5.1lf %sq/s
 + GPRINT:total:LAST:Cur\: %5.1lf %sq/s\n
 + LINE1:recursn#0000FF:recursion
 + GPRINT:recursn:MIN:   Min\: %5.1lf %sq/s
 + GPRINT:recursn:MAX:Max\: %5.1lf %sq/s
 + GPRINT:recursn:AVERAGE:Avg\: %5.1lf %sq/s
 + GPRINT:recursn:LAST:Cur\: %5.1lf %sq/s\n
 +</code>
 +</hidden>
 +
 +==== graphs.cfg, wdnsstats ====
 +
 +The following snippet defines a graph showing the collected Windows DNS statistics.
 +
 +<hidden onHidden="Show Code ⇲" onVisible="Hide Code ⇱">
 +<code>
 +[wdnsstats]
 +        TITLE , DNS statistics  
 +        YAXIS Rate [/s] 
 +        -l 0 
 +        DEF:qry=wdnsstats.rrd:Query:AVERAGE
 +        DEF:upd=wdnsstats.rrd:DynUpdRcv:AVERAGE
 +        DEF:er0=wdnsstats.rrd:RcrsFail:AVERAGE
 +        DEF:er1=wdnsstats.rrd:DynUpdRej:AVERAGE
 +        DEF:er2=wdnsstats.rrd:ServFail:AVERAGE
 +        DEF:er3=wdnsstats.rrd:NxDomain:AVERAGE
 +        CDEF:err=er0,er1,+,er2,+,er3,+
 +        LINE1:qry#66CC33:Query
 +        GPRINT:qry:MIN: Min\: %5.1lf %s
 +        GPRINT:qry:MAX:Max\: %5.1lf %s
 +        GPRINT:qry:AVERAGE:Avg\: %5.1lf %s
 +        GPRINT:qry:LAST:Cur\: %5.1lf %s\n
 +        LINE1:upd#9933FF:Update
 +        GPRINT:upd:MIN:Min\: %5.1lf %s
 +        GPRINT:upd:MAX:Max\: %5.1lf %s
 +        GPRINT:upd:AVERAGE:Avg\: %5.1lf %s
 +        GPRINT:upd:LAST:Cur\: %5.1lf %s\n
 +        LINE1:err#FF0000:Error
 +        GPRINT:err:MIN: Min\: %5.1lf %s
 +        GPRINT:err:MAX:Max\: %5.1lf %s
 +        GPRINT:err:AVERAGE:Avg\: %5.1lf %s
 +        GPRINT:err:LAST:Cur\: %5.1lf %s\n
 +</code>
 +</hidden>
 ===== Known  Bugs and Issues ===== ===== Known  Bugs and Issues =====
  
 By default, the statistics are presented to Xymon using a so-called 'trends' data-message. These type of messages do not carry a status nor a time stamp. Thus problems in collecting the statistics cannot be passed as a status. The independent polling cycles at client and server introduce variable delays, which cannot be accounted for, although the time of data collection is known at the server-side script. By default, the statistics are presented to Xymon using a so-called 'trends' data-message. These type of messages do not carry a status nor a time stamp. Thus problems in collecting the statistics cannot be passed as a status. The independent polling cycles at client and server introduce variable delays, which cannot be accounted for, although the time of data collection is known at the server-side script.
 +
 +It is assumed that the BIND statistics file contains only one set of statistics. Thus the new statistics overwrite the old statistics, rather than being appended. 
  
 This script is only tested using 'trends'-messages. The function to use a status message to inform Xymon has thus not been tested. This script is only tested using 'trends'-messages. The function to use a status message to inform Xymon has thus not been tested.
Line 738: Line 828:
 ===== Credits ===== ===== Credits =====
  
-Script retds.pl is written using script xymon-rnamedstats.sh written by Jerimy Laidman as the source for inspiration.+Script retds.pl is written using script xymon-rnamedstats.sh written by Jeremy Laidman as the source for inspiration.
 ===== Changelog ===== ===== Changelog =====
  
  • monitors/retds.1426591027.txt.gz
  • Last modified: 2015/03/17 11:17
  • by wnelis