Як моніторити наявність світла, коли провайдер не пропускає запити до роутера
Всім привіт.
Рішень для моніторингу вже перелічена ціла купа, але вони всі спираються на можливість зовнішнього доступу до домашньої мережі. В мене провайдер такого доступу не надає — навіть при відомому зовнішньому IP (який можна, наприклад, записати з роутера на Cloudflare), все одно запити до цього IP не проходять до роутера.
Недовго думаючи, прийшов до рішення, де не моніторинг питає роутер, а навпаки — роутер каже моніторингу, що він живий, а система моніторинга періодично перевіряє наявність свіжих пінгів та повідомляє мені, якщо їх немає. Спочатку накрутив своє рішення з Firebase. Firebase — хороша платформа для простих проєктів, бо там безплатно надають як http-функцій, так і базу та планувальник завдань.
(Зазначу, що проблема в пінгах з роутера в тому, що там обмежене середовище, як за наявністю бібліотек, так і банально за обсягом вільного місця. Тому, наприклад, закидувати метрику у AWS Cloudwatch мене не влаштовувало — для цього потрібно писати більш складний клієнт. Хотілося щось таке, щоб отримувало пінг найпростішим HTTP запитом, який легко виконується командою wget
або curl
.)
Поки я шукав аналоги та мріяв про монетизацію свого рішення, підказали сервіс, що вже вирішує поставлену задачу — Healthchecks.io. Власне, він робить саме те, що я хотів — збирає пінги, та повідомляє, коли вони перестають. Пінги відправляються звичайнісіньким GET запитом. Повідомлення уходять у різноманітні сервіси, проміж яких і пошта, і Slack, і навіть вебхуки. Сервіс безкоштовний (я з ним ніяк не повʼязаний.)
Від вас залишається додати до роутера Cron-скрипт, який відправлятиме пінги. (Якщо роутер такого не дозволить, то можна робити пінги з компʼютера, але ж тоді компʼютер треба тримати увімкненим.)
Така система працює просто ідеально та спростила для мене комунікацію з командою — бо повідомити, що в тебе немає звʼязку, коли в тебе немає звʼязку — проблема-парадокс. (До речі, у мене до Healthchecks.io підключений не Slack напряму, а за допомогою вебхуків сервіс IFTTT, який вже відправляє у командний Slack більш красиві повідомлення.)
18 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів