Перейти до основного вмісту

Посібники / Посібники з моніторингу: усі типи перевірок крок за кроком

Посібник із налаштування моніторингу CPU, RAM і диска

Перевірка Counter (позначена як Monitor CPU, RAM, HDD у панелі New Monitor) читає одне числове значення за розкладом і може сповіщати, коли це значення перетинає поріг, який ви задали. Значенням може бути навантаження CPU, використання пам'яті, використання диска, час з'єднання порту, час з'єднання бази даних чи лічильник продуктивності Windows. Вона відповідає на інше питання, ніж перевірка доступності: не "чи відповідає сайт", а "чи закінчується місце на машині під ним".

Перш ніж почати

Для цього типу перевірки немає встановлюваного агента HostTracker, як і немає окремого вибору Monitoring Locations для монітора. Опитування виконується з власної приватної перевірочної інфраструктури HostTracker, а не з розподіленої публічної мережі. Перевірка працює у зворотний бік: ваш сервер надає один невеликий ендпоінт, що відповідає одним числом, і HostTracker запитує його за розкладом. Є три способи надати такий ендпоінт, обрані налаштуванням Value provider нижче, і той, що ви оберете, має бути розгорнутий і досяжний, перш ніж ви створите монітор:

  • Напишіть ендпоінт самі (варіант custom). Він відповідає невеликим JSON-об'єктом, і цей варіант багато команд надають перевагу, бо на їхньому сервері ніколи не працює нічого, чого вони не написали самі.
  • Розгорніть готовий колектор PHP від HostTracker на вебсервері Linux/Unix.
  • Розгорніть готовий обробник ASP.NET 4.0 від HostTracker на сервері IIS/Windows.

Хост узагалі без вхідного доступу опитати неможливо. Що потрібно відкрити - це один URL лише для читання, що повертає число, а не порт керування, але він таки має бути відкритий для перевіряльників HostTracker.

Monitoring Source

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

  • Value provider - розкривний список із трьома варіантами. Value provider - your own web service (custom): ваш ендпоінт відповідає {"v": 12.34, "e": "error text", "vs": "version string"}, і має бути присутнє принаймні значення чи рядок помилки, тож ендпоінт, що повертає лише {"v": 42.5}, звітує 42.5 при кожній перевірці. HostTracker collector - PHP, for *nix web servers: потребує увімкненого shell_exec у php.ini (він викликає з командного рядка top, free і df), плюс розширення mysql/mysqli для читання часу з'єднання MySQL. HostTracker collector - ASP.NET 4.0, for IIS/Windows: ідентичності пулу застосунку потрібні права на читання лічильників продуктивності й реєстру, і зазвичай достатньо Network Service. Обидва готові колектори завантажуються з цього розділу і мають бути розгорнуті на цільовому сервері вручну; HostTracker ніколи нічого автоматично не надсилає на ваш сервер.
  • Поле monitor URL одразу нижче підписане Full monitor url для варіанту custom (точна адреса ендпоінта, викликана як є) або Base monitor url для готового колектора (корінь сайту, під яким розгорнуто скрипт колектора; HostTracker додає до нього власне ім'я файлу колектора).
  • Щойно обрано готовий колектор, з'являється розкривний список Counter type: CPU usage %, RAM usage %, Disk or file system usage %, Port connection time (ms), MySQL connection time (ms), і, лише для ASP.NET, SQL Server connection time (ms) і Windows performance counter. Кожен приносить власне поле: літеру диска чи шлях *nix, хост і порт, рядок з'єднання (з посиланням на приклад формату), чи трійку категорія/ім'я/екземпляр для лічильника продуктивності (екземпляр можна лишити порожнім для типового, часто _Total).

Main Settings

Для Main Settings цього типу немає окремого скриншота, тож ось кожен елемент керування в ньому:

  • Interval - від 1 хвилини до 24 годин, плюс альтернатива у вигляді cron-розкладу. Одна хвилина підходить для критично важливої для бізнесу машини; 5 чи 10 хвилин цілком достатньо для повільнішого тренду, як-от використання диска.
  • Tags - довільні мітки для групування й фільтрування моніторів.
  • Full Log - зберігає кожне окреме опитане значення замість лише згрупованих зведень.
  • Open Stats - робить сторінку статистики й логу цього монітора доступною для перегляду, зокрема людям без входу в акаунт.
  • Retry on connect fail - перемикач, увімкнений за замовчуванням, що повторює спробу один раз, перш ніж позначити невдале отримання даних як пряму помилку.
  • Елементи керування Value provider, monitor URL і Counter type, описані вище в Monitoring Source, теж живуть у цій групі на панелі.

Response Validation

Розділ Response Validation з розкривним списком Error condition, встановленим на no condition, і зведенням групи, що читається як no threshold

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

  • Error condition - на скриншоті показано типове значення, no condition, що означає, що монітор лише звітує значення без вердикту Down. Вибір equals, not equal to, less than чи greater than розкриває одне числове поле для ліміту; вибір inside range чи outside range розкриває два, нижню і верхню межу.
  • Overloads before Down - з'являється, щойно обрано будь-яку умову, крім "no condition". Це повзунок від 0 до 20: кількість послідовних перевірок, що мають уже порушувати умову, перш ніж монітор перемкнеться на Down. При 0 одне значення, що порушує умову, рахується одразу; при, наприклад, 3, потрібні три перевірки підряд понад ліміт. HostTracker оцінює це централізовано, а не машина, за якою стежать, і саме це вирішує, чи монітор корисний, чи постійно кричить "вовки!" даремно. Сервер, чиє навантаження CPU підстрибує на кілька секунд кілька разів на годину, потребує дебаунсу вище 0, інакше кожен звичайний сплеск стає сповіщенням.

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

Alert Subscriptions

Розділ Alert Subscriptions з увімкненим перемикачем Subscribe all contacts to Up/Down events і списком контактів, що показує обрані стовпці Down і Up для одного email-контакту

Оберіть, які контакти дізнаються про цей монітор і за якими подіями: Up, Down і Repeat (повторне нагадування, поки перевірка лишається в Down). Один перемикач підписує всі контакти на Up/Down одразу, або оберіть окремі контакти й події в таблиці під ним.

Report Subscriptions

Розділ Report Subscriptions з увімкненим перемикачем Subscribe all contacts to Weekly/Monthly reports і контактом, що показує обрані стовпці Weekly й Monthly

Окремо від сповіщень оберіть, хто отримує періодичні звіти для цього монітора - Daily, Weekly чи Monthly - електронною поштою.

Розібраний приклад

Стеження за місцем на диску на сервері Linux, що вже працює на PHP: розпакуйте готовий колектор PHP на сервер і підтвердіть, що він досяжний за власним URL. Встановіть Value provider на варіант колектора PHP, monitor URL - на базову адресу сайту, Counter type - на Disk or file system usage %, а шлях файлової системи - на /dev/sda1. Встановіть Error condition на greater than з лімітом 90 (відсотків), а Overloads before Down - на 3, тож потрібні три послідовні значення понад 90%, перш ніж спрацює сповіщення. Короткий сплеск від завдання резервного копіювання його не запустить, а стійке заповнення - запустить. Interval - 10 хвилин, а CPU й RAM отримують власні окремі монітори на тому самому сервері з тим самим колектором.

Діагностика

  • Колектор недосяжний. Хост узагалі без вхідного доступу опитати неможливо. Підтвердьте, що ендпоінт відповідає ззовні вашої власної мережі, на шляху, який важко вгадати, якщо ви стурбовані розкриттям, оскільки він не приймає команд і нічого не змінює.
  • Монітор сповіщає про явно неправильне число. Перевірка звітує те, що звітує колектор. Виправте ендпоінт і розгляньте, щоб він звітував опційний рядок помилки замість поганого числа, коли щось йде не так на його боці.
  • Сповіщення спрацьовують на кожен незначний сплеск. Підніміть Overloads before Down, а не сам поріг. Лишити його на 0 змушує рахуватися будь-який окремий сплеск.
  • Колектор PHP повідомляє "shell_exec is denied on server." Читання CPU, RAM і диска всі викликають системні команди з командного рядка, тож підтвердіть, що shell_exec немає у списку вимкнених функцій у php.ini.
  • Перевірка лічильника продуктивності Windows видає помилку. Ідентичності пулу застосунку потрібні права на читання лічильників продуктивності й реєстру; якщо це ще не Network Service, спробуйте встановити саме це.

Пов'язане

Перевірити зараз

Запустіть безкоштовну перевірку власного сайту - обліковий запис не потрібен.

Cpu ram disk loads

Стежити за цим постійно

Отримуйте сповіщення в момент збою: HostTracker перевіряє з понад 300 локацій і повідомляє вас електронною поштою, SMS, у Slack, Telegram та інших каналах.

Можливості HostTracker

Ще в цьому розділі: Посібники з моніторингу: усі типи перевірок крок за кроком