Моніторинг системи за допомогою електронних повідомлень


11

На даний момент у мене є сервер Ubuntu 16.04 LTS, і я хочу мати можливість отримувати сповіщення електронною поштою з інформацією про використання ресурсів на своєму сервері. Процесор, пам'ять, своп, ви його називаєте.

Я розумію, що я можу використовувати погляди для локального моніторингу, але я не буду постійно на консолі дивитись інформацію. Мені просто потрібні сповіщення електронною поштою, які інформують мене про ресурси, які перевищують нормальні / критичні значення та отримують сповіщення.

Хтось знає про метод, який дозволяє мені це зробити?


netdata ідеально підходить для ваших потреб.
luv.preet

Відповіді:


13

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

Майте на увазі, що налаштування Nagios або Icinga займе певний час, поки ви не матимете ідеально працюючої установки, яка охоплює / контролює всі існуючі послуги. Старт, швидше за все, не такий простий, але як тільки ви працюєте, це прекрасна установка, яка повідомляє про всі ваші визначені служби, якщо держави зміняться так, що є репортажним / визначеним як критичне

Назви та посилання проектів

Перш за все - короткий огляд:

Налаштування клієнта та сервера

Інше цікаве програмне забезпечення

Індивідуальні налаштування хоста

Більше інформації

Про Нагіос

Про це пише Вікіпедія

Nagios / ˈnɑːɡiːoʊs /, тепер відомий як Nagios Core, це безкоштовне та відкрите джерело комп'ютерного програмного забезпечення, яке контролює системи, мережі та інфраструктуру. Nagios пропонує послуги з моніторингу та оповіщення для серверів, комутаторів, додатків та служб. Він попереджає користувачів, коли справи йдуть не так, і попереджає їх вдруге, коли проблема вирішена.

Приклад зображення - відображає 1 з кількох переглядів у вас:

введіть тут опис зображення

Ось хороший пост AskUbuntu про те, як встановити Nagios . Nagios Exchange пропонує величезну колекцію плагінів, аддонів, документації, розширень тощо.

Про Муніна

Про це пише Вікіпедія

Munin - це безкоштовне програмне забезпечення для моніторингу комп'ютерних систем із відкритим кодом, мережевого моніторингу та моніторингу інфраструктури. Він пропонує послуги моніторингу та оповіщення для серверів, комутаторів, додатків, служб тощо. Він попереджає користувачів про те, що справи йдуть не так, і попереджує їх вдруге, коли проблема вирішена.

Приклад зображення

введіть тут опис зображення

Про Інкінгу

Про це пише Вікіпедія

Icinga - це комп'ютерна система з відкритим кодом та програма моніторингу мережі. Спочатку він був створений як вилка програми моніторингу системи Nagios у 2009 році.

Icinga намагається уникнути сприйняття коротких результатів в процесі розробки Nagios, а також додає нові функції, такі як сучасний користувальницький інтерфейс у стилі Web 2.0, додаткові роз'єми бази даних (для MySQL, Oracle та PostgreSQL) та API REST, дозволяє адміністраторам інтегрувати численні розширення без складної модифікації ядра Icinga.

Приклад зображення із 1 переглядом:

введіть тут опис зображення

Про спеції

Wikipedia пише:

Spiceworks - це професійна мережа для галузі інформаційних технологій (ІТ) зі штаб-квартирою в Остіні, Техас. Компанія була заснована в січні 2006 року Скоттом Абелем, Джеєм Холлбергом, Грегом Каттаваром та Френсісом Салліваном для створення програмного забезпечення для управління ІТ.

Spiceworks - це спільнота в Інтернеті, де користувачі можуть співпрацювати та звертатися за порадою один до одного, а також брати участь у ринку для придбання пов'язаних з ІТ послуг та продуктів. За оцінкою мережі використовують більше шести мільйонів ІТ-фахівців та 3000 постачальників технологій.

Про моніт

Про це пише Вікіпедія

Monit - це безкоштовний інструмент нагляду за процесами з відкритим кодом для Unix та Linux. За допомогою Monit стан системи можна переглядати безпосередньо з командного рядка або через власний веб-сервер HTTP (S). Моніт піднявся на популярність разом із Ruby on Rails та веб-сервером Mongrel [потрібна цитата], оскільки потрібен був інструмент, який міг би керувати багатьма однаковими процесами Mongrel, які потрібно було запустити для підтримки масштабованого Ruby на сайті Rails, а Monit був досить унікальним підходить для потреб громади Ruby on Rails. Багато популярних сайтів Rails використовували Monit, включаючи Twitter та scribd.

Про кактуси

Wikipedia пише:

Кактуси - це веб-інструмент для моніторингу та графіки мереж з відкритим кодом, розроблений як додаткове додаток для відкритого джерела, стандартного інструменту реєстрації даних RRDtool. Кактуси дозволяють користувачеві опитувати сервіси за заздалегідь визначені інтервали та графікувати отримані дані. Зазвичай використовується для графіки даних часових рядів таких показників, як завантаження процесора та використання пропускної здатності мережі. Поширене використання - моніторинг мережевого трафіку шляхом опитування мережевого комутатора або інтерфейсу маршрутизатора за допомогою простого протоколу управління мережею (SNMP).

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

Про Заббікс

Вікіпедія пише:

Zabbix - це програмне забезпечення для моніторингу відкритих джерел для мереж та додатків, створене Олексієм Владишевим. Він призначений для моніторингу та відстеження стану різних мережевих служб, серверів та іншого мережевого обладнання.

Zabbix використовує MySQL, PostgreSQL, SQLite, Oracle або IBM DB2 для зберігання даних. Її вихідний текст написаний на C, а веб-інтерфейс - у PHP. Zabbix пропонує кілька варіантів моніторингу


4

Можна використовувати кілька розчинів. Один з них є monit.

У командному рядку просто запустіть таку команду:

sudo apt-get install monit

Тепер Monit має бути встановлений і доступний через одну з таких URL-адрес:

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Конфігурація Monit

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

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Далі створіть новий monitrcфайл за допомогою команди

sudo /etc/monit/monitrc 

і скопіюйте в неї наступний вміст.

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert admin@domain.com but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert admin@domain.com 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

Рядки, які починаються з #, - це коментарі, які допоможуть вам налаштувати конфігурацію. Переконайтеся, що у вас принаймні правильно налаштовано електронну пошту адміністратора, SMTP-сервер та порт SMTP. Також слід розглянути можливість зміни імені користувача та пароля Monit WebUI. Якщо у вас є сертифікат SSL, ви можете це ввімкнути і для доступу до HTTPS

Поки що використовуйте наступні команди, щоб переконатися, що Monit працює добре.

Щоб перевірити Monitконфігурацію на помилки синтаксису:

sudo monit -t

Щоб запустити Monit:

sudo monit

Щоб перевірити стан Monit:

sudo monit status

Моніторинг навантаження на систему з Monit

Потрібно, щоб у вас був робочий екземпляр Monit з належним /etc/monit/monitrcфайлом. Конфігурації Monit для різних служб завантажуються з /etc/monit/conf.dпапки. Щоб контролювати завантаження сервера Monit, створіть Monitфайл конфігурації за допомогою наступної команди:

sudo /etc/monit/conf.d/systemload

Скопіюйте в неї наступний вміст, збережіть та вийдіть

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

Цей код Monitнадішле вам сповіщення електронною поштою, коли буде виконано одну з перерахованих вище умов (наприклад, середнє навантаження >4принаймні на 1 хв або коли більше, ніж 75% RAMна повне). Ви можете налаштувати вищезазначені правила за своїм бажанням. Нижче наведено приклад сповіщення електронною поштою, надісланого Monitразом із описом того, який стан спричинив сповіщення.

Випробування та перезавантаження Monit

Після внесення будь-яких змін вам доведеться перевірити Monitконфігурацію:

sudo monit -t

Ви повинні побачити таке повідомлення: Control File Syntax OK.

Потім перевірте, чи Monitвже запущено за допомогою наступної команди:

sudo /etc/init.d/monit status

Якщо Monitзапущено, перезавантажте Monitконфігурації за допомогою наступної команди:

sudo /etc/init.d/monit reload

Тепер запустіть веб-браузер і відвідайте одну з таких URL-адрес, залежно від налаштування вашого Monit (обов'язково використовуйте правильний номер порту):

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Ви повинні побачити стан системи, навантаження, завантаження процесора, навантаження на пам'ять та навантаження на обмін

Моніторинг зберігання за допомогою Monit

Далі потрібно мати робочий Monitекземпляр із належним /etc/monit/monitrcфайлом. Monitконфігурації для різних служб завантажуються з /etc/monit/conf.dпапки. Для моніторингу простору диска за допомогою Monit, create aфайлу конфігурації Monit, використовуючи таку команду:

sudo /etc/monit/conf.d/storagespace

Скопіюйте в неї наступний вміст, збережіть та вийдіть

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

Код вище коду буде контролювати простір на жорсткому диску в 3-х розділах на 2 дисках. Якщо будь-яка з них перевищує 90%, ви отримаєте попередження.

Також ви можете відстежувати певні послуги.

Монітор сервера Apache з Monit

Налаштування моніторингу сервера Apache за Monitдопомогою Monit’sпопередньо виготовлених шаблонів конфігурації. Все , що вам потрібно зробити , це скопіювати існуючий шаблон з /etc/monit/monitrc.dдо /etc/monit/conf.dпапці.

sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/

Замість копіювання ви також можете створити символічне посилання. Процес веб-сервера Apache створює apache2.pid. Вищезазначений apache2.pidфайл монітора коду, і якщо його не існує, Monitспробує перезапустити Apache. Перезапуск призведе до сповіщення електронною поштою. Якщо перезапуск не вдається кілька разів, Monit припиняє моніторинг сервера Apache.

...


2

Ви також можете ознайомитись із SeaLion. Ви можете встановити спеціальні сповіщення щодо використання процесора, пам'яті тощо. Крім того, ви також можете додати власні показники та налаштувати сповіщення для них. Крім того, ви можете запланувати виконання команд через певні проміжки часу і бачити їх результати на дисплеї часової шкали. Більше про це можна дізнатися тут .


1

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

Я довго шукав і натрапив на 2 продукти, які можуть прочитати електронні листи вашого звіту та попередити вас про необхідність вжити заходів.

  1. PRTG Ви можете налаштувати поштові фільтри для пошуку електронної пошти, що містить певні слова. Це було трохи складно зробити.
  2. Інтернет-інструмент під назвою wwww.smtpviewer.com насправді виконує цю роботу, а також встановлений час очікування, який попереджатиме вас, коли електронна пошта з ваших контрольованих пристроїв не надходила протягом встановленого часу.

Багато поштових клієнтів вже мають можливість фільтрувати, сортувати, тегувати ... пошту. Тож я насправді не бачу необхідності зовнішнього рішення для цього. Наприклад, я використовую фільтр Thunderbird для цього, наприклад, уже багато років. Якщо поштовий сервер підтримує його, ви також можете використовувати сценарії Sieve для фільтрування, сортування, тегів, ... листів безпосередньо на сервері.
Геннінг Кокербек

0

У моїй школі наш учитель провів навчання Pandora FMS, моніторингового рішення, яке охоплює моніторинг сервера, програми та навіть мережі!

Я знав Заббікс і Нагіос до того часу, я ніколи раніше не чув про це рішення, але тепер я базую свій проект в ньому через додаткові можливості, які він надає. Частина серверного моніторингу дійсно зріла, і на мою думку, простіше налаштувати та отримати статистику продуктивності якнайшвидше: http://pandorafms.com/monitoring-solutions/server-monitoring/


-1 комерційний пакет ...
Fabby

0

Хоча це зовсім не те, що ви хочете з коробки, я вважаю logwatchнадзвичайно корисним, але простим інструментом.

Він дає вам щоденний підсумок всіх подій, що відбулися у вашому /var/logкаталозі, а також деякої іншої важливої ​​системної інформації, наприклад, поточного місця на диску. Все, що відсутнє, можна додати досить просто (наприклад, я додав сценарій, який перевіряє, що певні демони все ще запущені).


0

З того, що я розумію, ваша потреба дуже основна. Ви хочете надіслати текстовий вміст електронної пошти для пошуку конкретних ключових слів, а потім отримувати сповіщення, коли це відбувається. Тому лише тоді, коли, наприклад, електронна адреса містить слово "провал", про яке ви хочете отримувати повідомлення, а не тоді, коли воно містить успіх. Я також використовую www.smtpviewer.com, як згадував Джон Grobbelaar, щоб отримувати сповіщення. Перевага використання онлайн-інструменту полягає в тому, що ви завжди можете отримувати повідомлення, коли очікуваний електронний лист не надходить. З усіх інструментів монітора пошти я грав із цим найпростішим, і це лише одне.


Здається, це не відповідає на питання. Будь ласка, перефразуйте це, щоб відповісти на запитання, або видаліть цю відповідь / перенесіть її до коментаря. Дякую, і ласкаво просимо до Ask Ubuntu!
zwork
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.