| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Регулярные выражения > Проблема с регулярными выражениями |
| Автор: Зюзе 27.2.2009, 13:44 |
| Всем привет. Сразу скажу я не программист, с перлом имел дело постольку-поскольку Сейчас настраиваю приблуду к софтине (nagiosgraph) которая отрисовывает графики. В доках нарисован такой пример: # INSTRUCTIONS: # This file contains several example of service types. Edit this file to # add more service types. The data string from Nagios is in $_ . Use # regular expressions to identify and extract data like the examples below # below. Match on either output: or perfdata: . The code is pure perl, # that will be run inside an eval{}. Results are expected in @s. The # general format is: # /output|perfdata:<servicetype> <key>=<value> <key2=value2> .../ # and push @s, [ <databasename>, # [ <key>, GAUGE|DERIVE, <value> ], # [ <key2>, GAUGE|DERIVE, <value2> ], # [ . . . ], # [ . . . ] ]; # But more advanced code is possible, as long as the resulting # data structure is correct. По примеру сделал график отрисовки загрузки процессора, # Service type: ntload # check command: check_nt -H Address -v CPULOAD -l5,70,90,30,70,90 # output: CPU Load 9% (5 min average) # perfdata:5 min avg Load=9%;80;90;0;100 /perfdata:.*5 min avg load=(\d+)%;(\d+);(\d+);(\d+);(\d+)/ and push @s, [ ntload, [ avg05min, GAUGE, $1 ] ]; но видимо где-то косяк с регекспами, потому что график не строится, в логах пишет что insert.pl,v $ $Revision: 1.25 $ info - Input servicedescr:ntload insert.pl,v $ $Revision: 1.25 $ info - Input output:CPU Load 0% (5 min average) insert.pl,v $ $Revision: 1.25 $ warn - perfdata not recognized Я уже перелом мозга получил с этими регекспами, не могу понять почему не воспринимает данные |