mirror of
https://github.com/ManyakRus/telegram_loki.git
synced 2024-12-04 21:05:12 +02:00
сделал sql
This commit is contained in:
parent
30fe5f2367
commit
1182b539b6
14
README.md
14
README.md
@ -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.
|
Therefore, it is necessary to automate the process of searching for errors in logs and notifying developers.
|
||||||
|
|
||||||
The application does:
|
The application does:
|
||||||
|
Search for errors in the LOKI logger
|
||||||
1. Log in to grafana
|
1. Log in to grafana
|
||||||
2. Takes a list of services from the services.txt file
|
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:
|
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
|
4. Sends the found logs with errors to the Telegram messenger
|
||||||
5. Repeats the search every 10 minutes
|
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:
|
Installation procedure:
|
||||||
1. Compile this repository
|
1. Compile this repository
|
||||||
make build
|
>make build
|
||||||
the telegram_loki file will appear in the bin folder
|
the telegram_loki file will appear in the bin folder
|
||||||
|
|
||||||
|
|
||||||
2. fill parametes in settings.txt file (or .env file)
|
2. fill parametes in settings.txt file (or .env file)
|
||||||
with Grafana LOKI URL, login, password, etc.
|
with Grafana LOKI URL, login, password, etc.
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
2024-11-01 12:03:45.152
|
2024-11-01 12:11:04.332
|
@ -1 +1 @@
|
|||||||
00157
|
00158
|
@ -54,6 +54,10 @@ func RunSQL_and_Send() {
|
|||||||
|
|
||||||
// RunSQL - запускает все скрипты .sql
|
// RunSQL - запускает все скрипты .sql
|
||||||
func RunSQL() error {
|
func RunSQL() error {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
log.Debug("Start run .sql scripts")
|
||||||
|
|
||||||
dir := micro.ProgramDir_bin()
|
dir := micro.ProgramDir_bin()
|
||||||
DirFilename := dir + config.Settings.SQL_FILES_FOLDER
|
DirFilename := dir + config.Settings.SQL_FILES_FOLDER
|
||||||
Files, err := os.ReadDir(DirFilename)
|
Files, err := os.ReadDir(DirFilename)
|
||||||
|
@ -1 +1 @@
|
|||||||
fc8ca01 2024-11-01 15:02:44 +0300
|
30fe5f2 2024-11-01 15:06:48 +0300
|
||||||
|
14
readme.rus
14
readme.rus
@ -5,21 +5,29 @@
|
|||||||
поэтому надо автоматизировать процесс поиска ошибок в логах и уведомление разработчикам.
|
поэтому надо автоматизировать процесс поиска ошибок в логах и уведомление разработчикам.
|
||||||
|
|
||||||
Приложение делает:
|
Приложение делает:
|
||||||
|
Поиск ошибок в логгере LOKI
|
||||||
1. Логинится в grafana
|
1. Логинится в grafana
|
||||||
2. Берёт список сервисов из файла services.txt
|
2. Берёт список сервисов из файла services.txt
|
||||||
3. По каждому сервису ищет логи LOKI с текстом: error:,panic:,ERROR:,PANIC:
|
3. По каждому сервису ищет логи LOKI с текстом: error:,panic:,ERROR:,PANIC:
|
||||||
4. Найденные логи с ошибками присылает в Telegram мессенджер
|
4. Найденные логи с ошибками присылает в Telegram мессенджер
|
||||||
5. Повторяет поиск каждые 10 минут
|
5. Повторяет поиск каждые 10 минут
|
||||||
|
|
||||||
|
Поиск ошибок в базе данных:
|
||||||
|
1. Логинится в базу данных PostgreSQL
|
||||||
|
2. Находит файлы .sql в папке sql, и выполняет скрипт в базе данных,
|
||||||
|
если скрипт вернёт значение, то сообщение об этом придёт в Telegram messenger,
|
||||||
|
если скрипт не вернёт ни одной строки, то значит всё хорошо.
|
||||||
|
3. Повторяет запросы каждые 60 минут
|
||||||
|
|
||||||
|
|
||||||
Порядок установки:
|
Порядок установки:
|
||||||
1. Скомпилировать этот репозиторий
|
1. Скомпилировать этот репозиторий
|
||||||
make build
|
>make build
|
||||||
в папке bin появится файл telegram_loki
|
в папке bin появится файл telegram_loki
|
||||||
|
|
||||||
|
|
||||||
2. заполнить файл settings.txt (или .env)
|
2. заполнить файл settings.txt (или .env)
|
||||||
с настройками LOKI URL, логин, пароль и др.
|
с настройками LOKI URL, логин, пароль и др.,
|
||||||
|
а также настройки подключения в базу данных.
|
||||||
|
|
||||||
3. Заполнить файл settings/services.txt
|
3. Заполнить файл settings/services.txt
|
||||||
В формате json написать имя сервиса в LOKI
|
В формате json написать имя сервиса в LOKI
|
||||||
|
@ -1 +0,0 @@
|
|||||||
SELECT 1
|
|
1
test/test_error.sql
Normal file
1
test/test_error.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
SELECT 'test'
|
Loading…
Reference in New Issue
Block a user