4 вересня 2026 року ми запустили Barkme. Він стежить за сайтами, вебзастосунками та API, за які ви відповідаєте, ззовні, і гавкає тієї ж миті, коли щось із них падає. А ще він пильнує те навколо них, що ламається тихо: SSL-сертифікати, реєстрацію доменів і репутацію доменів, з яких ви надсилаєте пошту. Сповіщення приходять в Email, Slack, Telegram, Linear, Trello або на ваш вебхук, а кожен проєкт отримує публічну статус-сторінку. Почати можна на безкоштовному плані на barkme.dev.
Це, власне, і є анонс. Решта статті про те, звідки він узявся і що всередині.
Звідки він узявся
Головна функція програмного забезпечення загалом: узяти рутинну дію і перетворити її на процес. Іноді ця рутина належить клієнту. Іноді вона ваша власна, і ви помічаєте її лише тоді, коли вона вже рік тихо з'їдає ваш час.
Ми підтримуємо власні сайти: welldigit.com і сайти продуктів. Ми також підтримуємо вебзастосунки та API клієнтів, на їхніх серверах, у їхніх стеках, за їхніми доступами. Усім їм потрібне одне й те саме: хтось має швидко дізнатися, коли система перестає відповідати.
Довгий час ми вирішували це окремо в кожному контексті. Cron-задача на одному сервері. Health-check ендпоінт, під'єднаний до Slack клієнта, на іншому. Третій клієнт узагалі без нічого, бо доступ до його інфраструктури і був суттю проєкту, а додати туди наш моніторинг означало ще одну річ, яку треба підтримувати й передавати.
Кожне рішення окремо було розумним. Разом вони були технічним боргом. Різні доступи, різні інструменти, різні люди, які знали, куди приходять сповіщення. І жодне з них не дивилося на сайт звідти, де перебувають користувачі: ззовні.
UptimeRobot, Pingdom і Datadog існують і добре роблять свою справу. Ми їх розглядали. Але пішли своїм шляхом з двох причин. Ми хотіли щось максимально просте, монітор за три кліки. І хотіли, щоб сповіщення приходили туди, де ми і наші клієнти вже живемо: Telegram, Email, Slack, Linear, Trello. Дашборд, який хтось має не забути відкрити, це місце, де сповіщення помирають.
Тож ми його зробили, спочатку поставили на власні ресурси, потім на клієнтські, а тепер він публічний.
Що саме треба відстежувати
Чи повертає ендпоінт 2xx? Чи відповідає він за кілька секунд? З цього всі починають, і це найменш цікава частина, бо повне падіння більшість команд рано чи пізно помічає. Дорогі збої тихі.
Ваш домен потрапляє в чорний список з причини, якої ви ніколи не дізнаєтеся, і DNS-резолвери з фільтрацією безпеки перестають його резолвити. Сервер у порядку. Ваш моніторинг зелений. Частина відвідувачів просто не отримує нічого.
Домен, з якого ви надсилаєте транзакційні листи, позначають як спам. Підтвердження замовлень, скидання паролів і рахунки починають іти в нікуди, і першим вам про це скаже клієнт, який чекає вже три дні.
Або випадок, з яким ви, я майже впевнений, стикалися хоча б раз: домен закінчується, або SSL-сертифікат. Ніхто не проігнорував лист від реєстратора. Він просто був спрямований на людину, яка налаштовувала домен два роки тому, або на скриньку, якої вже не існує. Сайт перетворюється на паркувальну сторінку, і ніхто в команді не дізнається про це, поки не дізнається клієнт.
Це радше збої уваги, ніж інженерні збої, і трапляються вони в проміжках між інструментами, які в кожної команди вже є. Саме для цього болю створено Barkme: швидко дізнаватися, коли щось не так, і дізнаватися раніше, ніж вам про це повідомить клієнт чи покупець.
Що він робить
Перевірка доступності лише відправна точка. Решта: те, що насправді потрібно навколо неї.
Перевірки доступності. Barkme надсилає HTTP GET на кожну URL-адресу ззовні, як це робив би користувач, кожні 30 секунд, хвилину, 2 хвилини або 5 хвилин. Відповідь 2xx вважається "працює". Усе інше вважається "лежить": редирект 3xx, помилка 4xx чи 5xx, таймаут, збій DNS або TLS. У кожного монітора власний таймаут, від 1 до 120 секунд, тож "чи відповідає" і "чи відповідає достатньо швидко" перевіряються одночасно.
Закінчення SSL і домену. Кожен підтверджений домен перевіряється раз на день, і ви отримуєте попередження за 30, 14, 7 і 1 день до закінчення сертифіката або реєстрації домену. Кожен поріг спрацьовує один раз. Нікому не потрібне щоденне нагадування; потрібне одне, яке неможливо пропустити.
Репутація домену. Раз на день, за двома незалежними напрямами. Веб-репутація порівнює DNS-відповідь для вашого домену від резолверів з фільтрацією безпеки (Cloudflare, AdGuard, загрозові фіди Quad9) із відповіддю чистих резолверів, тож ви дізнаєтеся тієї ж миті, коли фільтри починають блокувати сайт для відвідувачів. Поштові чорні списки: домен перевіряється у Spamhaus DBL, SURBL та URIBL, саме ці списки вирішують, чи дійде ваш лист. Одне сповіщення, коли домен потрапляє до списку, із назвами джерел, і одне, коли з нього виходить.
Публічні статус-сторінки. Одна жива сторінка на проєкт, з аптаймом за 90 днів по кожному монітору, оновлюється приблизно щохвилини. На безкоштовному плані вона живе на піддомені barkme.dev. Платні плани віддають її з вашого домену, на кшталт status.acme.com. URL-адреси моніторів ніколи не показуються, а сторінка позначена як noindex.
Команди. Власник, адміністратори та учасники з очікуваними ролями: лише власник керує оплатою, адміністратори налаштовують спільні канали й запрошують людей, учасники користуються дашбордом.
Як це працює, простими словами
Три кроки.
- Підтвердьте, що домен ваш. Додайте один TXT-запис на apex-домені: хост
@, значенняbarkme-verify=і далі токен, який покаже Barkme. Зазвичай це займає близько двох хвилин, а підтвердження apex-домену покриває всі піддомени і всі URL-адреси під ним. Це робиться один раз на домен. - Додайте монітор. URL-адреса та інтервал. Це вся форма.
- Під'єднайте канал. Email, Slack, Telegram, Linear, Trello або власний вебхук. Перш ніж щось запрацює, Barkme надсилає через канал справжнє тестове сповіщення, тож перший "гав", який ви отримаєте, буде тим, про який ви попросили.
Далі Barkme стукає на вашу адресу за розкладом. Коли перевірка не проходить, він повторює її через дві секунди, і лише дві невдалі перевірки поспіль відкривають інцидент: усього чотири невдалі запити. Одиничний збій вас не розбудить. Монітор з інтервалом 30 секунд повідомляє приблизно за хвилину.
Коли сайт повертається, інцидент закривається на першій успішній перевірці, і ви отримуєте повідомлення про відновлення із загальним часом простою. Повільно відкриваємо, швидко закриваємо.
Що всередині
Кілька деталей, які мають значення, коли ви починаєте на це покладатися.
Інцидент датується першою невдалою перевіркою, тож вікно підтвердження зараховується проти вашого аптайму. Та хвилина входить у цифру на вашій статус-сторінці.
У монітора одночасно може бути лише один відкритий інцидент. Двогодинне падіння дає одне сповіщення й одне повідомлення про відновлення, скільки б перевірок не провалилося між ними.
Linear і Trello роблять більше, ніж сповіщення. Інцидент автоматично відкриває задачу або картку і закриває її, коли сайт відновлюється, тож нікому не доводиться розбирати сповіщення, яке само собою вирішилося годину тому. Linear і Trello працюють лише з інцидентами; попередження про закінчення терміну та репутацію йдуть на Email, Slack, Telegram і вебхук.
Вебхук надсилає кожен інцидент, кожне попередження про закінчення терміну й кожне репутаційне сповіщення на ваш HTTPS-ендпоінт як JSON, підписаний заголовком X-Barkme-Signature: HMAC-SHA256 від часової мітки та сирого тіла запиту. Перерахуйте його на своєму боці, і ви знаєте, що запит прийшов від нас.
Часові мітки зберігаються в UTC і показуються у вибраному вами часовому поясі, тож зміна поясу ніколи не переписує історію, а перехід на літній час не може зіпсувати тривалість інциденту.
Якщо ви колись перейдете на менший план і вийдете за його ліміти, зайві монітори буде поставлено на паузу. Нічого не видаляється. Найстаріші монітори продовжують працювати, а решта повертається, коли ви знову підвищите план.
Це рішення, які ухвалюєш після того, як сам отримував погані сповіщення.
Канали
Email, Slack і Telegram для людей. Linear і Trello для беклогу. Підписаний вебхук для всього іншого.
Email і Telegram: персональні канали, кожен учасник команди під'єднує власні. Slack, Linear, Trello і вебхук: спільні, одне призначення на команду, налаштовує власник або адміністратор. Будь-який канал можна вимкнути, не видаляючи.
Плани
| Free | Founder | Pro | |
|---|---|---|---|
| Ціна | $0 | $19/міс | $39/міс |
| Підтверджені домени | 1 | 5 | 50 |
| Монітори | 3 | 30 | Без обмежень |
| Інтервал перевірки | 1 хвилина | 30 секунд | 30 секунд |
| Канали сповіщень | Email, Slack, Telegram | Усі канали, плюс Linear, Trello і вебхук | |
| Статус-сторінка | На піддомені barkme.dev | Власний домен | Власний домен |
| Сповіщення про SSL і домен | Так | Так | Так |
| Сповіщення про репутацію домену | Так | Так | Так |
| Місця в команді | 1 | 5 | Без обмежень |
Free: це справжній план, а не пробний період. Один домен, три монітори, перевірки щохвилини, сповіщення про закінчення терміну та репутацію включно. Оплату на платних планах обробляє Paddle, а зміна чи скасування плану застосовується одразу.
Як почати
Зайдіть на barkme.dev і створіть акаунт, картка не потрібна. Підтвердьте домен, додайте URL-адресу, під'єднайте канал. Якщо хочете спершу побачити весь процес, сторінка how it works проводить через нього екран за екраном, а у FAQ є точні ліміти та граничні випадки.
Ми користуємося Barkme для власних сайтів і для сайтів клієнтів. Це шар нагляду, який стоїть поза вашим сервером і поза налаштуваннями вашого домену, і часом саме цей інший кут зору ловить проблему.
Дізнавайтеся раніше за всіх.
Barkme працює на barkme.dev. Почніть на безкоштовному плані, додайте сайти, за які відповідаєте, і дозвольте йому гавкати.