1
0
mirror of https://github.com/ManyakRus/telegram_loki.git synced 2024-12-04 21:05:12 +02:00
Go to file
2024-11-14 13:42:09 +03:00
bin сделал telegram_bot 2024-11-14 13:42:09 +03:00
bin_prod сделал telegram_bot 2024-11-13 17:17:01 +03:00
cmd сделал telegram_bot 2024-11-14 13:39:16 +03:00
docs сделал если только ошибки - то напишем в телеграм 2024-09-13 11:30:54 +03:00
internal сделал telegram_bot 2024-11-14 13:42:09 +03:00
pkg/version сделал telegram_bot 2024-11-14 13:42:09 +03:00
test сделал sql 2024-11-01 15:46:58 +03:00
vendor сделал telegram_bot 2024-11-14 10:09:59 +03:00
.gitignore сделал telegram_bot 2024-11-14 13:37:42 +03:00
.golangci.yml сделал Pause_ctx() 2024-09-27 11:01:30 +03:00
go.mod сделал telegram_bot 2024-11-14 10:09:59 +03:00
go.sum сделал telegram_bot 2024-11-14 10:09:59 +03:00
LICENSE Create LICENSE 2024-03-19 15:49:05 +03:00
make_version.sh сделал make mod 2024-10-28 09:48:56 +03:00
Makefile сделал telegram_bot 2024-11-13 18:03:11 +03:00
README.md сделал DeveloperName 2024-11-07 14:06:19 +03:00
readme.rus сделал DeveloperName 2024-11-07 14:06:19 +03:00

Applications for sending logs with errors from the LOKI(GRAFANA) logger to the Telegram messenger

The LOKI logger has an inconvenient interface for searching errors in application logs, 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, including the name of the service and the name of the person responsible
  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
  4. If you fill in the scripts.txt file (scripts_add.txt), including the .sql file name and the name of the person responsible, then the name of the person responsible will also be added.

Installation procedure:

  1. Compile this repository

make build the telegram_loki file will appear in the bin folder

  1. fill parametes in settings.txt file (or .env file) with Grafana LOKI URL, login, password, etc.

  2. Fill in the settings/services.txt file In json format write the service name in LOKI and the name (login) of the programmer (optional) sample: { "test-service1": "@DeveloperTelegramName" }

  3. Run the telegram_loki file

Source code in Golang language. Tested on Linux Ubuntu Readme from 10/13/2023

License: Save information about the author and the site.

Made by Alexander Nikitin https://github.com/ManyakRus/telegram_loki