Ad Widget

Collapse

Мониторинг сервиса - ElasticSearch, почему не работает

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • D.Frolov
    Member
    • Apr 2020
    • 95

    #1

    Мониторинг сервиса - ElasticSearch, почему не работает

    1. Есть проблема после рестарта иногда не запускается ElasticSearch
    2. Решил повесить на эту службу мониторинг, чтобы быть в курсе, когда такое происходит
    3. Пошел искать решение, нашел item - proc.num, по логике должен показывать сколько процессов запушено, для bash показывает, для nginx показывает, для elastisearch, kibana, logstash кажет нули
    (см. скрин)

    Click image for larger version

Name:	ELK.png
Views:	284
Size:	280.5 KB
ID:	472879



  • Answer selected by Kos at 24-10-2023, 11:31.
    Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    Первый параметр метрики proc.num - это имя процесса (ссылка).
    В вашем случае системная служба elasticsearch запускает процесс по имени java, а служба kibana - процесс node. Это видно даже по вашему скриншоту, если посмотреть для каждой службы строку в графе "Main PID". Поэтому таких процессов он и не находит.

    Поскольку процессов java в системе может быть запущено много и для самых разных нужд, то имеет смысл использовать в четвёртом параметре регулярное выражение для командной строки, чтобы идентифицировать нужный процесс (либо по пути к запускаемому бинарнику, либо по параметрам).
    Например:
    Code:
    proc.num[java,,,/usr/share/elasticsearch/jdk/bin/java]
    proc.num[node,,,"node .* --pid.file=/run/kibana/kibana.pid"]
    ​

    Comment

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

      #2
      Первый параметр метрики proc.num - это имя процесса (ссылка).
      В вашем случае системная служба elasticsearch запускает процесс по имени java, а служба kibana - процесс node. Это видно даже по вашему скриншоту, если посмотреть для каждой службы строку в графе "Main PID". Поэтому таких процессов он и не находит.

      Поскольку процессов java в системе может быть запущено много и для самых разных нужд, то имеет смысл использовать в четвёртом параметре регулярное выражение для командной строки, чтобы идентифицировать нужный процесс (либо по пути к запускаемому бинарнику, либо по параметрам).
      Например:
      Code:
      proc.num[java,,,/usr/share/elasticsearch/jdk/bin/java]
      proc.num[node,,,"node .* --pid.file=/run/kibana/kibana.pid"]
      ​

      Comment

      • D.Frolov
        Member
        • Apr 2020
        • 95

        #3
        Originally posted by Kos
        Первый параметр метрики proc.num - это имя процесса (ссылка).
        В вашем случае системная служба elasticsearch запускает процесс по имени java, а служба kibana - процесс node. Это видно даже по вашему скриншоту, если посмотреть для каждой службы строку в графе "Main PID". Поэтому таких процессов он и не находит.

        Поскольку процессов java в системе может быть запущено много и для самых разных нужд, то имеет смысл использовать в четвёртом параметре регулярное выражение для командной строки, чтобы идентифицировать нужный процесс (либо по пути к запускаемому бинарнику, либо по параметрам).
        Например:
        Code:
        proc.num[java,,,/usr/share/elasticsearch/jdk/bin/java]
        proc.num[node,,,"node .* --pid.file=/run/kibana/kibana.pid"]
        ​
        1. Спасибо за подробный и поясняющий ответ, теперь и на уровне Linux стало более понятно.
        2. Все, что вы написали работает и ссылка на документацию в тему.

        Еще раз спасибо, все коротко, понятно и абсолютно по делу.

        Comment

        • Hamardaban
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • May 2019
          • 2713

          #4
          Кстати в версии 6.4.6 агента под ubuntu что-то поломали и у меня перестали работать регулярные выражения для командной строки в этом ключе.
          Использовал ровно также для java приложения…

          Comment

          • Alex_UUU
            Senior Member
            • Dec 2018
            • 541

            #5
            Originally posted by Hamardaban
            Кстати в версии 6.4.6 агента под ubuntu что-то поломали и у меня перестали работать регулярные выражения для командной строки в этом ключе.
            Использовал ровно также для java приложения…
            Может другой пакет стал использоваться? Не POSIX, а какой-то свой?

            Тут у меня один скрипт на BSD не работал, выдавал ошибку shю ПРи этом выполняя его вручную - все ок.
            Потом до меня дошло, что я его выполнял под /bin/bash и там все четко, а вот под sh - выдает ошибку. Заббикс под sh запускает процессы.
            Скрипт был
            if [ "$xyz" == "" ]
            Заменил на
            if [ -z "$xyz" ]
            все заработало.

            Comment

            Working...