Ad Widget

Collapse

zabbix-agent Timeout 30sec

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • 0x7eebcc
    Junior Member
    • Sep 2019
    • 2

    #1

    zabbix-agent Timeout 30sec

    Есть Centos 7 и сабж 3.0.28
    И какая-то проблема с тем, что zabbix-agent просто игнорирует настройки таймаута и тупо считает что айтем не в тонусе.
    Для проверки делаю файл /etc/zabbix/zabbix_agentd.d/measure.conf
    UserParameter=measure[*], sleep $1 && echo $1
    и делаю 6 разных айтемов с

    measure[0]
    measure[1]
    measure[2]
    measure[3]
    measure[5]
    measure[25]

    после чего в логах имеем

    13465:20190907:170538.367 Zabbix agent item "measure[5]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170553.374 resuming Zabbix agent checks on host "Test": connection restored

    13465:20190907:170557.376 Zabbix agent item "measure[25]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170615.383 resuming Zabbix agent checks on host "Test": connection restored

    13465:20190907:170619.385 Zabbix agent item "measure[5]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170636.391 resuming Zabbix agent checks on host "Test": connection restored

    13465:20190907:170640.393 Zabbix agent item "measure[25]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170657.400 resuming Zabbix agent checks on host "Test": connection restored

    13465:20190907:170701.401 Zabbix agent item "measure[5]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170716.650 resuming Zabbix agent checks on host "Test": connection restored

    13465:20190907:170720.652 Zabbix agent item "measure[5]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170737.658 resuming Zabbix agent checks on host "Test": connection restored

    13465:20190907:170741.665 Zabbix agent item "measure[25]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170758.673 resuming Zabbix agent checks on host "Test": connection restored

    13465:20190907:170802.675 Zabbix agent item "measure[5]" on host "Test" failed: first network error, wait for 15 seconds

    13465:20190907:170817.877 resuming Zabbix agent checks on host "Test": connection restored

    т.е. для значений от 0 до 3 - все норм, данные собираются, графики строятся
    все что больше 3х - в ошибках

    В zabbix_agentd.conf имеем

    ### Option: Timeout
    # Spend no more than Timeout seconds on processing
    Timeout=30

    Если попытаться поставить больше - законно падает с соответствующим сообщением

    Кто знает в чем проблема?
    И вообще странно что таймаут нельзя указать больше 30сек, хотя исходя из этого получается больше 3х не работает
  • 0x7eebcc
    Junior Member
    • Sep 2019
    • 2

    #2
    Короче проблема была найдена и пофиксена.
    Оказывается в конфиге сервера тоже есть параметр Timeout
    И по-умолчанию там стоит 4сек
    Его можно увеличить, но тоже до 30сек.

    По мне, таймаут должен быть не фиксированным, а зависящим от периодичности опроса. Если к моменту следующего опроса время еще не пришел ответ от предыдущего - нет смысла запускать следующий.
    Точнее, может и есть сервисы, когда можно запускать. Но это должно быть настраиваемым.
    Потому как если я мониторю БД, например с помощью запроса - то если БД поплохело настолько, что она не состоянии ответить на этот запрос - то новый запрос будет только вбивать новый гвоздь в крышку гроба этой БД.
    По текущей схеме получается что я имею только пару общих параметров - этот таймаут и время восстановления, т.е. период перед следующей попыткой.
    Но кто мешает вообще не указывать этот таймаут? Или как обычно в таких случаях писать 0?
    И почему нужно иметь его общим? Если есть 10-к сервисов, где есть пинг, загрузка веб странички и проверка БД - если не придет пинг, то его можно смело повторить через сек. Загрузку странички, где нет обращения к БД - можно и через 5 сек, а если не ответила БД - точнее если нормальный ответ БД это 3-4сек, то нет никакой гарантии что это не станет 1 мин.
    Но у нас есть только 30сек, чтобы его получить.
    Если период опроса 1мин, то через 30сек мы отвалимся, пометим сервис не рабочим, сделаем 2ю попытку через 15сек, и к моменту 2го запроса будем смотреть пришло ли нам хоть что нибудь?
    Ок, а если это был пинг? И нам нужно мониторить его по 5сек? Не получив ответ - мы сделаем паузу на 15сек, хотя для него можно следующий запрос безболезненно делать и через 1сек.
    А для БД я бы например следующую попытку делал через 15 мин - ситуации бывают разными. Или не делал вообще.
    Так почему эти параметры общие и нет возможности сделать их индивидуальными для каждого айтема?

    Да, у нас есть zabix-sender. Вроде как механизм для асинхронного опроса для долго-отвечающих сервисов. Ок. Но что тогда получится? Есть периодичность опроса - и как там будет решаться проблема с тем, что ответ от предыдущего еще не пришел? Кто задержит новый? Есть такая настройка? А без такой что получится? Zabbix будет с регулярностью опроса вбивать гвозди в умерший сервис? Не комильфо однако.

    Я конечно в настройках сабжа новичек. До этого юзал нагиус. И только краем уха до меня доходили слухи о том, что есть какая-то проблема с 30сек.
    Вот теперь сам нарвался и да. По мне проблема есть. И получается больше в ДНК.

    Может оно большинству и не важно - раз уж его юзают уже больше 10лет.
    Но может разработчики задумаются над этим вопросом? И сделают как правильно?

    Всем удачи


    Comment

    Working...