https://github.com/jtprogru/sitemon
Простая система мониторинга доступности веб-сервисов работающих по HTTP(S)
https://github.com/jtprogru/sitemon
monitoring sentry telegram webmonitoring
Last synced: 11 months ago
JSON representation
Простая система мониторинга доступности веб-сервисов работающих по HTTP(S)
- Host: GitHub
- URL: https://github.com/jtprogru/sitemon
- Owner: jtprogru
- Created: 2021-11-03T18:49:20.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-12-25T13:50:00.000Z (over 4 years ago)
- Last Synced: 2025-03-16T07:16:43.456Z (about 1 year ago)
- Topics: monitoring, sentry, telegram, webmonitoring
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sitemon
Мониторинг сайтов с уведомлением
Основано на статье с Habr:
- [Мониторинг демон на Asyncio + Dependency Injector — руководство по применению dependency injection](https://habr.com/ru/post/514384/)
Каналы уведомлений:
- Telegram
- Email
- etc
Пример конфигурационного файла `config.yml`:
```yaml
log:
level: "DEBUG"
format: "[%(asctime)s] [%(levelname)s] [%(name)s]: %(message)s"
sentry:
dsn: "https://1231231231231231231238cc0375b556@o412493.ingest.sentry.io/5383803"
telegram:
token: "123456789:qwertyuiopasdfghjkzxcvbnm"
chat: "-12123123123"
monitors:
jtprog:
method: "GET"
url: "https://jtprog.ru"
timeout: 15
check_every: 60
httpbin:
method: "GET"
url: "https://httpbin.org/get"
timeout: 5
check_every: 90
```
## Задачи
Вводные: В качестве вводных данных имеется исключительно вышеупомянутый конфиг.
Необходимо реализовать:
- автоматическое перечитываение конфига (по таймеру, по триггеру ФС, по команде боту в телеграм, any way);
- автоматический парсинг объектов мониторинга – секция `monitors` – объекты должны именоваться так же как в конфиге, иметь те же поля и настройки;
- etc