perl - date is error when run zabbix_bind.9.6_stats.pl on Solaris -


analyse named.stats file on solaris 10, sunos azalea 5.10 generic_150400-13 sun4u sparc sunw,sun-fire-v490 perl version: v5.8.4 built sun4-solaris-64int bind 9.9.5-p1, dns has view zone!

when ran zabbix_bind.9.6_stats.pl script, date in first line of result file zabbix_named.stats.txt wrong.

input file: named.stats

+++ statistics dump +++ (1411256097) ++ incoming requests ++            245677755 query                   11 iquery                  131 notify                    5 update ++ incoming queries ++                    7 reserved0            214646337               195659 ns               194834 cname                67573 soa             11863353 ptr                   13 hinfo               311508 mx                80961 txt             17684359 aaaa               313197 srv                   35 naptr                 1026 a6                  377 ds                    2 nsec                   16 dnskey                 2658 spf                    6 axfr               317449                   14 others ++ outgoing queries ++ [view: glu]             97641561               913138 ns                 1668 cname                 3496 soa               584400 ptr               215941 mx               222061 txt              8968008 aaaa                10839 srv                   74 ds                    1 dnskey                11600 [view: other] [view: _bind] ++ name server statistics ++            245679139 ipv4 requests received              6939549 requests edns(0) received                29010 requests tsig received                56072 tcp requests received              1735225 auth queries rejected             50400546 recursive queries rejected                    6 transfer requests rejected            231559258 responses sent                39867 truncated responses sent              6886241 responses edns(0) sent                28879 responses tsig sent            134630025 queries resulted in successful answer              7564120 queries resulted in authoritative answer            145275533 queries resulted in non authoritative answer                33203 queries resulted in referral answer              8608506 queries resulted in nxrrset             26580073 queries resulted in servfail              9569385 queries resulted in nxdomain             86774948 queries caused recursion             12879202 duplicate queries received              1239821 queries dropped             52135771 other query failures ++ zone maintenance statistics ++                  130 ipv4 notifies received                 4114 ipv4 soa queries sent                   20 ipv4 axfr requested                   10 ipv4 ixfr requested                   30 transfer requests succeeded ++ resolver statistics ++ [common]               223764 mismatch responses received [view: glu]            108570571 ipv4 queries sent             76450226 ipv4 responses received               519727 nxdomain received               150555 servfail received                50543 formerr received               394845 other errors received                64245 edns(0) query failures              6679270 truncated responses received                77150 lame delegations received             39157947 query retries             32176451 query timeouts              2446839 ipv4 ns address fetches               131398 ipv4 ns address fetch failed                10663 queries rtt < 10ms             55311397 queries rtt 10-100ms             17022288 queries rtt 100-500ms              3465431 queries rtt 500-800ms               455258 queries rtt 800-1600ms                12639 queries rtt > 1600ms [view: other] [view: _bind] ++ cache db rrsets ++ [view: glu (cache: glu)]                20848                28539 ns                 4810 cname                    4 soa                  140 ptr                    4 mx                   18 txt                 1523 aaaa                    1 srv                  167 ds                  774 rrsig                  423 nsec                    1 dnskey                   20 !a                    5 !txt                  314 !aaaa                  237 nxdomain [view: other (cache: other)] [view: _bind (cache: _bind)] ++ socket i/o statistics ++            101917427 udp/ipv4 sockets opened              6679398 tcp/ipv4 sockets opened            101934142 udp/ipv4 sockets closed              6736965 tcp/ipv4 sockets closed                32659 udp/ipv4 socket bind failures                 1614 tcp/ipv4 socket connect failures            101889277 udp/ipv4 connections established              6417057 tcp/ipv4 connections established                  622 tcp/ipv4 connection accept failures                57536 tcp/ipv4 connections accepted                    5 tcp/ipv4 send errors               173008 udp/ipv4 recv errors                37707 tcp/ipv4 recv errors ++ per zone query statistics ++ [0.0.127.in-addr.arpa (view: glu)]                   27 queries resulted in successful answer                  164 queries resulted in authoritative answer                  137 queries resulted in nxdomain [160.192.222.in-addr.arpa (view: glu)]                  141 queries resulted in successful answer                  792 queries resulted in authoritative answer                  651 queries resulted in nxdomain [0.0.127.in-addr.arpa (view: other)] [160.192.222.in-addr.arpa (view: other)]                92115 queries resulted in successful answer               106915 queries resulted in authoritative answer                  123 queries resulted in nxrrset                14677 queries resulted in nxdomain [glu.edu.cn (view: other)]                    5 transfer requests rejected              1764308 queries resulted in successful answer              2849091 queries resulted in authoritative answer               574347 queries resulted in nxrrset               510456 queries resulted in nxdomain [version.bind (view: _bind)]                  264 queries resulted in successful answer                  264 queries resulted in authoritative answer [hostname.bind (view: _bind)]                    3 queries resulted in successful answer                    3 queries resulted in authoritative answer [authors.bind (view: _bind)] [id.server (view: _bind)] --- statistics dump --- (1411256097) +++ statistics dump +++ (1411256113) ++ incoming requests ++            245678141 query                   11 iquery                  131 notify                    5 update ++ incoming queries ++                    7 reserved0            214646692               195659 ns               194834 cname                67578 soa             11863360 ptr                   13 hinfo               311512 mx                80961 txt             17684371 aaaa               313199 srv                   35 naptr                 1026 a6                  377 ds                    2 nsec                   16 dnskey                 2658 spf                    6 axfr               317450                   14 others ++ outgoing queries ++ [view: glu]             97641832               913147 ns                 1668 cname                 3496 soa               584400 ptr               215944 mx               222061 txt              8968013 aaaa                10839 srv                   74 ds                    1 dnskey                11600 [view: other] [view: _bind] ++ name server statistics ++            245679525 ipv4 requests received              6939573 requests edns(0) received                29010 requests tsig received                56072 tcp requests received              1735231 auth queries rejected             50400606 recursive queries rejected                    6 transfer requests rejected            231559636 responses sent                39867 truncated responses sent              6886265 responses edns(0) sent                28879 responses tsig sent            134630301 queries resulted in successful answer              7564152 queries resulted in authoritative answer            145275810 queries resulted in non authoritative answer                33203 queries resulted in referral answer              8608514 queries resulted in nxrrset             26580076 queries resulted in servfail              9569410 queries resulted in nxdomain             86775072 queries caused recursion             12879204 duplicate queries received              1239821 queries dropped             52135837 other query failures ++ zone maintenance statistics ++                  130 ipv4 notifies received                 4114 ipv4 soa queries sent                   20 ipv4 axfr requested                   10 ipv4 ixfr requested                   30 transfer requests succeeded ++ resolver statistics ++ [common]               223769 mismatch responses received [view: glu]            108570859 ipv4 queries sent             76450431 ipv4 responses received               519730 nxdomain received               150555 servfail received                50543 formerr received               394845 other errors received                64245 edns(0) query failures              6679285 truncated responses received                77150 lame delegations received             39158038 query retries             32176528 query timeouts              2446848 ipv4 ns address fetches               131398 ipv4 ns address fetch failed                10663 queries rtt < 10ms             55311569 queries rtt 10-100ms             17022314 queries rtt 100-500ms              3465436 queries rtt 500-800ms               455260 queries rtt 800-1600ms                12639 queries rtt > 1600ms [view: other] [view: _bind] ++ cache db rrsets ++ [view: glu (cache: glu)]                20863                28540 ns                 4848 cname                    4 soa                  140 ptr                    4 mx                   18 txt                 1523 aaaa                    1 srv                  167 ds                  774 rrsig                  423 nsec                    1 dnskey                   20 !a                    5 !txt                  307 !aaaa                  240 nxdomain [view: other (cache: other)] [view: _bind (cache: _bind)] ++ socket i/o statistics ++            101917700 udp/ipv4 sockets opened              6679413 tcp/ipv4 sockets opened            101934409 udp/ipv4 sockets closed              6736981 tcp/ipv4 sockets closed                32659 udp/ipv4 socket bind failures                 1614 tcp/ipv4 socket connect failures            101889550 udp/ipv4 connections established              6417072 tcp/ipv4 connections established                  622 tcp/ipv4 connection accept failures                57537 tcp/ipv4 connections accepted                    5 tcp/ipv4 send errors               173008 udp/ipv4 recv errors                37707 tcp/ipv4 recv errors ++ per zone query statistics ++ [0.0.127.in-addr.arpa (view: glu)]                   27 queries resulted in successful answer                  164 queries resulted in authoritative answer                  137 queries resulted in nxdomain [160.192.222.in-addr.arpa (view: glu)]                  141 queries resulted in successful answer                  792 queries resulted in authoritative answer                  651 queries resulted in nxdomain [glu.edu.cn (view: glu)]               390933 queries resulted in successful answer               485439 queries resulted in authoritative answer                56638 queries resulted in nxrrset                37870 queries resulted in nxdomain [0.0.127.in-addr.arpa (view: other)] [160.192.222.in-addr.arpa (view: other)]                92115 queries resulted in successful answer               106915 queries resulted in authoritative answer                  123 queries resulted in nxrrset                14677 queries resulted in nxdomain [glu.edu.cn (view: other)]                    5 transfer requests rejected              1764319 queries resulted in successful answer              2849104 queries resulted in authoritative answer               574349 queries resulted in nxrrset               510456 queries resulted in nxdomain [glu.cn (view: other)]                    1 transfer requests rejected                63626 queries resulted in successful answer               243178 queries resulted in authoritative answer                42873 queries resulted in nxrrset               136679 queries resulted in nxdomain [version.bind (view: _bind)]                  264 queries resulted in successful answer                  264 queries resulted in authoritative answer [hostname.bind (view: _bind)]                    3 queries resulted in successful answer                    3 queries resulted in authoritative answer [authors.bind (view: _bind)] [id.server (view: _bind)] --- statistics dump --- (1411256113) 

output file: /tmp/zabbix_named.stats.txt

date: 0 thu jan  1 08:00:00 1970 per_zone_query_statistics_zone_0.0.127.in-addr.arpa__view__glu__queries_resulted_in_nxdomain:  137 per_zone_query_statistics_zone_0.0.127.in-addr.arpa__view__glu__queries_resulted_in_authoritative_answer:      164 per_zone_query_statistics_zone_0.0.127.in-addr.arpa__view__glu__queries_resulted_in_successful_answer: 27 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__cernet__queries_resulted_in_nxdomain:    32er:   423 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__glu__queries_resulted_in_nxdomain:      651 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__glu__queries_resulted_in_authoritative_answer:  792 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__glu__queries_resulted_in_successful_answer:     141 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__other__queries_resulted_in_nxdomain:     14678 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__other__queries_resulted_in_authoritative_answer: 106920 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__other__queries_resulted_in_nxrrset:      124 per_zone_query_statistics_zone_160.192.222.in-addr.arpa__view__other__queries_resulted_in_successful_answer:    92118 per_zone_query_statistics_zone_glu.edu.cn__view__glu__queries_resulted_in_nxdomain:   37890 per_zone_query_statistics_zone_glu.edu.cn__view__glu__queries_resulted_in_authoritative_answer:       485515 per_zone_query_statistics_zone_glu.edu.cn__view__glu__queries_resulted_in_nxrrset:    56662 per_zone_query_statistics_zone_glu.edu.cn__view__glu__queries_resulted_in_successful_answer:  390965 per_zone_query_statistics_zone_glu.edu.cn__view__other__queries_resulted_in_nxdomain:  510477 per_zone_query_statistics_zone_glu.edu.cn__view__other__queries_resulted_in_authoritative_answer:      2849383 per_zone_query_statistics_zone_glu.edu.cn__view__other__queries_resulted_in_nxrrset:   574397 per_zone_query_statistics_zone_glu.edu.cn__view__other__queries_resulted_in_successful_answer: 1764529 per_zone_query_statistics_zone_glu.edu.cn__view__other__transfer_requests_rejected:    5 per_zone_query_statistics_zone_hostname.bind__view___bind__queries_resulted_in_authoritative_answer:    3 per_zone_query_statistics_zone_hostname.bind__view___bind__queries_resulted_in_successful_answer:       3 per_zone_query_statistics_zone_version.bind__view___bind__queries_resulted_in_authoritative_answer:     266 per_zone_query_statistics_zone_version.bind__view___bind__queries_resulted_in_successful_answer:        266 

zabbix_bind.9.6_stats.pl (from https://www.zabbix.com/forum/showthread.php?t=38970):

#!/usr/bin/perl # dmitry maksimov 5.02.2013 dima_dm@hotmail.com # bind 9.6.x , high statistics zabbix ####### # need!!! perl-suidperl-5.8.5-36.el4_6.3.i386.rpm or later # permissions on script # chmod 4755 zabbix_bind.9.6_stats.pl # ls -l zabbix_bind.9.6_stats.pl # -rwsr-xr-x 1 root root 2876 feb  5 17:40 zabbix_bind.9.6_stats.pl # per zone query statistics via zabbix  low level descovery (lld) (bind option zone-statistics yes) available in zabbix 2.0 , high. #### config ###### $rndc  = '/usr/local/bind9/sbin/rndc'; $retry = 3;                              # if error $sleep = 5;                              # in sec $data  = 10000;                          # in bytes, size of 1 statictics sample $maxsize     = 5000000;    # in bytes $stats file maximum size. if size of file more, whis file ($stats) cleared. $stats     = '/var/named/named.stats'; $stat_file = '/tmp/zabbix_named.stats.txt'; #### end config ### #### error code #### # 1 - ok # 2 - error #################### $i; $date      = 0; $flag      = 0; $stat_name = ""; $zone      = ""; $text      = ""; $counter   = ""; $view      = ""; $code      = 1; %result    = (); %zonename  = (); delete @env{qw(ifs cdpath env bash_env)};    # make %env safer $env{'path'} = "/usr/local/bin:/bin:/usr/bin";  while ( $code > 0 && $i < $retry ) {     $i++;     $code = system("$rndc stats");     if ( $code > 0 ) { sleep($sleep); } } $position = ( stat($stats) )[7]; if ( $position < $data ) {     $position = 0; } else {     $position = $position - $data; }  open( file, "$stats" ); seek( file, $position, 0 ); while (<file>) {     if (/^\+{3} statistics dump \+{3}\s+\((\d+)\)/) { $date = $1; $flag = 1; %result = (); }     if (/^--- statistics dump ---/)                 { $flag = 0; }     if (/^\+{2}\s+(.*)?\s+(?=\+{2})/) {         $stat_name = $1;         $view      = "";         if ( $stat_name eq "per zone query statistics" ) { $flag = 2; $zone = ""; }     }     if (/^\[view:\s+(.*)?(?=\])/) { $view = "_view_" . $1; }     if ( /^\[(.*)?(?=\])/ && $flag == 2 ) { $zone = "_zone_" . $1; $zone =~ s#[^a-za-z0-9_\.\-]#_#g; }     if ( /^\s+(\d+)\s+(.*)?(?=\n)/ && $flag == 1 ) {         $text    = $stat_name . $view . "_" . $2;         $counter = $1;         $text =~ s#[^a-za-z0-9_\.\-]#_#g;         $result{$text} = $counter;     }     if ( /^\s+(\d+)\s+(.*)?(?=\n)/ && $flag == 2 ) {         $text    = $stat_name . $zone . "_" . $2;         $counter = $1;         $text =~ s#[^a-za-z0-9_\.\-]#_#g;         $result{$text}   = $counter;         $zonename{$zone} = 1;     } } close(file); if ( ( stat($stats) )[7] > $maxsize ) {     open( file, ">$stats" );     close(file); } open( file, ">$stat_file" ); print file "date: $date ", scalar( localtime($date) ), "\n"; foreach $i ( sort( keys %result ) ) {     print file "$i:\t$result{$i}\n"; } close(file); if ( defined( $argv[0] ) && lc( $argv[0] ) eq "lld" ) {     print_lld(); } else {     if ( $code > 0 ) {         print "2\n";     } else {         print "1\n";     } }  sub print_lld {     $first = 1;     $key   = "";      print "{\n";     print "\t\"data\":[\n\n";      foreach $key ( keys %zonename ) {         print "\t,\n" if not $first;         $first = 0;         print "\t{\n";         print "\t\t\"{#zonename}\":\"$key\"\n";         print "\t}\n";     }      print "\n\t]\n";     print "}\n"; } 

when run in other machince, date value ok!

this machince: sunos orchid 5.10 generic_150400-13 sun4u sparc sunw,ultra-4 perl version: v5.8.4 built sun4-solaris-64int bind 9.9.5-p1, dns has not view zone!

input file: named.stats

+++ statistics dump +++ (1411352600) ++ incoming requests ++               331205 query ++ incoming queries ++               174193                 1045 ns                  103 cname                  760 soa               103046 ptr                  276 mx                   18 txt                41567 aaaa                   49 srv                  286 a6                    2 nsec                 9863 ++ outgoing queries ++ [view: default]               190903                 1443 ns                  971 ptr                 1225 aaaa                   24 srv [view: _bind] ++ name server statistics ++               331207 ipv4 requests received               177845 requests edns(0) received                   23 tcp requests received                38595 auth queries rejected                 2468 recursive queries rejected               330359 responses sent                   27 truncated responses sent               177847 responses edns(0) sent               227691 queries resulted in successful answer               197399 queries resulted in authoritative answer                91628 queries resulted in non authoritative answer                41394 queries resulted in nxrrset                  267 queries resulted in servfail                19942 queries resulted in nxdomain                78029 queries caused recursion                  851 duplicate queries received                41063 other query failures ++ zone maintenance statistics ++                  513 ipv4 soa queries sent ++ resolver statistics ++ [common] [view: default]               194568 ipv4 queries sent               188556 ipv4 responses received                 1113 nxdomain received                   91 servfail received                  863 formerr received                   30 other errors received                  877 edns(0) query failures                  274 truncated responses received                  200 lame delegations received                16212 query retries                 6142 query timeouts                28491 ipv4 ns address fetches                   84 ipv4 ns address fetch failed                  111 queries rtt < 10ms               144059 queries rtt 10-100ms                44047 queries rtt 100-500ms                  250 queries rtt 500-800ms                    3 queries rtt 800-1600ms [view: _bind] ++ cache db rrsets ++ [view: default]                 1087                  583 ns                  191 cname                    1 ptr                  174 aaaa                   21 ds                   74 rrsig                   17 nsec                    1 !a                    2 nxdomain [view: _bind (cache: _bind)] ++ socket i/o statistics ++               194826 udp/ipv4 sockets opened                  277 tcp/ipv4 sockets opened               194826 udp/ipv4 sockets closed                  298 tcp/ipv4 sockets closed                   19 udp/ipv4 socket bind failures               194291 udp/ipv4 connections established                   48 tcp/ipv4 connections established                   25 tcp/ipv4 connections accepted                   87 udp/ipv4 recv errors ++ per zone query statistics ++ --- statistics dump --- (1411352600) 

output file: /tmp/zabbix_named.stats.txt

date: 1411352600 mon sep 22 10:23:20 2014 cache_db_rrsets_view_default_a: 1087 cache_db_rrsets_view_default_aaaa:      174 cache_db_rrsets_view_default_cname:     191 cache_db_rrsets_view_default_ds:        21 cache_db_rrsets_view_default_ns:        583 cache_db_rrsets_view_default_nsec:      17 cache_db_rrsets_view_default_nxdomain:  2 cache_db_rrsets_view_default_ptr:       1 cache_db_rrsets_view_default_rrsig:     74 cache_db_rrsets_view_default__a:        1 incoming_queries_a:     174193 incoming_queries_a6:    286 incoming_queries_aaaa:  41567 incoming_queries_any:   9863 incoming_queries_cname: 103 incoming_queries_mx:    276 incoming_queries_ns:    1045 incoming_queries_nsec:  2 incoming_queries_ptr:   103046 incoming_queries_soa:   760 incoming_queries_srv:   49 incoming_queries_txt:   18 incoming_requests_query:        331205 name_server_statistics_ipv4_requests_received:  331207 name_server_statistics_tcp_requests_received:   23 name_server_statistics_auth_queries_rejected:   38595 name_server_statistics_duplicate_queries_received:      851 name_server_statistics_other_query_failures:    41063 name_server_statistics_queries_caused_recursion:        78029 name_server_statistics_queries_resulted_in_nxdomain:    19942 name_server_statistics_queries_resulted_in_servfail:    267 name_server_statistics_queries_resulted_in_authoritative_answer:        197399 name_server_statistics_queries_resulted_in_non_authoritative_answer:    91628 name_server_statistics_queries_resulted_in_nxrrset:     41394 name_server_statistics_queries_resulted_in_successful_answer:   227691 name_server_statistics_recursive_queries_rejected:      2468 name_server_statistics_requests_with_edns_0__received:  177845 name_server_statistics_responses_sent:  330359 name_server_statistics_responses_with_edns_0__sent:     177847 name_server_statistics_truncated_responses_sent:        27 outgoing_queries_view_default_a:        190903 outgoing_queries_view_default_aaaa:     1225 outgoing_queries_view_default_ns:       1443 outgoing_queries_view_default_ptr:      971 outgoing_queries_view_default_srv:      24 resolver_statistics_view_default_edns_0__query_failures:        877 resolver_statistics_view_default_formerr_received:      863 resolver_statistics_view_default_ipv4_ns_address_fetch_failed:  84 resolver_statistics_view_default_ipv4_ns_address_fetches:       28491 resolver_statistics_view_default_ipv4_queries_sent:     194568 resolver_statistics_view_default_ipv4_responses_received:       188556 resolver_statistics_view_default_nxdomain_received:     1113 resolver_statistics_view_default_servfail_received:     91 resolver_statistics_view_default_lame_delegations_received:     200 resolver_statistics_view_default_other_errors_received: 30 resolver_statistics_view_default_queries_with_rtt_10-100ms:     144059 resolver_statistics_view_default_queries_with_rtt_100-500ms:    44047 resolver_statistics_view_default_queries_with_rtt_500-800ms:    250 resolver_statistics_view_default_queries_with_rtt_800-1600ms:   3 resolver_statistics_view_default_queries_with_rtt___10ms:       111 resolver_statistics_view_default_query_retries: 16212 resolver_statistics_view_default_query_timeouts:        6142 resolver_statistics_view_default_truncated_responses_received:  274 socket_i_o_statistics_tcp_ipv4_connections_accepted:    25 socket_i_o_statistics_tcp_ipv4_connections_established: 48 socket_i_o_statistics_tcp_ipv4_sockets_closed:  298 socket_i_o_statistics_tcp_ipv4_sockets_opened:  277 socket_i_o_statistics_udp_ipv4_connections_established: 194291 socket_i_o_statistics_udp_ipv4_recv_errors:     87 socket_i_o_statistics_udp_ipv4_socket_bind_failures:    19 socket_i_o_statistics_udp_ipv4_sockets_closed:  194826 socket_i_o_statistics_udp_ipv4_sockets_opened:  194826 zone_maintenance_statistics_ipv4_soa_queries_sent:      513 

the date in output file set 0 initially, , gets parsed named.stats in line of script:

if (/^\+{3} statistics dump \+{3}\s+\((\d+)\)/) { $date = $1; $flag = 1; %result = (); } 

the date , time recorded in named.stats in unix time, number of seconds after jan 1st 1970.

if, reason, line of stats file not match expression, date not set, , script assume date/time is 0, i.e. it's jan 1st 1970.

you need work out why script not finding date correctly. named.stats available when script ran? did script give errors? has system clock stopped working thinks it's jan 1st 1970 time? etc.

if add use strict; use warnings; top of script (under first line), enable warnings make easier track down errors.


Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -

php - $params->set Array between square bracket -