Iryon Ops

Banco de dados não configurado

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.

Banco de dados (decider)

Conexão do Postgres onde o decider grava estado, decisões e configuração. O mesmo Secret noc-decider-db é lido por actuator e ticket.

Estado: carregando…

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.

Retenção de dados

Por quanto tempo o Iryon guarda o histórico antes de apagar automaticamente o mais antigo. Uma limpeza roda de hora em hora.

A retenção define a janela máxima dos filtros de período de cada dashboard — não há dado para filtrar além dela.

Padrão global

Valor de referência. Cada fonte tem a sua janela — use “Aplicar a todas” para uniformizar.

—dias
Referência de corte: dados anteriores a —.
—
Por fonte de dado
Sempre preservado
Itens do Insights em aberto / em tratamento sempre
Preservados até serem resolvidos ou aceitos — nunca apagados por tempo enquanto ativos.
Execuções ativas (não terminadas) sempre
Uma execução em andamento nunca é removida no meio do fluxo.
A limpeza é irreversível: o que passar da janela é removido na próxima volta (horária).

Visão geral

Estado operacional do Iryon autônomo

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.

carregando…

Integrar cliente

Configure a conexão com o Zabbix. Siga os passos abaixo para integrar o cliente com segurança. Campos com * são obrigatórios.

  1. 1Cliente
  2. 2Conectar cluster
  3. 3Host do cluster
  4. 4Auto-correção
  5. 5Servidor VM (opcional)
  6. 6Verificação (opcional)
  7. 7Avisos (opcional)
identificador único — minúsculas, sem espaços/acentos. Vira tag, grupo, prefixo de host e tenant da mensageria.
Como o Iryon atua nos alertas deste cliente. Em cluster remoto, "Autônomo" opera como Supervisionado (o executor só faz ações declarativas).

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.

Um host de monitoração por namespace; e (nos modos que agem) o executor recebe permissão de atuação nelas.
1 · No cluster Iryon (automático): credencial do túnel autorizada

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.

2 · No cluster do cliente: o manifesto — um só apply (proxy + auto-correção). Use Copiar/Baixar, aplique o YAML INTEIRO

            
3 · No cluster do cliente: aplicar e pegar o token read-only (p/ a macro {$KUBE.TOKEN} do passo 3 · Host do cluster)

            

Único requisito de rede no cliente: egress até —. Sem porta de entrada, sem internet aberta.

4 · Confirmar que o proxy conectou (depois de aplicar no cluster)

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 da porta do agente (coleta pelo proxy; padrão 10050 — a que você escolher no formulário) e SSH (padrão 22) 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.

Avisos por canal (opcional)
Defina por quais canais — e para quem — os alertas deste cliente serão avisados. Cada canal vira uma conexão dedicada do cliente na Mensageria.
Se pular, este cliente usará os canais padrão da plataforma — os avisos não somem, mas vão para o destino padrão, não para os contatos do cliente.

Clientes integrados

Cada linha é um cliente. Clique para ver/gerir as namespaces monitoradas.

carregando…

Aprovações

Ações sugeridas pela IA aguardando sua decisão (modo supervisionado). Aprovar executa — a matriz revalida antes de rodar; negar escala p/ humano.

—

Avisos

Padrões de aviso do Decisor — o que os clientes herdam. Cada cliente pode sobrepor em Integração → Clientes integrados → Avisos.

ticketiryon

Política de avisos (padrão)

Avisar também quando auto-resolver (correção bem-sucedida)

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:

IA / Agente

Agente consultivo (confirma ou veta → escala; falha-aberto). Apenas um provedor ativo por vez.

—
IA consultiva
desligada = decisão 100% determinística (só a matriz)
Tentativas de correção antes de escalar
No modo Autônomo: quantas abordagens diferentes a IA pode aplicar num incidente antes de escalar para o humano. Maior = mais autônomo (mais custo/escrita no cluster); menor = escala mais cedo. Diferente do Loop-guard (que barra a mesma ação repetida).

Consumo da IA

Requisições à IA —
Tokens —

Operação

O interruptor mestre do decider — um seletor único de como ele opera diante de um incidente.

—

Modo de operação

Define como o decider atua diante de um incidente.
O que cada modo faz
ObservaçãoDecide e mostra o que faria — não age, não abre ticket, não avisa. Para observar com segurança.
Só escalaNão age, mas abre ticket + avisa e reconhece no Zabbix. Toda correção fica com humanos.
SupervisionadoAutonomia segura: só ações da allow-list fechada, com o gate por classe/estado. Recomendado.
AutônomoA IA propõe e executa comandos livres (bypass da allow-list). Gate só por Proibições absolutas + Block-list + namespace. Máxima autonomia — a blacklist é a única trava; use com consciência do risco.

Atividade

Execuções do decisor em tempo real — status, estágios e log do processo.

Como funciona o Iryon

Do alerta à recuperação — o fluxo do NOC autônomo.

AMBIENTE DO CLIENTE · TÚNEL SEGURO evento ação comando resultado reconciliação · Zabbix = fonte da verdade
Monitoração
Zabbix · trigger
Decisão IA
Diagnóstico + IA
3 Muros
Proibições · RBAC · Escala
Atuação
Fila → Executor
Desfecho
Resolve ou escala
Tickets
CITSmart
Mensageria
WhatsApp·SMS·Telegram·e-mail
Reconciliador
reverifica · confirma · reescala
Fluxo IA Segurança Desfecho A camada de Observabilidade (Dashboards e Atividade) acompanha todo o fluxo em tempo real.

Fluxo principal

1

Monitoração

O Zabbix detecta o problema (trigger) e envia o evento ao NOC.

2

Decisão com IA

O decisor coleta o diagnóstico remoto e a IA define a melhor ação.

3

Muros de segurança

Três barreiras antes de agir: Proibições, RBAC e regras de escalonamento.

4

Atuação

O comando é enfileirado e executado dentro do cluster do cliente, por túnel seguro.

5

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.

Reconciliador: trata o Zabbix como fonte da verdade — reverifica incidentes, confirma recuperações e reescala os que travaram, sem nunca apagar o histórico.

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).

Observaçãopara na decisão
MonitoraDecideMurosAtuaDesfecho

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.

Só escalanão age · escala
MonitoraDecideMurosAtuaDesfecho→ Ticket + Aviso

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.

Supervisionadofluxo completo · allow-list
MonitoraDecideMurosAtuaDesfecho

Autonomia segura: executa apenas ações da allow-list fechada, com o gate por classe/estado. Fora da lista → escala. Recomendado.

Autônomofluxo completo · comando livre
MonitoraDecideMurosAtuaDesfecho

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.

Carregando Mensageria…

Recursos

CPU e memória dos workloads, ou uso dos volumes (PVC).

Ordenar:
Uso por workload CPUMemória
Selecione um cliente.
Volumes (PVC) <75%75–89%≥90%
Selecione um cliente.

Versões de imagem

Imagens em execução nas namespaces dos clientes, comparadas com a versão matriz.

Rotas e Ingress

Toda URL publicada pelos clientes — Ingress e Route na mesma lista — se está respondendo (checada a cada minuto, quando ligada) e o certificado que apresenta.

Período

Ligada, a URL é checada a cada 1 minuto pelo proxy do Zabbix do cliente (de dentro da rede dele): GET com limite de 10 s, no ar com resposta 2xx ou 3xx, lenta acima de 2 s. Desligar mantém o histórico.

URLs

Chamados

Todos os chamados abertos pelo NOC, o que os motivou e como terminaram — com a análise por cliente, causa e desfecho.

Chamado↕ Cliente↕ Alerta↕ Alvo↕ Sev.↕ Estado↕ Ação↕ Reinc.↕ Aberto em↕ Fechado em↕ Duração↕

Insights

Causas-raiz rastreadas — o que reduz incidente e se a correção pegou.

Incidentes por dia
resolvidoescalado
Agrupar

Carregando Dashboards…

Segurança

As travas do Iryon: o que ele pode executar sozinho, o que escala para um humano e o que é proibido por construção.

Um comando-livre nomeado e reutilizável (vira ação da allow-list). Roda pelo actuator (kubectl + RBAC, ou SSH no nó) e é recusado se casar com padrão destrutivo.

—

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.

Bloqueios ativos 0

Proibições absolutas

recusa na hora

Padrõ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 fixo

O 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.

Pode
get · patchdeployments e statefulsets
get · list · deleteapenas em pods — o controller recria
get · listsecrets e configmaps (descobrir o datasource p/ o lock)
Não pode — nem no limite
deletenamespace · PVC · PV · secret · CRD · node
DROP · DDLem banco — só a linha de lock do Liquibase
Como cada ação é decidida
avaliada nesta ordem — a primeira trava que casa vence

O 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.

1 · PROIBIÇÕESBlacklistpadrão destrutivorecusa na hora
→
2 · BLOCK-LISTEscalonamentoalvo sensívelescala
→
→
4 · GATERisco + estadoclasse R/D/Iroda ou escala
→
5 · RBACTeto do clusterúltima barreirasó limita
Desfecho: roda sozinho escala p/ humano recusado
Como o passo 4 (gate de risco) classifica
R · reversível baixo impacto, dá p/ desfazer (ex.: resync de relógio) e D · disruptiva incomoda por instantes mas se auto-recupera (ex.: reiniciar pod) → rodam sozinhas. I · irreversível não dá p/ desfazer → sempre humano.
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.
Simular um alerta — o que o Iryon faria?
roda a lógica real do decider · não executa nada
Modo de operação
simula só aqui — não muda o modo real

Executor & fila

Observe a atuação por cliente — executores conectados, filas e consistência. O noc-actuator roteia as ações da allow-list à fila isolada de cada cliente.

—
carregando…

Console de execução

valida nas travas de Segurança

Executa 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.

clienteexecutornamespaces de atuaçãofilaconsistência
carregando…

Catálogo das ações da allow-list (com classe de risco, busca e filtros) em Decisor → Segurança.

Configurar Zabbix

Ligar o Iryon ao Zabbix, em ordem: 1) conectar na API · 2) integrar (o Zabbix encaminha o evento ao decider) · 3) templates

Credenciais da API do Zabbix — a base p/ tudo. Salvas mascaradas e reusadas em todas as ações.

Gere no Zabbix (Usuários → Tokens de API). Recomendado (em vez de usuário/senha).
Ou usuário/senha (se não tiver token de API)
Só p/ Zabbix EXTERNO: URL pública do /v1/decide. Vazio = Zabbix in-cluster (recomendado).
Endereço que os agentes usam p/ checks ativos + autoregistro — é o trapper (10051), NÃO a URL da web. Zabbix in-cluster: use o NodePort (<nó>:31051) ou um LoadBalancer :10051. Aceita lista separada por ;.
Marca gravada no agente; a Action de autoregistro casa por “contém”. Vazio = 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.

A Action já é escopada pelos templates do Iryon. Só preencha p/ incluir também triggers de hosts fora desses templates (o grupo deve existir).
carregando…

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).

templateno Zabbixorigemtam.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ótuloarchagentetam.sha256padrão

Enviar novo binário

Onde encontrar o binário
  1. 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.
  2. 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
  3. Extraia (tar xzf …tar.gz) e envie aqui o arquivo sbin/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.

Ticket / ITSM (Citsmart)

Config do ticket-api, agora na GUI. Senha e client secret podem ser gravados aqui (write-only: mascarados e nunca reexibidos); o Bearer da API é gerido só via CLI no Secret citsmart-secret.

…

Verificação de situação dos chamados

Abrir e fechar chamado funciona com a configuração acima. Ler a situação (se o chamado foi encerrado, cancelado ou segue em andamento) depende de duas operações que precisam ser liberadas dentro do Citsmart — sem elas, a dashboard de Chamados não consegue saber o desfecho e mostra “sem confirmação”.

  1. No Citsmart, vá em Workflow & ESM → Operação de Web Service.
  2. Na aba Pesquisa de Operações, procure request_getById. Se não existir, cadastre na aba Cadastro com Situação Ativa, Tipo de Classe Java e Nome da Classe br.com.centralit.citsmart.rest.v3.operation.RESTOperation.
  3. Em Permissões, clique em Adicionar grupo e inclua o grupo do solicitante cadastrado para abrir os chamados — o mesmo grupo em que está o usuário de serviço configurado acima.
  4. Repita para request_getByUser.
  5. Grave e clique em Testar leitura de situação aqui embaixo.

Parâmetros pode ficar vazio. O que libera a operação é o grupo em Permissões.

Conexão

Este Keycloak é o do Citsmart — não é o SSO do Iryon. Realm, client, usuário e senha são os do ITSM: o ticket-api pede um token nesse realm (grant password) e abre o chamado com ele.

Abertura do chamado

Identificadores do Citsmart usados em cada chamado aberto pelo NOC. Vêm do cadastro do ITSM, não do Iryon.

Credenciais

Write-only: digite para trocar, deixe em branco para manter. Nunca são exibidas de volta — a tela indica apenas presença.

O Bearer da API não é editável aqui: é gerido por CLI no Secret citsmart-secret.

Política de abertura — do NOC, não do Citsmart

Quanto o NOC espera antes de registrar um chamado. Se o alerta normalizar dentro da carência, o chamado não chega a existir. Reuso de chamado já aberto nunca espera.

Política de encerramento — do NOC, não do Citsmart

Chamado escalado fica aberto quando o alerta normaliza, para uma pessoa confirmar. Ligando esta política, o NOC encerra sozinho o que está recuperado há pelo menos o tempo escolhido — contado a partir da normalização, não da abertura. Nunca encerra chamado proativo (Insights), ainda alertando ou sem contexto. Cada cliente pode ter prazo próprio ou ficar de fora em Clientes integrados.

Placeholders (clique para inserir): — {alerta} e {recuperou_em} são obrigatórios: todo encerramento diz o que normalizou e quando.

Salvar grava no store; o ticket-api aplica em ~15s. "Testar" pede um token no Keycloak do Citsmart e valida a ponta a ponta. Requer admin.
Campo não-secreto deixado em branco volta ao padrão do manifesto (env) — não fica vazio.

Disponibilidade K8S

Workloads de Kubernetes: situação agora, o período em barrinhas e o que aconteceu em cada queda.

Período
no ardegradadoindisponívelmanutençãosem dadosestimado por alertas
Workloads

Visão geral

Saúde da infraestrutura do cliente — disponibilidade, serviços no ar e incidentes.

Ações do NOC · 24 h
Incidentes
Exibirpor página
Saúde dos serviços
No arDegradadoForaOcioso
Disponibilidade · 24 h
Uptime (24 h)
—
Meta
99,50%
Resolução (intervalo entre leituras)
—