Ad Widget

Collapse

Вопрос по Template

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • snaf
    Junior Member
    • Mar 2015
    • 10

    #1

    Вопрос по Template

    Добрый день. Есть группа серверов на которых установлено приложение X.

    Это приложение пишет логи в файл и я за ними слежу такой проверкой

    Code:
    log[/home/xxx/yyy/zzz/request.log,"([Ee][Rr][Rr][Oo][Rr])|([Cc][Rr][Ll])",100]
    Проблема заключается в том что этих серверов достаточно много А приложение на каждом их них установлено в разные места, а именно:
    1. /var/www
    2. /home/
    3. /opt/


    Подскажите пожалуйста как бы мне сделать умный template, который производил бы автоматическое обнаружение файла request.log. С учетом что он может хранится в 3-ёх разных местах.

    Хочется всё настроить изящно и менее костыльно.
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by snaf
    Добрый день. Есть группа серверов на которых установлено приложение x.

    Это приложение пишет логи в файл и я за ними слежу такой проверкой

    Code:
    log[/home/xxx/yyy/zzz/request.log,"([ee][rr][rr][oo][rr])|([cc][rr][ll])",100]
    Проблема заключается в том что этих серверов достаточно много А приложение на каждом их них установлено в разные места, а именно:
    1. /var/www
    2. /home/
    3. /opt/


    Подскажите пожалуйста как бы мне сделать умный template, который производил бы автоматическое обнаружение файла request.log. С учетом что он может хранится в 3-ёх разных местах.

    Хочется всё настроить изящно и менее костыльно.
    lld - правильный путь
    Макрос уровня хоста - не совсем правильный, но тоже рабочий путь. Правда придется руками следить

    Comment

    • snaf
      Junior Member
      • Mar 2015
      • 10

      #3
      Originally posted by yukra
      lld - правильный путь
      Макрос уровня хоста - не совсем правильный, но тоже рабочий путь. Правда придется руками следить
      Спасибо вам за ответ.

      Мне не хочется это делать на уровне каждого хоста. Хочу производить все изменения с единой точки.

      Можете подсказать в каком направление двигаться? В документации ничего не нашёл про обнаружение файлов.

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        Originally posted by snaf
        Можете подсказать в каком направление двигаться? В документации ничего не нашёл про обнаружение файлов.
        И не найдете, но можете написать свое LLD


        Например мы хотим найти все файлы, в именах которых есть подстрока "zabbix_search" в каталоге /home:
        Code:
        [root@d712 ~]# ls -R /home/
        /home/:
        1  123zabbix_search321  ololo2.txt  ololo.txt
        
        /home/1:
        5zabbix_search7  ololo3.txt
        [root@d712 ~]# ./test.pl 
        {"data":[{"FILENAME":"/home/123zabbix_search321"},{"FILENAME":"/home/1/5zabbix_search7"}]}
        Код скрипта:
        Code:
        #!/usr/bin/env perl
        use JSON;   
        use File::Find;
         
        my @data;
        my $hash_ref;
        my $i = 0;
        
        sub wanted(){
            return unless ( $File::Find::name =~ m/zabbix_search/ );
            $data[$i]{FILENAME}=$File::Find::name;
            $i++;
        }
        
        find(\&wanted, "/home/");
        $hash2{'data'} = \@data;
        print encode_json( \%hash2 ) . "\n";
        Но это лишь пример, накиданный буквально за пару минут.
        Last edited by yukra; 10-06-2016, 12:24.

        Comment

        Working...