Skip to content

Este projeto é um serviço web que monitora eventos e envia notificações para diferentes canais (Slack, Telegram e e-mail), além de reiniciar containers Docker quando necessário.

License

Notifications You must be signed in to change notification settings

oMaestro174/webhook-notify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notificador de Eventos com Reinicio de Container

Este projeto é um serviço web que monitora eventos e envia notificações para diferentes canais (Slack, Telegram e e-mail), além de reiniciar containers Docker quando necessário.

Estrutura do Projeto

  • webhook.py: Arquivo principal contendo a lógica do Flask para receber webhooks, enviar notificações e reiniciar containers.
  • config.json: Arquivo de configuração contendo as informações dos canais (Slack, Telegram e e-mail).

Pré-requisitos

  • Python 3.8+
  • Docker
  • Flask
  • Requests
  • smtplib (para envio de e-mails)

Instalação

  1. Clone o repositório:

    git clone https://github.com/oMaestro174/webhook-notify.git
    cd webhook-notify
  2. Crie um ambiente virtual e instale as dependências:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate  # Windows
    pip install -r requirements.txt
  3. Configure o config.json com suas informações de Slack, Telegram e e-mail.

Configuração

Estrutura do config.json

{
    "telegram": {
        "alertasCetif": {
            "token": "SEU_TELEGRAM_BOT_TOKEN",
            "chat_id": "SEU_CHAT_ID"
        },
        "outroCanal": {
            "token": "SEU_OUTRO_TOKEN",
            "chat_id": "SEU_OUTRO_CHAT_ID"
        }
    },
    "slack": {
        "alertas": "https://hooks.slack.com/services/SEU/WEBHOOK/URL",
        "outroCanal": "https://hooks.slack.com/services/OUTRO/CANAL/WEBHOOK"
    },
    "email": {
        "smtp_server": "smtp.seudominio.com",
        "smtp_port": 587,
        "smtp_user": "[email protected]",
        "smtp_password": "sua_senha",
        "recipients": [
            "[email protected]",
            "[email protected]"
        ]
    }
}

Uso

Inicializar o Servidor

  1. Inicie o servidor Flask:
python webhook.py
  1. O servidor estará disponível em http://0.0.0.0:5000.

Endpoints

  • Slack: /webhook/slack/
  • Telegram: /webhook/telegram/
  • Email: /webhook/email

Exemplko de payload

{
    "monitor": {
        "name": "Nome do Monitor"
    },
    "heartbeat": {
        "status": 1,
        "localDateTime": "2023-05-26T12:34:56",
        "timezone": "America/Sao_Paulo"
    },
    "msg": "Mensagem de teste"
}

Contribuição

  1. Faça um fork do projeto.
  2. Crie uma branch para sua feature (git checkout -b feature/fooBar).
  3. Faça commit das suas alterações (git commit -am 'Add some fooBar').
  4. Faça push para a branch (git push origin feature/fooBar).
  5. Crie um novo Pull Request.

Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

About

Este projeto é um serviço web que monitora eventos e envia notificações para diferentes canais (Slack, Telegram e e-mail), além de reiniciar containers Docker quando necessário.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published