2023-10-13 15:40:52 +02:00
|
|
|
Приложения для отправки логов с ошибками из логгера LOKI(GRAFANA) в мессенджер Telegram
|
2023-10-11 17:04:49 +02:00
|
|
|
|
2023-10-13 15:40:52 +02:00
|
|
|
В логгере LOKI неудобный интерфейс для поиска ошибок в логах приложений,
|
|
|
|
и никто не будет туда смотреть каждые 5 минут -
|
|
|
|
поэтому надо автоматизировать процесс поиска ошибок в логах и уведомление разработчикам.
|
2023-10-11 17:04:49 +02:00
|
|
|
|
2023-10-13 15:40:52 +02:00
|
|
|
Приложение делает:
|
|
|
|
1. Логинится в grafana
|
|
|
|
2. Берёт список сервисов из файла services.txt
|
|
|
|
3. По каждому сервису ищет логи LOKI с текстом: error:,panic:,ERROR:,PANIC:
|
|
|
|
4. Найденные логи с ошибками присылает в Telegram мессенджер
|
|
|
|
5. Повторяет поиск каждые 10 минут
|
2023-10-11 17:04:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
Порядок установки:
|
2023-10-13 15:40:52 +02:00
|
|
|
1. Скомпилировать этот репозиторий
|
2023-10-11 17:04:49 +02:00
|
|
|
make build
|
2023-10-13 15:40:52 +02:00
|
|
|
в папке bin появится файл telegram_loki
|
2023-10-11 17:04:49 +02:00
|
|
|
|
|
|
|
|
2023-10-13 15:40:52 +02:00
|
|
|
2. сделать файл .env с заполненными параметрами:
|
|
|
|
TELEGRAM_APP_ID=
|
|
|
|
TELEGRAM_APP_HASH=
|
|
|
|
TELEGRAM_PHONE_FROM=
|
|
|
|
TELEGRAM_PHONE_SEND_TEST=
|
|
|
|
LOKI_URL=
|
2023-10-23 09:29:01 +02:00
|
|
|
LOKI_SEARCH_TEXT="\\\\[ERROR\\\\]|\\\\[PANIC\\\\]|level=error|level=panic"
|
2023-10-13 15:40:52 +02:00
|
|
|
GRAFANA_LOGIN=
|
|
|
|
GRAFANA_PASSWORD=
|
|
|
|
TELEGRAM_CHAT_NAME=
|
2023-10-19 08:40:16 +02:00
|
|
|
TELEGRAM_MESSAGES_COUNT=
|
2023-10-11 17:04:49 +02:00
|
|
|
|
|
|
|
|
2023-10-13 15:40:52 +02:00
|
|
|
3. Заполнить файл settings/services.txt
|
|
|
|
В формате json написать имя сервиса в LOKI
|
|
|
|
и имя(логин) программиста (необязательно)
|
|
|
|
образец:
|
|
|
|
{
|
|
|
|
"test-service1": "@DeveloperTelegramName"
|
|
|
|
}
|
2023-10-11 17:04:49 +02:00
|
|
|
|
2023-10-13 15:40:52 +02:00
|
|
|
|
|
|
|
3. Запустить файл telegram_loki
|
2023-10-11 17:04:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
Исходный код на языке Golang.
|
|
|
|
Тестировал на Linux Ubuntu
|
2023-10-13 15:40:52 +02:00
|
|
|
Реадми от 13.10.2023
|
|
|
|
|
|
|
|
Лицензия:
|
|
|
|
Сохранять информацию об авторе и сайте.
|
2023-10-11 17:04:49 +02:00
|
|
|
|
|
|
|
Сделал Александр Никитин
|
2023-10-13 15:40:52 +02:00
|
|
|
https://github.com/ManyakRus/telegram_loki
|
2023-10-11 17:04:49 +02:00
|
|
|
|