Ad Widget

Collapse

Несколько интерфейсов у хоста. Как это работает?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • yumashka
    Junior Member
    • Aug 2024
    • 1

    #1

    Несколько интерфейсов у хоста. Как это работает?

    День добрый всем.

    Есть линуксовая машина с двумя интерфейсами, подключенными к разным провайдерам. На обоих интерфейсах - белые IP. На хосте веб-сайт и zabbix агент.
    Zabbix сервер - на внешнем VPS. В data collection для хоста:
    • шаблоны "Linux by Zabbix agent", "Nginx by Zabbix agent", "ICMP ping"
    • два интерфейса с типом "Агент" с разными IP адресами
    Все настроено и вроде бы работает, метрики приходят, все красиво.

    Провайдеры иногда падают, при этом линк остается, но перестают ходить пакеты, даже шлюз не пингуется.
    Хотелось бы поиметь failover. То есть, если один провайдер отваливается, то
    1. агент по прежнему доступен через второго провайдера
    2. агент рапортует, что провайдер отвалился
    Что происходит сейчас:
    • В списке хостов дефолтный интерфейс показывает Available, а второй Unknown.
    • Если отваливается дефолтный интерфейс, то получаем два пункта в проблемах: "Zabbix agent is not available" и "Unavailable by ICMP ping"
    • Если отваливается не-дефолтный интерфейс, то в проблемах - тишина.
    Вопрос 1: зачем нужны и как работают несколько интерфейсов с одним типом?
    Вопрос 2: как реализовать свою хотелку?

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

    #2
    Originally posted by yumashka
    Вопрос 1: зачем нужны и как работают несколько интерфейсов с одним типом?
    Вопрос 2: как реализовать свою хотелку?
    Могу попытаться ответить на первый вопрос.
    Бывают ситуации, когда вы хотите, чтобы сервер Zabbix проверял работоспособность агента Zabbix, обращаясь к нему по разным IP-адресам, чтобы убедиться, что оба интерфейса доступны. Тогда можно в свойствах хоста добавить второй интерфейс, прописав там дополнительный IP-адрес; после этого в настройках хоста для каждого элемента данных в поле "интерфейс" станет возможным выбрать: который из интерфейсов использовать для опроса. Интерфейс по умолчанию используется только при добавлении нового элемента данных (например, если присоединить новый шаблон, то имеющиеся в нём элементы данных с типом "агент Zabbix" будут опрашивать именно интерфейс по умолчанию). Но для каждого элемента данных используемый им интерфейс можно выбрать явно, автоматического переключения между ними нет.

    С вопросом 2 сложнее. Если при проблемах с провайдером полностью отваливается один из интерфейсов, то нужно делать независимые проверки каждого из этих интерфейсов. Тут можно либо добавить, как это у вас сейчас, второй интерфейс, и какие-то из проверок дублировать на втором интерфейсе (но тут нужно иметь в виду, что в пределах одного хоста все ключи элементов данных должны быть уникальными, и потребуется обеспечить эту уникальность), либо завести второй хост, для которого прописать другой IP-адрес и присоединить те же шаблоны (в этом случае дублироваться будут все проверки, но отвечать на них будет один и тот же агент).

    Comment

    • zbx34587
      Junior Member
      • Jul 2024
      • 1

      #3
      Originally posted by Kos
      Могу попытаться ответить на первый вопрос.
      Бывают ситуации, когда вы хотите, чтобы сервер Zabbix проверял работоспособность агента Zabbix, обращаясь к нему по разным IP-адресам, чтобы убедиться, что оба интерфейса доступны. Тогда можно в свойствах хоста добавить второй интерфейс, прописав там дополнительный IP-адрес; после этого в настройках хоста для каждого элемента данных в поле "интерфейс" станет возможным выбрать: который из интерфейсов использовать для опроса. Интерфейс по умолчанию используется только при добавлении нового элемента данных (например, если присоединить новый шаблон, то имеющиеся в нём элементы данных с типом "агент Zabbix" будут опрашивать именно интерфейс по умолчанию). Но для каждого элемента данных используемый им интерфейс можно выбрать явно, автоматического переключения между ними нет.

      С вопросом 2 сложнее. Если при проблемах с провайдером полностью отваливается один из интерфейсов, то нужно делать независимые проверки каждого из этих интерфейсов. Тут можно либо добавить, как это у вас сейчас, второй интерфейс, и какие-то из проверок дублировать на втором интерфейсе (но тут нужно иметь в виду, что в пределах одного хоста все ключи элементов данных должны быть уникальными, и потребуется обеспечить эту уникальность), либо завести второй хост, для которого прописать другой IP-адрес и присоединить те же шаблоны (в этом случае дублироваться будут все проверки, но отвечать на них будет один и тот же агент).
      спасибо за ответ, как раз у самого сейчас вопрос.
      это так задумывалось или все таки похоже на доработку? я тоже (и видимо не я один) полагал ,что разные интерфейсы нужны в том числе для того, чтобы zabbix сервер опрашивал 2-й, n_й, если первый отваливается?

      Comment

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

        #4
        Originally posted by zbx34587
        спасибо за ответ, как раз у самого сейчас вопрос.
        это так задумывалось или все таки похоже на доработку? я тоже (и видимо не я один) полагал ,что разные интерфейсы нужны в том числе для того, чтобы zabbix сервер опрашивал 2-й, n_й, если первый отваливается?
        Видимо, так и задумывалось. Автоматического переключения между интерфейсами в Zabbix-е никогда не было.

        Comment

        • Alex_UUU
          Senior Member
          • Dec 2018
          • 541

          #5
          Хм. "Так вот но чё, Михалыч" (с).
          Получается можно создать два ЭД, например Пинг, на 1 хосте, одному указать один интерфейс. другому - другой и будут мониториться оба интерфейса.
          Но проблема с ключами, должны быть разными.

          Так.... а если активных проверок нет, то пофигу на имя хоста.
          Создаем два хоста, с разными именами (мы то знаем, что это один). Одному указываем один интерфейс, другому - другой. И вот у нас пассивные проверки раболтаю, данные собираются.
          А дальше уже можно выкаблучиваться через агрегацию.

          Как вечер, так всегда какую-нить ахинею несу :-)

          Comment


          • Semiadmin
            Semiadmin commented
            Editing a comment
            А еще можно задискаверить интерфейсы через zabbix[host,discovery,interfaces] и сделать прототип для пинга
        Working...