# 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. 1. **Health Check:** GET `http://{#SITE_NAME}/`. Espera CODE=200 e String="html". 2. **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:** 1. **Log Check:** % Erro 5xx na rota específica. 2. **Web Check:** `web.page.get` na rota para validar disponibilidade. ### 1.3 `deploy_instructions.md` **Conteúdo Obrigatório:** 1. **Log Format:** O snippet exato do `log_format structured_json` para colocar no `nginx.conf`. 2. **UserParameters:** Os comandos bash para descoberta de sites e rotas. 3. **Permissões:** Comandos `chmod/chown` para garantir leitura dos logs (`adm` group). 4. **Macros:** Lista de macros obrigatórias (`{$NGINX.LOG.PATH}`, etc). --- ## 🧪 2. Validação & Gold Standard O código gerado **DEVE** obedecer: 1. **Nomes em PT-BR:** "Latência do Backend" (Não "Upstream Time"). 2. **Descrições Ricas:** Explicar O QUE é e O QUE FAZER na descrição da Trigger. 3. **Tags:** Todo item deve ter Tags (`Component: Security`, `Layer: App`, etc). 4. **UUIDs:** Gerar UUIDs v4 estáticos para evitar duplicação na importação. 5. **Sem Scripts Externos desnecessários:** Usar funcionalidades nativas onde possível. --- **Status:** Pronto para Execução.