Table of Contents

Grafana Loki + ИИ для мониторинга журналов, или Как не пропустить что-то неожиданное

Реклама

Техническое задание

Запись вебинара

Шаг 1. Что у нас есть, для начала

На следующей итерации

rm /usr/local/bin/mywall.sh

Шаг 2. Мониторинг Web приложения

Шаг 3. От мониторинга к наблюдаемости

# cat /usr/local/bin/mywall_through_llm.sh
#!/bin/sh

export BASE_URL=http://val.bmstu.ru:8080/v1
export API_KEY=1234567890abcdefg
export MODEL_ID=ornith-1.5:9b

#export BASE_URL=https://ai.api.cloud.yandex.net/v1
#export API_KEY=...
#export MODEL_ID=gpt://b1gg4j6ru4esprat3uu7/deepseek-v4-flash/latest

PROMPT="Проанализируй строки журнала и очень кратко объясни, почему не работает?"

MESSAGE=$(curl -s http://localhost:3100/loki/api/v1/query_range \
        --data-urlencode 'query={service_name=~".+"}' \
        --data-urlencode 'limit=10' \
        | jq -r '.data.result[].values[][1]' \
        | /usr/local/bin/openai_request_to_llm.py $PROMPT)

for MY_T in $(w | grep pts | awk '{print $2}')
do
        echo "$MESSAGE" > /dev/$MY_T
done

Ваши вопросы?

Подготовка к вебинару

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