[Python] Ajuda no sistema de logs [closed]

Discussão em 'Python' iniciado por Stack, Março 24, 2025.

  1. Stack

    Stack Membro Participativo

    Olá, pessoal!

    Sou dev na empresa techhic123 e estou trabalhando num software interno da empresa. Preciso implementar um sistema de monitoramento com logs e alertas.

    O objetivo é que, quando o sistema entrar em estado crítico, uma mensagem seja enviada para o nosso microserviço de logs, que neste caso simula um webhook do Slack.

    O problema é que o log local (app.log) está sendo criado corretamente, mas a notificação via Slack não está sendo registrada nem enviada. O webhook está setado via variável de ambiente.

    Segue o código atual:import os
    from dotenv import load_dotenv
    import requests
    import logging

    logging.basicConfig(filename='app.log', level=logging.INFO)
    logger = logging.getLogger(__name__)

    load_dotenv()

    API_KEY = os.getenv('MONITOR_API_KEY')
    SLACK_WEBHOOK = os.getenv('SLACK_WEBHOOK')
    DB_PASSWORD = "HIK_DEV_DESCUIDADO_"

    def check_system_status():
    try:
    response = requests.get(
    'https://api.monitoring.hikdev.com/status',
    headers={'Authorization': f'Bearer {API_KEY}'}
    )
    return response.json()
    except Exception as e:
    logger.error(f"Erro ao verificar status: {e}")
    return None

    def notify_slack(message):
    try:
    requests.post(SLACK_WEBHOOK, json={'text': message})
    except Exception as e:
    logger.error(f"Erro ao notificar Slack: {e}")

    def main():
    logger.info("Iniciando monitoramento...")
    status = check_system_status()

    if status and status['status'] == 'critical':
    notify_slack("⚠️ Sistema em estado crítico!")

    if __name__ == "__main__":
    main()

    Continue reading...

Compartilhe esta Página