Control de estado web
Verifica automáticamente el estado de sitios web, detecta errores comunes y envía notificaciones para mantener la disponibilidad y funcionamiento del servicio.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
GSheetCellComponent-bbcvr[Sheet Cells ]
style GSheetCellComponent-bbcvr stroke:#a170ff
CreateData-5zr0k[Create Data]
style CreateData-5zr0k stroke:#a170ff
Switch-n1nr4[Switch]
style Switch-n1nr4 stroke:#a170ff
GmailMesageComponent-enpm4[<div><img src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Gmail Message2]
style GmailMesageComponent-enpm4 stroke:#a170ff
GmailMesageComponent-hzzfk[<div><img src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Gmail Message2]
style GmailMesageComponent-hzzfk stroke:#a170ff
GmailMesageComponent-l0ex2[<div><img src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Gmail Message2]
style GmailMesageComponent-l0ex2 stroke:#a170ff
APIRequest-fg3or[API Request2]
style APIRequest-fg3or stroke:#a170ff
Prompt-6idci[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>título3xx]
style Prompt-6idci stroke:#a170ff
Prompt-3w0jh[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>cuerpo2]
style Prompt-3w0jh stroke:#a170ff
Prompt-dmgnv[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>título4xx]
style Prompt-dmgnv stroke:#a170ff
Prompt-8br5u[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>cuerpo4xx]
style Prompt-8br5u stroke:#a170ff
Prompt-8utdo[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>título5xx]
style Prompt-8utdo stroke:#a170ff
Prompt-s80c7[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>cuerpo5xx]
style Prompt-s80c7 stroke:#a170ff
CreateData-5zr0k -.- Switch-n1nr4
linkStyle 0 stroke:#a170ff
GSheetCellComponent-bbcvr -.- APIRequest-fg3or
linkStyle 1 stroke:#a170ff
APIRequest-fg3or -.- CreateData-5zr0k
linkStyle 2 stroke:#a170ff
Prompt-6idci -.- Prompt-3w0jh
linkStyle 3 stroke:#a170ff
Prompt-3w0jh -.- GmailMesageComponent-enpm4
linkStyle 4 stroke:#a170ff
Switch-n1nr4 -.- Prompt-6idci
linkStyle 5 stroke:#a170ff
Switch-n1nr4 -.- Prompt-dmgnv
linkStyle 6 stroke:#a170ff
Switch-n1nr4 -.- Prompt-8utdo
linkStyle 7 stroke:#a170ff
Prompt-dmgnv -.- Prompt-8br5u
linkStyle 8 stroke:#a170ff
Prompt-8utdo -.- Prompt-s80c7
linkStyle 9 stroke:#a170ff
Prompt-8br5u -.- GmailMesageComponent-hzzfk
linkStyle 10 stroke:#a170ff
Prompt-s80c7 -.- GmailMesageComponent-l0ex2
linkStyle 11 stroke:#a170ff
Controle de estado web
🧩 Visão geral
Este fluxo de trabalho automatiza o monitoramento da saúde de sites verificando seus códigos de status HTTP. Ele lê uma lista de nomes e URLs de sites de um documento do Google Sheets, realiza requisições HTTP para cada site e categoriza as respostas. Com base no código de status (ex.: 3xx, 4xx, 5xx), ele gera e envia automaticamente notificações por e-mail personalizadas via Gmail para alertar sobre possíveis problemas, como redirecionamentos, erros do cliente ou falhas do servidor.
⚙️ Principais Funcionalidades
- Busca dados de sites em lote de uma planilha do Google Sheets.
- Realiza requisições HTTP paralelas para verificar o status de vários sites de forma eficiente.
- Cria dinamicamente registros de dados contendo o nome do site e seu código de status HTTP.
- Encaminha os dados para diferentes ramos de processamento com base na categoria do código de status usando um interruptor condicional.
- Gera assuntos e corpos de e-mail específicos para cada contexto, de acordo com os diferentes tipos de erro.
- Envia e-mails de notificação via Gmail para sites com códigos de status problemáticos.
🔄 Etapas do Fluxo de Trabalho
| Nome do Componente | Função no Fluxo de Trabalho | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Células da Planilha | Busca a lista inicial de sites a serem monitorados de um documento do Google Sheets. | Intervalo do Google Sheets contendo nomes e URLs dos sites. | Dados em lote com nomes e URLs dos sites. |
| Requisição API | Realiza uma requisição HTTP GET para cada URL de site para recuperar seu código de status. | Lista de URLs dos sites. | Dados da resposta HTTP, incluindo o código de status para cada site. |
| Criar Dados | Constrói um registro de dados unificado para cada site, combinando seu nome e o código de status HTTP recuperado. | Nome do site da planilha e código de status da requisição API. | Registro de dados estruturado com os campos nombre_del_sitio e status. |
| Interruptor | Avalia o campo status e encaminha cada registro de dados para um ramo de saída específico com base no primeiro dígito do código de status (ex.: 3xx, 4xx, 5xx). |
Registro de dados contendo o nome do site e o código de status. | Dados encaminhados para um dos vários caminhos de saída condicionais. |
| Prompt (título3xx, corpo2, etc.) | Uma série de componentes de modelo que geram a linha de assunto e o texto do corpo dos e-mails de notificação, inserindo dinamicamente o nome do site e o código de status. | Nome do site e código de status dos dados encaminhados. | Assunto ou texto do corpo do e-mail formatado. |
| Mensagem Gmail | Envia o e-mail de notificação final usando o assunto e o corpo gerados. | Endereço de e-mail do destinatário, assunto do e-mail e corpo do e-mail. | Confirmação do e-mail enviado. |
🧠 Notas
- O fluxo de trabalho foi projetado para processar vários sites em paralelo para maior eficiência.
- Requer credenciais válidas da API do Google para acessar o Google Sheets e o Gmail.
- A lógica de notificação é acionada apenas para códigos de status diferentes de 200 (redirecionamentos e erros).
- O destinatário do e-mail e os modelos são pré-configurados e devem ser ajustados para uso em produção.
- O fluxo de trabalho assume que a planilha do Google de entrada tem colunas nomeadas
nombre_sitiowebeurl.