Gotcher
Описание
Цель проекта заключается в том, чтобы организовать наблюдения за лог-файлами, с установленным периодом проверять в них наличие поисковых фраз и оповещать пользователя в случае их обнаружения. Оповещения отправляются по почте, в Telegram или в Vk.
Настройки
Настройки программы расположены в папке /usr/local/etc/gotcher
/usr/local/etc/gotcher/sender.yaml
sender: "email"
email:
smtp_host: "smtp.mail.local"
smtp_port: 465
user: "admin@domain.local"
password: "password"
to: ["admin@domain.local"]
vk:
access_token: "token"
user_id: "1234567890"
telegram:
bot_token: "token"
chat_id: "1234567890"
VK
Отправка сообщений выполняется от имени группы.
Вы должны создать новую или использовать имеющуюся.
Токен можно найти в разделе: Управление - Работа с API - Ключи доступа
Telegram
Отправка сообщений выполняется от имени бота.
Вы должны создать нового или использовать имеющегося.
Токен можно получить при создании бота: https://t.me/BotFather
/usr/local/etc/gotcher/entrypoints/example.yaml
Описание настроек:
- name: Имя наблюдателя;
- file_path: Путь к лог-файлу;
- check_interval: Период проверки (от 5s); Формат: h:m:s;
- cooldown_between_checks: Время ожидания между проверками, если последняя нашла совпадения;
- lines_to_send: Количество строк для отправки;
- 0: Отправить весь лог;
- 1: Отправить найденную строку;
- > 1: Отправить указанное количество строк, после найденной;
- notify_after_error_status_change: Оповестить если совпадения не найдены, если последняя проверка их нашла;
- tracked_phrases: Искомые фразы.
log_files:
- name: "Example"
file_path: "/usr/local/etc/gotcher/logs/example.log"
check_interval: "5s"
cooldown_between_checks: "0s"
lines_to_send: 2
notify_after_error_status_change: true
tracked_phrases: ["Build failed", "Error"]
docker-compose.yaml
Пользователь для работы с файлами: 1000:1000
services:
gotcher:
# Безопасность
security_opt:
- no-new-privileges:true
tmpfs:
- /tmp:rw,noexec,nosuid
# Настройки контейнера
container_name: gotcher
image: aligotr/gotcher:latest
restart: unless-stopped
volumes:
- /srv/gotcher/data/:/usr/local/etc/gotcher/:rw
- /var/log/:/var/log/:rw
Описание
Программа для наблюдения за лог-файлами и оповещения о событиях