Использование IRC в качестве инструмента управления сервером?
Когда я был в небольшом доме разработчиков несколько лет назад, они использовали IRC-канал для мониторинга событий на своих серверах, например, сервера сборки, почтового сервера, http-сервера и определенных процессов, таких как сценарии оболочки или crontabs.
После того, как событие завершилось или встретило исключение, оно сообщило бы и предупредило канал IRC, который был коротким, но описательным.
Я хотел бы реализовать что-то подобное сам, так как знаю, что у меня есть два сервера, которые становятся немного утомительными, чтобы проверять вещи.
Попробовал поиск в Google, но я получаю ложные положительные результаты.
Это инструмент, который они используют, или какой-то сценарий, который они, скорее всего, использовали?
Спасибо
4 ответа
Вы можете присоединиться к силе системного журнала с этим syslog2irc
Вы можете использовать возможности системного журнала для направления интересующих вас сообщений на разные каналы, где они должны быть.
Например, вы можете использовать logger для отправки сообщений журнала из сценариев, также можно использовать команду logger для отправки сообщений непосредственно в syslog2irc (последний должен проверяться, но должен работать).
Таким образом, сочетание syslog-ng + syslog2irc + logger + ircserver выглядит многообещающе для того, что вы просите.
Вы можете просто использовать IRC с netcat:
echo 'USER bot bot2 botty botty2\nNICK bottty\nJOIN #CHANNEL\nPRIVMSG #channel :Some text!\nQUIT :All done\n' | netcat ircserver 6667
Вы можете писать простые скрипты bash и вставлять переменные.
Я думаю, Syslog - это именно то, что вы хотите. Все журналы централизованы на одном сервере и могут быть оттуда извлечены, отфильтрованы с помощью "отладки", оповещения...
Вы также можете отправлять свои собственные сообщения на него.
Поскольку это очень распространено, существует много способов оценить информацию, поступающую из системного журнала.
Вы можете использовать один из многих доступных IRC-ботов.
Например, бот работает на каждом сервере и подключается к специальному каналу irc на сервере irc.
Ваши задания cron записывают информацию в базу данных sqlite, а бот читает ее и отправляет сообщение на сервер irc.