Ad Widget

Collapse

Мониторинг логов: Кириллица в логах

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • EuGenE_New
    Junior Member
    • Dec 2011
    • 11

    #1

    Мониторинг логов: Кириллица в логах

    Добрый день, коллеги.
    Есть несколько логов на виндовых серверах от одной веб-апликухи, которые пишутся в кириллице. Кодировка вроде как 1251 (правда, декодер Лебедева пишет, что это 1252)
    Текст логов без конвертации выглядит вот так:
    27.02.12 01:38:45.061 [5] Çàâåðøåíèå ðàáîòû óòèëèòû
    27.02.12 01:38:45.243 [5] Çàêðûòèå ïîäêëþ÷åíèÿ ê îñíîâíîé ÁÄ
    27.02.12 01:38:45.249 [5] Çàêðûòèå ïîäêëþ÷åíèÿ ê àðõèâíîé ÁÄ
    27.02.12 01:38:45.249 [4] Ðàáîòà çàâåðøåíà
    Для активной проверки использую ключик log[<путь к файлу>,<искомый текст>,cp1251,]
    Агент ничего не находит в исходном логе. Если его конвертануть в UTF-8, лог прекрасно читается, но конвертить на серваке у меня нет возможности (серваков несколько, они не мои и т.д.) В общем, надо как-то вычитать, чтобы агент правильно конвертанул в читаемый вид. Если в ключике прописать искомый текст вот так:
    log[<путь к файлу>,Çàêðûòèå ïîäêëþ÷åíèÿ ê îñíîâíîé ÁÄ,cp1251,], то текст находится, но меня это не совсем устраивает, т.к. кроме просто текста нужно искать текст с числами, которые должны уходить вместе с куском читаемого текста в рассылку.
    Вопрос к знающим людям, агент может не все кодировки читать или я выбрал неправильную кодировку в параметре ключа?
    Last edited by EuGenE_New; 14-03-2012, 10:49.
  • SergeniuS
    Member
    • Jan 2012
    • 68

    #2
    Может попробовать варианты написания CP1251 (uppercase)?

    Comment

    • EuGenE_New
      Junior Member
      • Dec 2011
      • 11

      #3
      Похоже, что правильно писать windows-1251. Вообще, в мануале написано, что для винды по дефолту используется эта кодировка и это правда.

      Проблема оказалась в том, что админы неправильно прописали Hostname= в конфигах агентов, поэтому сервак забивал болт на приходящие сообщения.

      Comment

      • SergeniuS
        Member
        • Jan 2012
        • 68

        #4
        Originally posted by eugene_new
        Похоже, что правильно писать windows-1251. Проблема оказалась в том, что админы неправильно прописали hostname= в конфигах агентов, поэтому сервак забивал болт на приходящие сообщения.
        Очень странно, потому что не состыкуется с этим:

        Originally posted by eugene_new
        Если его конвертануть в utf-8, лог прекрасно читается

        Comment

        • EuGenE_New
          Junior Member
          • Dec 2011
          • 11

          #5
          Тестировал на другом сервере (не продакшн, где нужно читать логи), может быть поэтому не состыкуется. Насколько я понял, в винде агент понимает windows-1251 и UTF-8 по дефолту без передачи параметров кодировки, может быть и ошибаюсь, но мне сложно судить, т.к. мониторить приходится сервера, к которым я лично никакого отношения не имею.

          Comment

          • genakir
            Member
            • Mar 2011
            • 49

            #6
            Originally posted by EuGenE_New
            Похоже, что правильно писать windows-1251. Вообще, в мануале написано, что для винды по дефолту используется эта кодировка и это правда.

            Проблема оказалась в том, что админы неправильно прописали Hostname= в конфигах агентов, поэтому сервак забивал болт на приходящие сообщения.
            Доброго времени суток.
            Есть лог, который генерирует apcupsd каждые 60 секунд.
            Я хочу добавить параметр UserParameter в zabbix_agent Windows, который будет передавать нужные мне данные на сервер zabbix.
            Файл имеет синтаксис:
            MODEL : Back-UPS ES 525
            STATUS : ONLINE
            LINEV : 222.2 Volts
            Мне надо брать данные за ":". Прошу помощи.

            Comment

            • EuGenE_New
              Junior Member
              • Dec 2011
              • 11

              #7
              Немного не в тему вопрос, но если нужно просто отлавливать, когда не ONLINE, то можно вот так:
              more < <путь к файлу> | find /c "ONLINE"

              Команда будет возвращать 1, если ONLINE, 0 если не ONLINE

              Только зачем юзерпараметр, если агент это всё итак умеет через ключики?
              Last edited by EuGenE_New; 26-03-2012, 18:03.

              Comment

              • genakir
                Member
                • Mar 2011
                • 49

                #8
                Originally posted by eugene_new
                Только зачем юзерпараметр, если агент это всё итак умеет через ключики?
                Это как? Объясните, пожалуйста.

                Comment

                • EuGenE_New
                  Junior Member
                  • Dec 2011
                  • 11

                  #9
                  Ключи vfs.file.regexp или vfs.file.regmatch
                  Читать тут: http://www.zabbix.com/documentation/...B5%D0%BD%D1%82

                  Comment

                  • genakir
                    Member
                    • Mar 2011
                    • 49

                    #10
                    Originally posted by EuGenE_New
                    Ключи vfs.file.regexp или vfs.file.regmatch
                    Читать тут: http://www.zabbix.com/documentation/...B5%D0%BD%D1%82
                    Спасибо большое за наводку. С vfs.file.regmatch всё понятно, а вот как быть с vfs.file.regexp?
                    Дело в том, что vfs.file.regexp[c:\apcupsd\etc\apcupsd\apcupsd.status,LINEV]
                    возвращает строку вида "LINEV : 217.8 Volts", а нужны только цифры.

                    Comment

                    • EuGenE_New
                      Junior Member
                      • Dec 2011
                      • 11

                      #11
                      Наверное, это можно обрезать регулярными выражениями (в администрировании настраиваются), но я там не шарю, поэтому проще взять пару юниксовых утилит (sed и/или awk), написать команду по поиску строки из файла и обрезке её до цифр. Вот тут нужен UserParameter
                      Last edited by EuGenE_New; 27-03-2012, 14:59.

                      Comment

                      • EuGenE_New
                        Junior Member
                        • Dec 2011
                        • 11

                        #12
                        Кстати, сосем нелишним было бы покурить Power Shell, это даже лучше

                        Comment

                        Working...