Portál AbcLinuxu, 9. května 2025 19:17

Dotaz: Perl - nagiosgraph nrpe/check_memory jednotky

22.4.2015 23:45 ET
Perl - nagiosgraph nrpe/check_memory jednotky
Přečteno: 222×
Odpovědět | Admin
vystup z nrpe/check_mem vraci ruzne jednotky M/G/...(B)
priklad:
output: physical memory: Total: 4G - Used: 862M (83%) - Free: 3.16G (43%)
output: physical memory: Total: 4G - Used: 1.5G (94%) - Free: 3.16G (95%)
perl skript ../nagiosgraph/etc/map obsahuje pravidla a staticky prevadi jednotky (M=*1000*2,G=*1000*3) a uklada ro rrd, ale pokud se jednotky meni ve vystupu dynamicky (862M vs 1.5G ), je potreba se s tim poprat - pokus c1. aka brute-force (zachytavam jednotky [G|B] regexpem ($2,$4,$6) a pak je tam ta silenost :)

jak prepsat "lepe" trolo...lolo sekci? bez dalsich modulu pls

/output:.*physical memory: Total: ([.0-9]+)(\w) - Used: ([.0-9]+)(\w) \(\d+%\) - Free: ([.0-9]+)(\w)/ and do {
  # trololo...
  my $_memcap = 0.0;
  my $_memused = 0.0;
  my $_memfree = 0.0;
  if ( $2 eq 'M' ) { $_memcap = $1*1024**2}
  if ( $2 eq 'G' ) { $_memcap = $1*1024**3}
  if ( $4 eq 'M' ) { $_memused = $3*1024**2}
  if ( $4 eq 'G' ) { $_memused = $3*1024**3}
  if ( $6 eq 'M' ) { $_memfree = $5*1024**2}
  if ( $6 eq 'G' ) { $_memfree = $5*1024**3}
  # ...lololo
  push @s, [ 'MEM',
               [ 'mem_capacity', GAUGE, $_memcap ],
               [ 'mem_free', GAUGE, $_memfree ],
               [ 'mem_used', GAUGE, $_memused ] ];
};
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.4.2015 14:03 Ján Dráb | skóre: 4 | Banská Bystrica
Rozbalit Rozbalit vše Re: Perl - nagiosgraph nrpe/check_memory jednotky
Odpovědět | | Sbalit | Link | Blokovat | Admin
#za predpokladu, ze jednotky mozu byt len B,K,M,G alebo T
my %size_map = (T=>1024**4,G=>1024**3,M=>1024**2,K=>1024, B=>1);

$_memcap  = $1*$size_map{$2};
$_memused = $3*$size_map{$4};
$_memfree = $5*$size_map{$6};

priklad http://pastebin.com/fX27XaTg
Everything has room for improvement.
23.4.2015 22:11 ET
Rozbalit Rozbalit vše Re: Perl - nagiosgraph nrpe/check_memory jednotky
najs, diky moc ;)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.