Re: [Nagios-users] check_dig not working as expected (plugins 1.4.15)

2011-04-25 Thread Benjamin KRAFT
Hello,

Well, unless I'm very wrong, check_dns doesn't permit to choose what type of 
record you want to query (eg. using -q=MX nslookup command line option).

Kind regards, 

Benjamin

Le 25 avr. 2011 à 03:37, Yueh-Hung Liu a écrit :

 use check_dns
 
 
 On Sun, Apr 24, 2011 at 9:45 PM, Benjamin KRAFT b...@dotnul.com wrote:
 Hello,
 
 I just wanted to pop-out if nobody already did that check_dig doesn't behave 
 like it should on my centos machine.
 
 I was trying to validate the fact that my authoritative server at 
 80.92.90.249 resolves my website to the corresponding ip address, like this :
 
 [root@nagg ns1]# /usr/local/nagios/libexec/check_dig -H 80.92.90.249 -l 
 www.dotnul.com -a 78.46.96.219 -A +tcp
 DNS OK - 0.009 seconds response time (www.dotnul.com.  3600 IN A 
 78.46.96.219)|time=0.009035s;;;0.00
 
 That's ok - but I noticed when I misspasted the expected return IP address, 
 that the check returns OK if I put the address of the queried server as 
 expected result.
 
 [root@nagg ns1]# /usr/local/nagios/libexec/check_dig -H 80.92.90.249 -l 
 www.dotnul.com -a 80.92.90.249 -A +tcp
 DNS OK - 0.006 seconds response time (;; SERVER: 
 80.92.90.249#53(80.92.90.249))|time=0.006368s;;;0.00
 
 The return of the dig query is :
 
 [root@nagg ns1]# dig www.dotnul.com @80.92.90.249 +tcp
 
 ;  DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2  www.dotnul.com 
 @80.92.90.249 +tcp
 ;; global options:  printcmd
 ;; Got answer:
 ;; -HEADER- opcode: QUERY, status: NOERROR, id: 1842
 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0
 
 ;; QUESTION SECTION:
 ;www.dotnul.com.IN  A
 
 ;; ANSWER SECTION:
 www.dotnul.com. 3600IN  A   78.46.96.219
 
 ;; AUTHORITY SECTION:
 dotnul.com. 86400   IN  NS  ether.dotnul.org.
 dotnul.com. 86400   IN  NS  hypnos.dotnul.org.
 dotnul.com. 86400   IN  NS  tanathos.dotnul.org.
 
 ;; Query time: 1 msec
 ;; SERVER: 80.92.90.249#53(80.92.90.249)
 ;; WHEN: Sun Apr 24 13:44:12 2011
 ;; MSG SIZE  rcvd: 122
 
 By having an eye on nagios-plugins-1.4.15/plugins/check_dig.c, it looks like 
 the following code is involved :
 
  for(i = 0; i  chld_out.lines; i++) {
/* the server is responding, we just got the host name... */
if (strstr (chld_out.line[i], ;; ANSWER SECTION:)) {
 
  /* loop through the whole 'ANSWER SECTION' */
  for(; i  chld_out.lines; i++) {
/* get the host address */
if (verbose)
  printf (%s\n, chld_out.line[i]);
 
if (strstr (chld_out.line[i], (expected_address == NULL ? 
 query_address : expected_address)) != NULL) {
  msg = chld_out.line[i];
  result = STATE_OK;
 
  /* Translate output TAB - SPACE */
  t = msg;
  while ((t = strchr(t, '\t')) != NULL) *t = ' ';
  break;
}
  }
 
  if (result == STATE_UNKNOWN) {
msg = (char *)_(Server not found in ANSWER SECTION);
result = STATE_WARNING;
  }
 
  /* we found the answer section, so break out of the loop */
  break;
}
  }
 
 Shouldn't the command stop reading any following line beginning with ;;  
 after finding the ANSWER section instead of searching a match in everything 
 until end of chld_out ?
 
 Kind regards,
 
 Benjamin
 
 
 --
 Fulfilling the Lean Software Promise
 Lean software platforms are now widely adopted and the benefits have been
 demonstrated beyond question. Learn why your peers are replacing JEE
 containers with lightweight application servers - and what you can gain
 from the move. http://p.sf.net/sfu/vmware-sfemails
 ___
 Nagios-users mailing list
 Nagios-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/nagios-users
 ::: Please include Nagios version, plugin version (-v) and OS when reporting 
 any issue.
 ::: Messages without supporting info will risk being sent to /dev/null
 
 
 --
 Fulfilling the Lean Software Promise
 Lean software platforms are now widely adopted and the benefits have been 
 demonstrated beyond question. Learn why your peers are replacing JEE 
 containers with lightweight application servers - and what you can gain 
 from the move. http://p.sf.net/sfu/vmware-sfemails
 ___
 Nagios-users mailing list
 Nagios-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/nagios-users
 ::: Please include Nagios version, plugin version (-v) and OS when reporting 
 any issue. 
 ::: Messages without supporting info will risk being sent to /dev/null


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated 

[Nagios-users] check_dig not working as expected (plugins 1.4.15)

2011-04-24 Thread Benjamin KRAFT
Hello,

I just wanted to pop-out if nobody already did that check_dig doesn't behave 
like it should on my centos machine.

I was trying to validate the fact that my authoritative server at 80.92.90.249 
resolves my website to the corresponding ip address, like this :

[root@nagg ns1]# /usr/local/nagios/libexec/check_dig -H 80.92.90.249 -l 
www.dotnul.com -a 78.46.96.219 -A +tcp
DNS OK - 0.009 seconds response time (www.dotnul.com.  3600 IN A 
78.46.96.219)|time=0.009035s;;;0.00

That's ok - but I noticed when I misspasted the expected return IP address, 
that the check returns OK if I put the address of the queried server as 
expected result.

[root@nagg ns1]# /usr/local/nagios/libexec/check_dig -H 80.92.90.249 -l 
www.dotnul.com -a 80.92.90.249 -A +tcp
DNS OK - 0.006 seconds response time (;; SERVER: 
80.92.90.249#53(80.92.90.249))|time=0.006368s;;;0.00

The return of the dig query is :

[root@nagg ns1]# dig www.dotnul.com @80.92.90.249 +tcp

;  DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2  www.dotnul.com @80.92.90.249 
+tcp
;; global options:  printcmd
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 1842
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0

;; QUESTION SECTION:
;www.dotnul.com.IN  A

;; ANSWER SECTION:
www.dotnul.com. 3600IN  A   78.46.96.219

;; AUTHORITY SECTION:
dotnul.com. 86400   IN  NS  ether.dotnul.org.
dotnul.com. 86400   IN  NS  hypnos.dotnul.org.
dotnul.com. 86400   IN  NS  tanathos.dotnul.org.

;; Query time: 1 msec
;; SERVER: 80.92.90.249#53(80.92.90.249)
;; WHEN: Sun Apr 24 13:44:12 2011
;; MSG SIZE  rcvd: 122

By having an eye on nagios-plugins-1.4.15/plugins/check_dig.c, it looks like 
the following code is involved :

  for(i = 0; i  chld_out.lines; i++) {
/* the server is responding, we just got the host name... */
if (strstr (chld_out.line[i], ;; ANSWER SECTION:)) {

  /* loop through the whole 'ANSWER SECTION' */
  for(; i  chld_out.lines; i++) {
/* get the host address */
if (verbose)
  printf (%s\n, chld_out.line[i]);

if (strstr (chld_out.line[i], (expected_address == NULL ? query_address 
: expected_address)) != NULL) {
  msg = chld_out.line[i];
  result = STATE_OK;

  /* Translate output TAB - SPACE */
  t = msg;
  while ((t = strchr(t, '\t')) != NULL) *t = ' ';
  break;
}
  }

  if (result == STATE_UNKNOWN) {
msg = (char *)_(Server not found in ANSWER SECTION);
result = STATE_WARNING;
  }

  /* we found the answer section, so break out of the loop */
  break;
}
  }

Shouldn't the command stop reading any following line beginning with ;;  
after finding the ANSWER section instead of searching a match in everything 
until end of chld_out ?

Kind regards,

Benjamin


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
Nagios-users mailing list
Nagios-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting 
any issue. 
::: Messages without supporting info will risk being sent to /dev/null