Випадковий сервер у службі nagios

У мене кластер з N вузлів, який містить деяку розподілену інформацію. Запит, який я хочу контролювати за допомогою nagios , має сенс виконувати лише на одному вузлі кластера (будь-який). Але я не хочу перевантажувати один вузол, тому я хочу, щоб nagios кожного разу вибирати випадковий вузол зі списку вузлів.

Отже, я очікую побачити щось подібне:

define service{
    service_description    Recent document time for the cluster
    hostgroup_name         random
    ...
}

де random hostgroup так чи інакше визначає випадковий вузол з попередньо визначеного списку вузлів кластера.

Чи можна це робити з nagios3? Будь-які пропозиції?

1

5 Відповіді

Не могли б ви налаштувати DNS, щоб дати вам випадковий хост для певного імені?

Можна також написати спеціальну перевірку служби.

If you REALLY want this feature in nagios...hack the source

4
додано
Тільки те, що я мав намір запропонувати - єдине питання, яке виникає в тому, як уникнути попадання хоста, який в Нагіосі наразі позначений як невдалий.
додано Автор MagicAndi, джерело
гм ... дуже цікаво. Я спробую це. Уникнення невдалих хостів не є великою проблемою, тому що це нормально для мене, якщо ця перевірка також виходить з ладу ...
додано Автор HattrickNZ, джерело

Я не вірю, що це можливо зробити за допомогою назіо. Але це можна зробити за допомогою спеціального скрипту перевірки, що реалізовано на вашій мові. Просто перевірте скрипт вибирайте випадковий (або круговий і т.д.) вузол кожен раз при його запуску.

1
додано
так, це, як ми робимо це прямо зараз, але я думав, що було ще одне краще рішення, щоб зробити його нативним, так як він вимагає для зберігання вузлів кластера "IP-адреси в 2 місцях ... один раз в Nagios для інших запитів і один раз в цьому скрипті \ t .
додано Автор HattrickNZ, джерело

Наскільки мені відомо, якщо ви користуєтеся користувальницьким плагіном, який ви написали, це має бути досить тривіальним, щоб додати опцію, яка випадково витягує з декількох пропущених хостів, і перевіряти лише одну з них.

Ви згадуєте, що є N вузлів, я не думаю, що всі вони сидять за деяким VIP, що тільки вказує на один вузол, і переходить до іншого вікна, коли це необхідно?

Трохи більше опису налаштування було б корисно, якщо ми не знайдемо нічого, я був би радий допомогти вам придумати щось, навіть якщо це звичай.

1
додано

У мене є check_nrpe обгортка, що робить це. Я створюю хост-об'єкт з об'єктом "name", який задається як "RANDOM-001" (також підтримує 'RNDRBN-001'). Коли оболонка check_nrpe бачить це, вона використовує кінцеві цифри, щоб вибрати зі списку Perl імена хостів серверів, щоб відправити чек. Потім просто додайте це як ім'я хоста до опису служби перевірки. Остання версія оболонки захоплює імена хостів у файлі hostiosups.cfg.

1
додано
Чи можете ви показати з деяким кодом, як ви це робите? Оскільки така відповідь не є корисною. Більш докладна інформація зробить її набагато кориснішою для інших.
додано Автор Natalie Weizenbaum, джерело
Я спробую. Не хочете порушувати розрив у коді роботи/персоналу.
додано Автор samb, джерело
додано Автор samb, джерело

Ще одне рішення для цього - запустити перевірку на кожному сервері вузлів і компенсувати час за допомогою планувальника завдань/cron, після чого перевірити вивести результати на центральне місце. Ви можете мати відповідну перевірку результатів у цьому файлі.

Таким чином, вам не доведеться нічого змінювати в Nagios при додаванні нового вузла, і це може бути просто частиною вашої установки вузла.

Це не найчистіше рішення, але може допомогти вам в цьому.

1
додано
IT KPI iOS
IT KPI iOS
74 учасників

Чат обсуждения IOS. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/602

ios_jobs_ua
ios_jobs_ua
27 учасників

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.