O decider está em modo memória (sem persistência nem HA). Configure a conexão do Postgres para ele gravar estado, decisões e configurações. Faça isto antes de mexer em canais/IA/etc. — eles se perderiam no reinício.
Configurar conexão
Crie antes um banco dedicado (ex.: CREATE DATABASE iryon; — não use o do Zabbix). Ao salvar, o decider valida a conexão, grava o Secret noc-decider-db e reinicia conectado (cria o schema decider). Trocou o banco? reinicie depois o actuator e o ticket.
Padrão global
Valor de referência. Cada fonte tem a sua janela — use “Aplicar a todas” para uniformizar.
Saúde dos módulos
Fluxo do Iryon autônomo — verde = disponível, vermelho = indisponível, cinza = não monitorado / sem probe. Passe o mouse para latência e detalhe.
- 1Cliente
- 2Conectar cluster
- 3Host do cluster
- 4Auto-correção
- 5Servidor VM (opcional)
- 6Verificação (opcional)
- 7Avisos (opcional)
O cluster do cliente é privado, sem internet — só libera egress na 443 para a URL do Iryon. Um chisel client abre o túnel de saída; o Zabbix proxy monitora e (quando o modo age) o executor corrige — tudo pelo mesmo túnel. Nada entra no cluster.
Feito automaticamente ao chegar neste passo. Usa a mesma credencial já embutida no YAML do bloco 2 — apenas autoriza o cluster Iryon a aceitá-la; não altera o YAML.
Único requisito de rede no cliente: egress até —. Sem porta de entrada, sem internet aberta.
Fecha o loop do copy-paste: confirma que o cluster do cliente aplicou o manifesto e o proxy fez contato — antes de criar o host.
Obrigatório — cria no Zabbix um host por namespace (definidas no passo 2), monitorado pelo proxy. Cole o token read-only e crie.
O host é monitorado pelo proxy, então a API interna https://kubernetes.default.svc basta. Sem o token o host é criado mas não coleta — cole-o antes de criar.
Motor de atuação — o executor já vai no bundle único do passo 2 (instalado junto com o proxy, pelo mesmo túnel). É ele que deixa o Iryon agir em Kubernetes e em servidores VM (por SSH). Aqui você confirma que está atuando. Modo: —.
Opcional — integre um servidor Linux do cliente. O executor (passo 2) instala o agente Zabbix por SSH a partir do binário registrado (modo passivo, sem repositório/internet no servidor), cria o host e o proxy passa a coletar. A mesma credencial habilita a atuação (reiniciar serviço, limpar disco). Pule se o cliente só tem Kubernetes.
Rede no servidor: liberar entrada 10050 (coleta pelo proxy) e 22 (SSH do executor) da sub-rede dos nós. A chave/senha vai cifrada ao executor — nunca fica no Iryon.
Confirmação lida de volta do Zabbix — o host existe e está com grupo, template e tags corretos.
carregando…
Política de avisos (padrão)
Padrão herdado pelos clientes (cada um pode sobrepor no seu card Avisos). Liga/desliga os avisos do caminho feliz ("corrigindo…" / "resolvido/restabelecido"). Ticket de problema/escalonamento e o fechamento de ticket escalado são sempre avisados.
Mensagens dos avisos (padrão)
Como o Decisor redige os textos (padrão herdado; cada cliente pode escolher Template ou IA no seu card Avisos). No modo IA, usa o provedor de Decisor → IA / Agente.
Modelo por situação. Placeholders:
Consumo da IA
Modo de operação
Como funciona o Iryon
Do alerta à recuperação — o fluxo do NOC autônomo.
Fluxo principal
Monitoração
O Zabbix detecta o problema (trigger) e envia o evento ao NOC.
Decisão com IA
O decisor coleta o diagnóstico remoto e a IA define a melhor ação.
Muros de segurança
Três barreiras antes de agir: Proibições, RBAC e regras de escalonamento.
Atuação
O comando é enfileirado e executado dentro do cluster do cliente, por túnel seguro.
Desfecho
O reconciliador confirma a recuperação pelo Zabbix; se não resolver, escala para um humano.
Saídas e observabilidade
Tickets
Abertura e gestão de chamados no CITSmart, com nº do ticket e histórico.
Mensageria
Notificação por WhatsApp, SMS, Telegram e e-mail para as equipes.
Observabilidade
Dashboards (Visão geral e Grafana) e a Atividade em tempo real.
Modos do Decisor — o reflexo de cada um no fluxo
O comportamento diante de um incidente depende do modo de operação (ajustável em Operação → Modo de operação).
Decide e mostra o que faria — não age, não abre ticket, não avisa. Ideal para validar com segurança. Fica registrado só na Atividade.
Não corrige, mas abre ticket, avisa as equipes e reconhece no Zabbix. Toda a ação fica com humanos — pula Muros e Atuação.
Autonomia segura: executa apenas ações da allow-list fechada, com o gate por classe/estado. Fora da lista → escala. Recomendado.
A IA propõe e executa comandos livres (bypass da allow-list). Só as Proibições, a block-list e o namespace barram. Máxima autonomia — use com consciência do risco.
Recursos
CPU e memória por deployment / statefulset — uso ao vivo do cluster.
request protege você — garante fatia quando há disputa. O limit protege os outros de você: estrangula, e o estrangulamento pode estourar a liveness probe e reiniciar o container. Vale para carga não confiável ou runaway conhecido; na dúvida, defina o request.Insights
Causas-raiz rastreadas — o que reduz incidente e se a correção pegou.
—
Alertas cujo texto contenha algum destes termos não são auto-corrigidos: o Iryon abre ticket e chama um humano. Ideal para alvos críticos (identidade, bancos, control-plane). Casa por trecho (ignora maiúsculas) em ação · host · namespace · nome do alerta.
Proibições absolutas
recusa na horaPadrões destrutivos recusados na hora, em qualquer campo/comando: remover namespace, excluir PVC/secret, DROP/TRUNCATE, rm -rf, scale=0, patch/exec etc. As padrão são fixas (nem a IA, nem o cadastro, nem o modo Autônomo liberam); você pode adicionar as suas.
Permissões do cluster (RBAC mínimo)
teto fixoO teto final: mesmo um comando liberado só faz o que o ServiceAccount permite. É a última barreira — independe do decider e não se altera pela GUI.
get · patchdeployments e statefulsetsget · list · deleteapenas em pods — o controller recriaget · listsecrets e configmaps (descobrir o datasource p/ o lock)deletenamespace · PVC · PV · secret · CRD · nodeDROP · DDLem banco — só a linha de lock do LiquibaseO veredito depende de duas coisas: as travas abaixo (nesta ordem) e o modo de operação — em Observação o Iryon só mostra o que faria; em Só escala nunca age; em Supervisionado/Autônomo o passo 4 (gate) libera a execução. Varie os dois no simulador abaixo.
Como o passo 4 (gate de risco) classifica
Exceções: recriar um pod já quebrado roda mesmo em statefulset (o dado persiste no PVC); mexer num pod saudável de statefulset pede aprovação; causa fatal (crashloop/imagem) escala.
Console de execução
valida nas travas de SegurançaExecuta no ativo do cliente escolhido. Kubernetes = kubectl (limitado pelo RBAC do executor — o teto real). Servidor = comando via SSH. Todo comando passa pelas travas de Decisor → Segurança: se infringir, não executa e mostra o motivo. Tudo auditado.
Executores por cliente
Cada cliente roda seu executor dentro do próprio cluster (HA por Lease) e puxa só as intenções do seu cliente. Habilite/edite a atuação em Clientes integrados. Problemas primeiro.
| cliente | executor | namespaces de atuação | fila | consistência |
|---|---|---|---|---|
| carregando… | ||||
Catálogo das ações da allow-list (com classe de risco, busca e filtros) em Decisor → Segurança.
Credenciais da API do Zabbix — a base p/ tudo. Salvas mascaradas e reusadas em todas as ações.
Ou usuário/senha (se não tiver token de API)
/v1/decide. Vazio = Zabbix in-cluster (recomendado).<nó>:31051) ou um LoadBalancer :10051. Aceita lista separada por ;.linux-noc.Modelo harmonizado: 1 webhook (noc-decider) + 1 Action. O Zabbix só encaminha o evento; o decider decide, remedia, abre/fecha ticket e avisa. Cada item é idempotente; a Action nasce desabilitada.
Canais se configuram em Clientes integrados (por cliente em Avisos; o padrão da plataforma no topo). Requer admin.
Biblioteca de templates
Origem dos templates importados na Integração. Upload p/ atualizar sem rebuild ou baixe p/ backup. Cada gravação guarda a versão anterior (rollback).
| template | no Zabbix | origem | tam. | atualizado |
|---|
Upload
Binário do agente (servidores Linux)
Binário instalado nos servidores Linux ao integrar (modo passivo, sem repositório/internet no servidor). O padrão por arquitetura é usado automaticamente; você pode enviar novas versões e escolher qual será instalada. O padrão embarcado é o zabbix_agentd estático (roda em qualquer distro/versão).
| versão / rótulo | arch | agente | tam. | sha256 | padrão |
|---|
Enviar novo binário
- Página oficial: zabbix.com/download_agents — escolha Zabbix agent (não o agent2), OS Linux, Encryption: No, e ligue Static. Baixe o
.tar.gz. - Ou direto pelo CDN (troque a versão e a arch):
https://cdn.zabbix.com/zabbix/binaries/stable/7.4/7.4.12/zabbix_agent-7.4.12-linux-3.0-amd64-static.tar.gz - Extraia (
tar xzf …tar.gz) e envie aqui o arquivosbin/zabbix_agentd(arch agent (agentd)).
Estático de Linux existe só para amd64 (x86_64) e i386. Não há build estático de agent2 para Linux nem de arm64 — para esses, use o modo repositório (apt/dnf) na integração.
Citsmart / Keycloak
Segredos são write-only: digite p/ trocar, deixe em branco p/ manter, e nunca são exibidos de volta (mascarados). Salvar grava no store; o ticket-api aplica em ~15s. "Testar" pede um token no Keycloak do Citsmart (valida tudo E2E). Requer admin.
Segredos & estado
A GUI só indica presença, nunca o valor. Senha e client secret são editáveis ao lado; o Bearer é definido só via CLI no Secret.
Visão geral
Saúde da infraestrutura do cliente — disponibilidade, serviços no ar e incidentes.