ITMMC

Integre o Grafana Loki e Zabbix solução 2024

Desvende os Segredos Escondidos nos seus Dados com Grafana Loki e Zabbix: Guia Completo

Imagine um mundo onde você não apenas coleta dados, mas desvenda seus mistérios ocultos. Um mundo onde gargalos de performance são expostos, anomalias são detectadas em tempo real e a causa raiz de qualquer problema é revelada em segundos. Parece ficção científica? Com a poderosa dupla Grafana Loki e Zabbix, essa realidade está ao seu alcance!

Abrace a Era da Observabilidade Total:

Esqueça as ferramentas limitadas que oferecem apenas uma visão superficial. Com o Loki, um sistema de logging de código aberto altamente escalável e fácil de usar, você mergulha em um oceano de dados de logs. E o melhor: sem indexação complexa!

Mas como o Zabbix entra nessa história?
O Zabbix apesar da capacidade de ler log não tem a mesma eficiência que o Grafana Loki.
E estava pensando uma forma de correlacionar meus alertas com o log de uma forma mais eficiente


É aqui que a mágica acontece! Através de scripts personalizados e a flexibilidade do Zabbix, você integra a análise de logs do Loki diretamente na sua plataforma de monitoramento. Imagine receber alertas precisos no momento exato em que um erro crítico é registrado, ou visualizar dashboards interativos que correlacionam logs com métricas de desempenho.

As Vantagens Clamam por Atenção:

As Possibilidades? Infinitas!

Mas porque usar o Zabbix ao inves de alertManager do Grafana dashboard?
Tenho vários motiv,como centralização de alertas, automação avanlçadas, escalonamento, açoes ativas mas o principal é para uma mentalidade voltada para a otimização e a eficiência. Ao integrar seus sistemas de monitoramento e aproveitar as capacidades de automação do Zabbix, você estará mais bem preparado para enfrentar os desafios de um ambiente de TI em constante mudança.

Abaixo criei uma passo a passo da minha solução

Para criar um monitoramento no Zabbix que consulte o Grafana Loki usando um agente Zabbix e macros para passar parâmetros, siga estas etapas:

1. Crie um Script Python no Servidor Zabbix:

Crie um script Python que será executado pelo agente Zabbix. Este script receberá a URL do Loki, a chave da API e a consulta como argumentos.

#!/usr/bin/env python3
import requests
import sys
import json

# Argumentos passados pelo Zabbix
loki_url = sys.argv[1]
api_key = sys.argv[2]
query = sys.argv[3]

headers = {
    'Authorization': f'Bearer {api_key}'
}

params = {
    'query': query
}

response = requests.get(loki_url, headers=headers, params=params)

if response.status_code == 200:
    data = response.json()
    # Aqui você pode processar os resultados da consulta do Loki (data)
    # e imprimir o valor que deseja enviar para o Zabbix.
    # Exemplo: imprimir o primeiro valor da primeira série temporal
    try:
        first_value = data['data']['result'][0]['values'][0][1]
        print(first_value)
    except IndexError:
        print(\"Nenhum dado encontrado\")
else:
    print(f\"Erro na consulta ao Loki: {response.status_code}\")

Salve este script em um local acessível pelo agente Zabbix, por exemplo, /usr/lib/zabbix/externalscripts/check_loki.py`.

Certifique-se de que o script seja executável:
chmod +x /usr/lib/zabbix/externalscripts/check_loki.py

2. Crie as Macros no Zabbix:

Crie as seguintes macros no nível de template, host ou grupo de hosts, conforme necessário:

3. Crie o Item do Zabbix:

Crie um novo item do tipo “External check” no Zabbix com as seguintes configurações:

4. Crie os Triggers e Gráficos (Opcional):

Crie triggers para gerar alertas com base nos valores retornados pelo item do Zabbix. Crie gráficos para visualizar os dados coletados.

Observações:

Sair da versão mobile