1
0
mirror of https://github.com/ManyakRus/telegram_loki.git synced 2024-12-04 21:05:12 +02:00
telegram_loki/readme.rus

66 lines
3.5 KiB
Plaintext
Raw Normal View History

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
Приложение делает:
2024-11-01 14:46:58 +02:00
Поиск ошибок в логгере LOKI
2023-10-13 15:40:52 +02:00
1. Логинится в grafana
2024-11-07 13:06:19 +02:00
2. Берёт список сервисов из файла services.txt,
в том числе имя сервиса и имя ответственного
2023-10-13 15:40:52 +02:00
3. По каждому сервису ищет логи LOKI с текстом: error:,panic:,ERROR:,PANIC:
4. Найденные логи с ошибками присылает в Telegram мессенджер
5. Повторяет поиск каждые 10 минут
2023-10-11 17:04:49 +02:00
2024-11-01 14:46:58 +02:00
Поиск ошибок в базе данных:
1. Логинится в базу данных PostgreSQL
2. Находит файлы .sql в папке sql, и выполняет скрипт в базе данных,
если скрипт вернёт значение, то сообщение об этом придёт в Telegram messenger,
если скрипт не вернёт ни одной строки, то значит всё хорошо.
3. Повторяет запросы каждые 60 минут
2024-11-07 13:06:19 +02:00
4. Если заполнить файл scripts.txt (scripts_add.txt),
в том числе имя файла .sql и имя ответственного,
2024-11-14 14:23:17 +02:00
то будет ещё добавлять имя ответственного.
2024-11-01 14:46:58 +02:00
2024-11-15 08:40:07 +02:00
Бот отправляет логи ошибок в Телеграмм группы:
1. Общая группа со всеми ошибками, всех программистов.
ИД группы заполняется в settings.txt, TELEGRAM_CHAT_NAME=
В настройках Телеграм группы надо поставить права Тип группы = "Публичная"
2. Каждому программисту отдельно, только логи которые относятся к нему.
Заполняется в файлах services.txt, scripts.txt
Каждый программист должен сам добавить себе в Телеграм этого телеграм бота
2023-10-11 17:04:49 +02:00
Порядок установки:
2023-10-13 15:40:52 +02:00
1. Скомпилировать этот репозиторий
2024-11-01 14:46:58 +02:00
>make build
2023-10-13 15:40:52 +02:00
в папке bin появится файл telegram_loki
2023-10-11 17:04:49 +02:00
2024-11-01 14:02:44 +02:00
2. заполнить файл settings.txt (или .env)
2024-11-01 14:46:58 +02:00
с настройками LOKI URL, логин, пароль и др.,
а также настройки подключения в базу данных.
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
Лицензия:
2024-11-14 14:23:17 +02:00
GPL 2, сохранять информацию об авторе и сайте.
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