Ad Widget

Collapse

Мониторинг лога активным агентом.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magi
    Junior Member
    • Mar 2020
    • 6

    #1

    Мониторинг лога активным агентом.

    Всем привет!

    Пытаюсь сделать мониторинг логов на линукс-сервере. На нем активный агент, порт 10051 открыт и указан настройках и активен, права на файл лога выставил в 777, владелец zabbix:zabbix.
    Лог обновляется относительно редко.
    Нужно, чтобы для начала отображалась хотя бы последние данные лога.Но почему-то не мониторится.
    Ключ log[/var/log/sender.log,,,,all,,] В последних данных - пусто. Ошибок - нет и данных нет.
    Попробовал добавить тестовый элемент данных net.if.list(отображение списка сетевых интерфейсов) - но он тоже не отображает данные.
    Что еще нужно проверить?
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    При работе агента в активном режиме соединение устанавливается от Zabbix-агента к Zabbix-серверу. Соответственно, порт 10051 должен быть открыт на Zabbix-сервере и доступен со стороны агента (например, не блокироваться локальным фаерволом на стороне Zabbix-сервера).

    Проверить же нужно следующие вещи:
    • в конфиге агента корректно прописан параметр "ServerActive=" (указывает на DNS-имя либо IP-адрес Zabbix-сервера; причём, если указывает на DNS-имя, то оно успешно разрешается агентом в IP-адрес);
    • имя хоста на агенте (проверить по логу агента, он пишет его при старте) точно (с учётом регистра букв!) совпадает с "техническим" именем хоста в веб-интерфейсе Zabbix (не путать с Visible name);
    • лог агента: если он по какой-то причине не может достучаться до сервера, то там будут сообщения об этом от треда active check;
    • лог сервера: если имя хоста на агенте не совпадает, то там будут сообщения вида:
    cannot send list of active checks to "192.168.XX.YY": host [MyHostName] not found

    Comment

    • Magi
      Junior Member
      • Mar 2020
      • 6

      #3
      Активный мониторинг параметров сервера заработал, какое-то время, работал и мониторинг логов, отображая последние данные. Создал триггер по ключевой строке. Т.к. лог обновляется нечасто, добавил строку в лог вручную. Но увидеть это изменение и срабатывание триггера не получилось. Проверки лога почему-то прекратились. Изначально у лога были права рута, затем в тестовом режиме, я присвоил ему права 777 и владелец zabbix, а потом вернул обратно, но результата это не дало. Проверки лога не проводятся, кнопка "Тест" в элементе данных не доступна.

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Кнопка "Test" для активных проверок и не будет работать, это нормально.
        Для мониторинга логов, разумеется, нужно, чтобы агент Zabbix имел права на чтение соответствующего файла (и права входить в нужную директорию).
        Если при добавлении строки в лог вручную у файла поменялись права, то попробуйте выставить права, как надо, а после этого перезапустить агента Zabbix.
        Проверьте ещё интервал обновления для этого элемента данных (нормально, если он имеет порядок нескольких секунд, ненормально - если минут или, тем более, часов).

        Comment

        • Magi
          Junior Member
          • Mar 2020
          • 6

          #5
          Права на файл 644 и владелец root, на чтение от пользователя zabbix доступны, интервал 30s. Но проверок - нет, в логе агента и сервера пусто на этот счет, в интерфейсе также ошибок нет. Можно ли как-то принудительно инициировать проверку?

          Comment

          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3404

            #6
            Originally posted by Magi
            Можно ли как-то принудительно инициировать проверку?
            Напрямую - нет. Но можно склонировать этот элемент данных, косметически подредактировав его ключ (например, добавив пробел после какой-нибудь запятой в параметрах ключа) - тогда для этого клона в течение нескольких минут должны прийти данные.

            Comment

            • Alex_UUU
              Senior Member
              • Dec 2018
              • 541

              #7
              Если нужно последнее значение лога и не нужна ротация, то просто команда tail -1 log плюс предобработка (не хранить одинаковые значения) спасет отца русской демократии :-)
              Стандартные функции хороши, когда идет объем данных,есть ротация надо на уровне логов искать совпадения.

              Comment

              • wins
                Senior Member
                • Sep 2014
                • 307

                #8
                Так а не проще грепать ключевое значение, и по совпадению алярмить в сервер? Или вам принципиально хочется втащить весь лог?

                Comment

                • Alex_UUU
                  Senior Member
                  • Dec 2018
                  • 541

                  #9
                  Originally posted by wins
                  Так а не проще грепать ключевое значение, и по совпадению алярмить в сервер? Или вам принципиально хочется втащить весь лог?
                  Если грепать штатными средствами заббикса - то правильное решение.
                  Если сторонними - то нет.

                  Comment


                  • wins
                    wins commented
                    Editing a comment
                    зависит от ТЗ (а оно как видно из топика, ХЗ). Сторонние средства хороши, когда отбираешь на месте нужный результат и отправляешь его через zabbix_sender
                • Alex_UUU
                  Senior Member
                  • Dec 2018
                  • 541

                  #10
                  зависит от ТЗ (а оно как видно из топика, ХЗ). Сторонние средства хороши, когда отбираешь на месте нужный результат и отправляешь его через zabbix_sender
                  Сендер - зло :-) т.к. ликвидирует прозрачность. На сервере ты не знаешь откуда и как и что за пакет пришел или не может придти. И даже зная ключ и сервер, найти отправителя почти невозможно, т.к. это может быть и крон и друой скрипт и т.д и т.п. :-)
                  Но 30 секунд на выполнение внешней команды - мало.

                  Comment

                  Working...