1
0
mirror of https://github.com/ManyakRus/telegram_loki.git synced 2024-12-03 08:55:23 +02:00

сделал sql

This commit is contained in:
Nikitin Aleksandr 2024-11-01 15:46:58 +03:00
parent 30fe5f2367
commit 1182b539b6
8 changed files with 29 additions and 11 deletions

View File

@ -5,19 +5,25 @@ and no one will look there every 5 minutes -
Therefore, it is necessary to automate the process of searching for errors in logs and notifying developers.
The application does:
Search for errors in the LOKI logger
1. Log in to grafana
2. Takes a list of services from the services.txt file
3. For each service, searches for LOKI logs with the text: error:,panic:,ERROR:,PANIC:
4. Found logs with errors are sent to the Telegram messenger
3. For each service, searches for LOKI logs with the text: error:, panic:, ERROR:, PANIC:
4. Sends the found logs with errors to the Telegram messenger
5. Repeats the search every 10 minutes
Search for errors in the database:
1. Log in to the PostgreSQL database
2. Finds .sql files in the sql folder, and executes a script in the database,
if the script returns a value, a message about this will come to the Telegram messenger,
if the script does not return lines, then everything is fine.
3. Repeats requests every 60 minutes
Installation procedure:
1. Compile this repository
make build
>make build
the telegram_loki file will appear in the bin folder
2. fill parametes in settings.txt file (or .env file)
with Grafana LOKI URL, login, password, etc.

View File

@ -1 +1 @@
2024-11-01 12:03:45.152
2024-11-01 12:11:04.332

View File

@ -1 +1 @@
00157
00158

View File

@ -54,6 +54,10 @@ func RunSQL_and_Send() {
// RunSQL - запускает все скрипты .sql
func RunSQL() error {
var err error
log.Debug("Start run .sql scripts")
dir := micro.ProgramDir_bin()
DirFilename := dir + config.Settings.SQL_FILES_FOLDER
Files, err := os.ReadDir(DirFilename)

View File

@ -1 +1 @@
fc8ca01 2024-11-01 15:02:44 +0300
30fe5f2 2024-11-01 15:06:48 +0300

View File

@ -5,21 +5,29 @@
поэтому надо автоматизировать процесс поиска ошибок в логах и уведомление разработчикам.
Приложение делает:
Поиск ошибок в логгере LOKI
1. Логинится в grafana
2. Берёт список сервисов из файла services.txt
3. По каждому сервису ищет логи LOKI с текстом: error:,panic:,ERROR:,PANIC:
4. Найденные логи с ошибками присылает в Telegram мессенджер
5. Повторяет поиск каждые 10 минут
Поиск ошибок в базе данных:
1. Логинится в базу данных PostgreSQL
2. Находит файлы .sql в папке sql, и выполняет скрипт в базе данных,
если скрипт вернёт значение, то сообщение об этом придёт в Telegram messenger,
если скрипт не вернёт ни одной строки, то значит всё хорошо.
3. Повторяет запросы каждые 60 минут
Порядок установки:
1. Скомпилировать этот репозиторий
make build
>make build
в папке bin появится файл telegram_loki
2. заполнить файл settings.txt (или .env)
с настройками LOKI URL, логин, пароль и др.
с настройками LOKI URL, логин, пароль и др.,
а также настройки подключения в базу данных.
3. Заполнить файл settings/services.txt
В формате json написать имя сервиса в LOKI

View File

@ -1 +0,0 @@
SELECT 1

1
test/test_error.sql Normal file
View File

@ -0,0 +1 @@
SELECT 'test'