3.6 KiB
Protocolo de Execução AI: Nginx Intelligence Suite (Clean Version)
Destino: templates_gold/nginx_agent/
Objetivo: Instruções diretivas para geração de código Zabbix 7.0 YAML.
🏗️ 1. Definição de Artefatos
O Agente deve gerar exatamente três arquivos com as especificações abaixo.
1.1 template_nginx_manager_gold.yaml
Função: Monitoramento do Serviço Global (Pad), Discovery de Sites e Auditoria de Config.
Grupo: Templates/Applications
| Item Key | Tipo | Trigger/Lógica |
|---|---|---|
nginx.workers.utilization |
Calculated | (Active Conn / (Workers * Limit)) * 100. Alerta > 80%. |
proc.num[nginx,files_open] |
Agent | Trigger se próximo do ulimit -n do sistema. |
nginx.uptime |
Agent | Trigger "Reload Storm" se uptime resetar > 3x/hora. |
proc.cpu.util[nginx,user/system] |
Agent | Monitorar overhead de sistema (Context Switch). |
nginx.requests.400 |
Simple Check | Spike Detection (Indício de Fuzzing/Exploit). |
vfs.file.cksum[/etc/nginx/nginx.conf] |
Agent | Trigger "Global Config Changed". |
system.run[nginx -t 2>&1] |
Agent | Trigger "Configuração Inválida" (Retorno != successful). |
| Discovery Rules: | ||
nginx.site.discovery |
Script/UserParam | Lista arquivos em /etc/nginx/sites-enabled/. Cria Hosts. |
nginx.compliance.audit |
vfs.file.regexp |
Valida regras do nginx_best_practices.md em cada .conf. |
1.2 template_nginx_site_satellite_gold.yaml
Função: Monitoramento detalhado por Site (Virtual Host). Vinculado via Discovery do Manager.
Grupo: Templates/Nginx Satellites
A. Log Analytics (Passivo)
Item Mestre: log[{#SITE_LOG}] (Type: Zabbix Active, Format: JSON).
| Feature | Métricas Derivadas (Dependent Items) |
|---|---|
| Performance | request_time, upstream_response_time, hits, bytes_sent. |
| Marketing | Conversão Funil ({$MATCH_START} vs {$MATCH_GOAL}), Top Browsers. |
| Segurança | Hits em Honeytokens (/admin.bak), WAF Blocks, Data Leak (>Avg Bytes). |
| Forensics | Cache Status (HIT/MISS), GeoIP. |
B. Web Scenarios (Ativo)
Conceito: O Zabbix Agent (ou Server) acessa a URL externamente.
- Health Check: GET
http://{#SITE_NAME}/. Espera CODE=200 e String="html". - Security Probe: GET
http://{#SITE_NAME}/.env. Espera CODE=403/404. Se 200 => CRITICAL.
C. Route Discovery (Crawler)
Regra LLD: nginx.route.discovery[{#SITE_CONF}].
Lógica: Regex que extrai location /path { do arquivo de config.
Protótipos:
- Log Check: % Erro 5xx na rota específica.
- Web Check:
web.page.getna rota para validar disponibilidade.
1.3 deploy_instructions.md
Conteúdo Obrigatório:
- Log Format: O snippet exato do
log_format structured_jsonpara colocar nonginx.conf. - UserParameters: Os comandos bash para descoberta de sites e rotas.
- Permissões: Comandos
chmod/chownpara garantir leitura dos logs (admgroup). - Macros: Lista de macros obrigatórias (
{$NGINX.LOG.PATH}, etc).
🧪 2. Validação & Gold Standard
O código gerado DEVE obedecer:
- Nomes em PT-BR: "Latência do Backend" (Não "Upstream Time").
- Descrições Ricas: Explicar O QUE é e O QUE FAZER na descrição da Trigger.
- Tags: Todo item deve ter Tags (
Component: Security,Layer: App, etc). - UUIDs: Gerar UUIDs v4 estáticos para evitar duplicação na importação.
- Sem Scripts Externos desnecessários: Usar funcionalidades nativas onde possível.
Status: Pronto para Execução.