Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.48 KB | None | 0 0
  1. #!/usr/bin/env perl
  2.  
  3. use String::CamelCase qw(camelize decamelize wordsplit);
  4.  
  5. use Text::Trim;
  6.  
  7. sub superCamel {
  8.         $cadena = $_[0];
  9.         $cadena =~ s/[^a-zA-Z]//g;
  10.  
  11.         camelize ( $cadena );
  12.  
  13.         return $cadena;
  14. }
  15.  
  16. sub PerfMunin {
  17. #( $objeto, $contador ) {
  18. $objeto =  $_[0];
  19. $contador = $_[1];
  20.  
  21. # Objeto 1: Memory: Pages/sec
  22. # Objeto 2: Memory: Availability Mb
  23. # Objeto 3: Sql Server: Locks: Avg. wait time (ms)
  24. # Objeto 4: Sql Server: Backup Device: Device Throughput bytes/sec
  25.  
  26. # El objeto es lo que esta antes de los : finales
  27. # El contador retocado es in /sec o (ms) y quitar espacios con CamelCase
  28. # El objecto retocado es el objecto y quitar espacios con CamelCase
  29.  
  30. $objeto_retocado = superCamel ( $objeto );
  31. $contador_retocado = superCamel ( $contador );
  32.  
  33. print('[PerfCounterPlugin_' . $objeto_retocado . $contador_retocado . ']
  34. DropTotal=1
  35. Object='. $objeto . '
  36. Counter=' . $contador . '
  37. CounterFormat=double
  38. CounterMultiply=1.000000
  39. GraphTitle=' . $contador . '
  40. GraphCategory=' . $objeto_retocado  . '
  41. GraphArgs=--base 1000 -l 0
  42. GraphDraw=LINE
  43.  
  44. ');
  45.  
  46.  
  47.  
  48. }
  49.  
  50. open(my $fh, '<', "monitores.txt") or die $!;
  51.  
  52. while ( <$fh> ) {
  53.  
  54.     $buffer = trim ( $_ );
  55.     @vector = split(':', $buffer);
  56.    
  57.     $contador = trim( pop(@vector) );
  58.  
  59.     $objeto = "";
  60.  
  61.     for ($i=0; $i< scalar(@vector); $i++) {
  62.         @vector[$i] = trim( @vector[$i] );
  63.     }
  64.    
  65.     $objeto = join(':', @vector );
  66.  
  67.     PerfMunin($objeto , $contador );
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement