This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
grafana_loki_ии [2026/10/12 13:23] val [Шаг 3. От мониторинга к наблюдаемости] |
grafana_loki_ии [2026/10/24 17:03] (current) val [На следующей итерации] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Grafana Loki + ИИ для мониторинга журналов, или Как не пропустить что-то неожиданное ====== | ====== Grafana Loki + ИИ для мониторинга журналов, или Как не пропустить что-то неожиданное ====== | ||
| + | * [[https://habr.com/ru/articles/1065610/|ИИ-агент 4 месяца дежурит на наших прод-логах]] | ||
| ===== Реклама ===== | ===== Реклама ===== | ||
| Line 13: | Line 14: | ||
| ===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
| - | * Тэги: | + | * Тэги: Prometheus, Grafana Loki, Observability, AI Agent |
| * Рутуб: | * Рутуб: | ||
| * Ютуб: | * Ютуб: | ||
| Line 19: | Line 20: | ||
| ===== Шаг 1. Что у нас есть, для начала ===== | ===== Шаг 1. Что у нас есть, для начала ===== | ||
| + | * Курс [[Prometheus, Grafana, Loki - Observability]] (все необходимое для шага 2 и 3) | ||
| + | * http://192.168.13.10/mail/ | ||
| + | * http://192.168.13.10:9090/ | ||
| + | * http://192.168.13.10:9093/ | ||
| + | * http://192.168.13.10:3000/ | ||
| + | |||
| + | * Рекламный вебинар [[Zabbix - мониторинг Web приложений]] | ||
| * Рекламный вебинар [[Использование AI-агентов]] | * Рекламный вебинар [[Использование AI-агентов]] | ||
| - | * Курс [[Prometheus, Grafana, Loki - Observability]] (все необходимое для шага 2 и 3) | ||
| + | |||
| + | ===== На следующей итерации ==== | ||
| + | |||
| + | * ? Удалить письма или оставить от алертов node-exporter | ||
| + | * ? Сервис Prometheus [[Сервис Prometheus#collector.systemd]] + дашборд в графане ? | ||
| + | <code> | ||
| + | rm /usr/local/bin/mywall.sh | ||
| + | |||
| + | server.corp13.un:~# truncate -s 0 $(docker inspect --format='{{.LogPath}}' loki) | ||
| + | </code> | ||
| ===== Шаг 2. Мониторинг Web приложения ===== | ===== Шаг 2. Мониторинг Web приложения ===== | ||
| * [[Средства программирования shell#Тестирование Web приложения на shell]] | * [[Средства программирования shell#Тестирование Web приложения на shell]] | ||
| + | |||
| * Использование push-модели сбора данных [[Сервис Prometheus#prometheus-pushgateway]] | * Использование push-модели сбора данных [[Сервис Prometheus#prometheus-pushgateway]] | ||
| * [[Сервис Prometheus#Отправка метрик из приложения]] (Пример 2) | * [[Сервис Prometheus#Отправка метрик из приложения]] (Пример 2) | ||
| * [[Сервис Prometheus#Создание правил alertmanager]] | * [[Сервис Prometheus#Создание правил alertmanager]] | ||
| + | * [[Средства программирования shell#Отправка сообщения на все консоли]] (json) | ||
| * [[Сервис adnanh/webhook]] | * [[Сервис adnanh/webhook]] | ||
| * [[Сервис Prometheus#Настройка маршрутизации уведомлений]] (Webhook) | * [[Сервис Prometheus#Настройка маршрутизации уведомлений]] (Webhook) | ||
| * [[Сервис Prometheus#Тестирование alertmanager]] | * [[Сервис Prometheus#Тестирование alertmanager]] | ||
| + | |||
| ===== Шаг 3. От мониторинга к наблюдаемости ===== | ===== Шаг 3. От мониторинга к наблюдаемости ===== | ||
| + | * Добавляем журнал RoundCube в [[Сервис OpenTelemetry#OpenTelemetry Collector]] | ||
| * [[Сервис Loki]] (извлечение логов из Grafana Loki через API) | * [[Сервис Loki]] (извлечение логов из Grafana Loki через API) | ||
| * [[Язык программирования Python#openai_request_to_llm.py]] в каталоге /usr/local/bin/ | * [[Язык программирования Python#openai_request_to_llm.py]] в каталоге /usr/local/bin/ | ||
| Line 57: | Line 78: | ||
| --data-urlencode 'limit=10' \ | --data-urlencode 'limit=10' \ | ||
| | jq -r '.data.result[].values[][1]' \ | | jq -r '.data.result[].values[][1]' \ | ||
| - | | python3 /usr/local/bin/openai_request_to_llm.py $PROMPT) | + | | /usr/local/bin/openai_request_to_llm.py $PROMPT) |
| for MY_T in $(w | grep pts | awk '{print $2}') | for MY_T in $(w | grep pts | awk '{print $2}') | ||
| Line 70: | Line 91: | ||
| ===== Подготовка к вебинару ===== | ===== Подготовка к вебинару ===== | ||
| + | <code> | ||
| + | vim /etc/prometheus/alertmanager.yml | ||
| + | |||
| + | amtool check-config /etc/prometheus/alertmanager.yml | ||
| + | |||
| + | service prometheus-alertmanager restart | ||
| + | |||
| + | apt purge webhook | ||
| + | |||
| + | rm /etc/webhook.conf | ||
| + | |||
| + | rm /usr/local/bin/openai_request_to_llm.py | ||
| + | |||
| + | apt purge python3-openai | ||
| + | |||
| + | rm /usr/local/bin/mywall_through_llm.sh | ||
| + | |||
| + | crontab -e | ||
| + | |||
| + | rm /usr/local/bin/roundcube_monitor_stat_log.sh | ||
| + | |||
| + | rm /usr/local/bin/roundcube_monitor.sh | ||
| + | |||
| + | rm /etc/prometheus/first_rules.yml | ||
| + | |||
| + | vim /etc/prometheus/prometheus.yml #-pushgateway | ||
| + | |||
| + | promtool check config /etc/prometheus/prometheus.yml | ||
| + | |||
| + | service prometheus restart | ||
| + | |||
| + | crontab -e | ||
| + | |||
| + | rm /usr/local/bin/roundcube_monitor_stat_log.sh | ||
| + | |||
| + | apt purge bc | ||
| + | |||
| + | rm /usr/local/bin/roundcube_monitor.sh | ||
| + | |||
| + | apt purge prometheus-pushgateway | ||
| + | </code> | ||
| + | * Исходная конфигурация [[Сервис OpenTelemetry#OpenTelemetry Collector]] | ||