Ранее настроить сервер Nagios для мониторинга было легко, поскольку все серверы агентов статичны. Но вот и AWS. Как мы спроектируем / сконфигурируем, чтобы сервер Nagios мог автоматически отправлять правильные конфигурации проверки на каждый из серверов, масштабируемых вверх / вниз, и как мы узнаем, что, когда сервер уменьшается или увеличивается, Nagios не будет говорить, что это было предупреждение или проблема, и вместо этого он скажет, что «это ваш сервер уменьшается».
IP-адреса в AWS не статичны после масштабирования серверов ASG с увеличением / уменьшением. Как нам получить эту информацию? И скажите Nagios, чтобы он знал о новых настройках серверов. Возможно, когда серверы уменьшатся, удалите конфигурацию из Nagios, а когда серверы увеличатся, отправьте конфигурацию в Nagios. И сразу же проводите активные проверки хостов и сервисов.
Клиентская сторона в AWS ничем не отличается - ваш AMI или система управления конфигурацией настраивает NRPE, устанавливает плагины и т. Д. В соответствии с требованиями вашей среды.
На стороне сервера все идет безумно. Как вы заметили, AWS ASG являются динамическими, поэтому ваша конфигурация Nagios также должна быть динамической. Фактически это означает, что «источник истины» для вашей конфигурации должен находиться где-то за пределами Nagios, и у вас есть что-то, что запрашивает это хранилище данных и записывает файлы конфигурации (и перезагружает Nagion), когда что-либо изменяется. Здесь вам пригодится выбранный вами язык сценариев. Что касается «источника истины», существует любое количество систем регистрации и обнаружения сервисов, которые подойдут для этой цели, но для простых случаев использования запрос к API EC2 для получения списка экземпляров работает достаточно хорошо.
Затем вам нужно научить ваши экземпляры EC2 регистрироваться в выбранной вами системе обнаружения сервисов при запуске и отменять регистрацию, когда они полностью завершаются. Есть веский аргумент в пользу того, что вам никогда не следует беспокоиться о том, что одна машина умирает, и я согласен с этим, но если вы используете Nagios, ваша организация, вероятно, очень настроена на «машины важны!» И Попытка изменить это в мгновение ока будет сложной задачей, поэтому со временем вам, возможно, придется узнать, что вы сейчас занимаетесь животноводством, а не владельцем зоомагазина.
Как объяснил @womble, ваше решение nagios должно быть динамическим. Проверить этот блог который объясняет все решение со сценариями, и он отлично работает для меня.