# 🐍 OPHION - Manual Completo ## Observability Platform com Inteligência Artificial --- # PARTE 1: VISÃO GERAL ## O que é o OPHION? OPHION é uma plataforma de observabilidade open-source que combina: - **Métricas** - CPU, memória, disco, rede - **Logs** - Centralização e análise - **Traces** - Rastreamento distribuído - **Alertas** - Notificações inteligentes - **IA** - Detecção de anomalias e previsões ## Arquitetura ``` ┌─────────────────────────────────────────────────────────────────┐ │ SEUS SERVIDORES │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ Agent 1 │ │ Agent 2 │ │ Agent 3 │ │ Agent N │ │ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ └───────┼────────────┼────────────┼────────────┼──────────────────┘ │ │ │ │ └────────────┴─────┬──────┴────────────┘ │ HTTPS/TLS ▼ ┌─────────────────────────────────────────────────────────────────┐ │ OPHION CLOUD │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ API Gateway │ │ │ │ (Rate Limit, Auth, Load Balance) │ │ │ └─────────────────────────┬───────────────────────────────┘ │ │ │ │ │ ┌─────────────┬───────────┼───────────┬─────────────┐ │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ │ │ ┌────┐ ┌──────┐ ┌────────┐ ┌──────┐ ┌────────┐ │ │ │Logs│ │Metrics│ │ Traces │ │Alerts│ │ AI │ │ │ │Svc │ │ Svc │ │ Svc │ │ Svc │ │ Engine │ │ │ └──┬─┘ └───┬──┘ └───┬────┘ └──┬───┘ └───┬────┘ │ │ │ │ │ │ │ │ │ └───────────┴──────────┴───────────┴────────────┘ │ │ │ │ │ ┌──────▼──────┐ │ │ │ ClickHouse │ (Time-series DB) │ │ │ PostgreSQL │ (Config/Users) │ │ │ Redis │ (Cache/Realtime) │ │ └─────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Dashboard (Next.js) │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` --- # PARTE 2: INSTALAÇÃO DO SERVIDOR ## 2.1 Requisitos ### Hardware Mínimo | Componente | Mínimo | Recomendado | |------------|--------|-------------| | CPU | 2 cores | 4+ cores | | RAM | 4 GB | 8+ GB | | Disco | 50 GB SSD | 200+ GB SSD | | Rede | 100 Mbps | 1 Gbps | ### Software - Ubuntu 22.04+ ou Debian 12+ - Docker 24+ - Docker Compose 2.20+ ## 2.2 Instalação Rápida ```bash # Um comando para instalar tudo curl -fsSL https://ophion.com.br/install.sh | bash ``` ## 2.3 Instalação Manual Detalhada ### Passo 1: Instalar Docker ```bash # Atualizar sistema sudo apt update && sudo apt upgrade -y # Instalar Docker curl -fsSL https://get.docker.com | sh # Adicionar usuário ao grupo docker sudo usermod -aG docker $USER newgrp docker # Verificar instalação docker --version docker compose version ``` ### Passo 2: Clonar Repositório ```bash # Clonar git clone https://github.com/bigtux/ophion.git /opt/ophion cd /opt/ophion # Ou baixar release wget https://github.com/bigtux/ophion/releases/latest/download/ophion-server.tar.gz tar -xzf ophion-server.tar.gz cd ophion-server ``` ### Passo 3: Configurar Ambiente ```bash # Copiar exemplo cp deploy/docker/.env.example deploy/docker/.env # Editar configurações nano deploy/docker/.env ``` **Arquivo .env completo:** ```env #============================================= # OPHION - Configurações do Servidor #============================================= # === SEGURANÇA (OBRIGATÓRIO - ALTERE!) === JWT_SECRET=gere-uma-chave-de-32-caracteres-minimo ENCRYPTION_KEY=outra-chave-secreta-32-chars-min # === POSTGRESQL === POSTGRES_HOST=postgres POSTGRES_PORT=5432 POSTGRES_USER=ophion POSTGRES_PASSWORD=SenhaForteAqui123! POSTGRES_DB=ophion # === CLICKHOUSE === CLICKHOUSE_HOST=clickhouse CLICKHOUSE_PORT=9000 CLICKHOUSE_USER=default CLICKHOUSE_PASSWORD=SenhaClickhouse123! CLICKHOUSE_DB=ophion # === REDIS === REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD=SenhaRedis123! # === SERVIDOR === OPHION_HOST=0.0.0.0 OPHION_PORT=8080 OPHION_ENV=production OPHION_DEBUG=false # === DASHBOARD === NEXT_PUBLIC_API_URL=https://api.ophion.com.br NEXTAUTH_SECRET=chave-nextauth-secreta NEXTAUTH_URL=https://app.ophion.com.br # === RETENÇÃO DE DADOS === METRICS_RETENTION_DAYS=30 LOGS_RETENTION_DAYS=14 TRACES_RETENTION_DAYS=7 # === INTELIGÊNCIA ARTIFICIAL === AI_ENABLED=true AI_MODEL=gpt-4o-mini OPENAI_API_KEY=sk-your-openai-key AI_ANOMALY_DETECTION=true AI_LOG_ANALYSIS=true AI_PREDICTIONS=true # === ALERTAS === SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=seu-email@gmail.com SMTP_PASSWORD=sua-senha-app SMTP_FROM=noreply@ophion.com.br TELEGRAM_BOT_TOKEN=seu-bot-token SLACK_WEBHOOK_URL=https://hooks.slack.com/... # === RATE LIMITING === RATE_LIMIT_REQUESTS=1000 RATE_LIMIT_WINDOW=60 ``` ### Passo 4: Iniciar Serviços ```bash cd /opt/ophion/deploy/docker # Iniciar em background docker compose up -d # Verificar status docker compose ps # Ver logs docker compose logs -f ``` ### Passo 5: Verificar Instalação ```bash # Health check da API curl http://localhost:8080/health # Esperado: {"status":"healthy","version":"1.0.0"} # Health check do Dashboard curl http://localhost:3000 # Esperado: HTML da página ``` ## 2.4 Configurar Proxy Reverso (Nginx) ```bash sudo apt install nginx -y sudo tee /etc/nginx/sites-available/ophion << 'EOF' # API server { listen 80; server_name api.ophion.com.br; location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_bypass $http_upgrade; } } # Dashboard server { listen 80; server_name app.ophion.com.br ophion.com.br www.ophion.com.br; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } EOF sudo ln -s /etc/nginx/sites-available/ophion /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx ``` ## 2.5 Configurar SSL ```bash # Instalar Certbot sudo apt install certbot python3-certbot-nginx -y # Gerar certificados sudo certbot --nginx -d ophion.com.br -d www.ophion.com.br -d app.ophion.com.br -d api.ophion.com.br # Auto-renovação (já configurado automaticamente) sudo certbot renew --dry-run ``` --- # PARTE 3: INSTALAÇÃO DO AGENT ## 3.1 O que é o Agent? O Agent é um processo leve que roda em cada servidor monitorado, coletando: - Métricas do sistema (CPU, RAM, disco, rede) - Métricas de containers Docker - Logs do sistema e aplicações - Processos em execução ## 3.2 Instalação Rápida ```bash # Defina suas variáveis export OPHION_SERVER="https://api.ophion.com.br" export OPHION_API_KEY="ophion_sua_chave_aqui" # Instalar curl -fsSL https://ophion.com.br/agent.sh | bash ``` ## 3.3 Instalação Manual ### Download do Binário ```bash # Linux AMD64 wget https://github.com/bigtux/ophion/releases/latest/download/ophion-agent-linux-amd64 -O /usr/local/bin/ophion-agent # Linux ARM64 wget https://github.com/bigtux/ophion/releases/latest/download/ophion-agent-linux-arm64 -O /usr/local/bin/ophion-agent # Dar permissão de execução chmod +x /usr/local/bin/ophion-agent ``` ### Criar Configuração ```bash sudo mkdir -p /etc/ophion sudo tee /etc/ophion/agent.yaml << 'EOF' # OPHION Agent Configuration server: url: https://api.ophion.com.br api_key: ophion_sua_chave_aqui agent: hostname: ${HOSTNAME} # ou nome personalizado tags: environment: production team: infra region: brasil # Intervalo de coleta interval: 30s # Coletores ativos collectors: # Métricas do sistema cpu: enabled: true per_core: true memory: enabled: true disk: enabled: true paths: - / - /var - /home network: enabled: true interfaces: - eth0 - ens3 # Processos processes: enabled: true top_n: 10 # Top 10 por CPU/memória # Docker docker: enabled: true socket: /var/run/docker.sock collect_logs: true log_lines: 100 # Logs do sistema logs: enabled: true paths: - /var/log/syslog - /var/log/auth.log - /var/log/nginx/*.log # Buffer local (caso servidor indisponível) buffer: enabled: true path: /var/lib/ophion/buffer max_size: 100MB # Logging do agent logging: level: info file: /var/log/ophion-agent.log EOF ``` ### Criar Serviço Systemd ```bash sudo tee /etc/systemd/system/ophion-agent.service << 'EOF' [Unit] Description=OPHION Monitoring Agent Documentation=https://docs.ophion.com.br After=network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/local/bin/ophion-agent --config /etc/ophion/agent.yaml Restart=always RestartSec=10 StandardOutput=append:/var/log/ophion-agent.log StandardError=append:/var/log/ophion-agent.log # Limites de recursos MemoryMax=256M CPUQuota=10% [Install] WantedBy=multi-user.target EOF ``` ### Iniciar Serviço ```bash # Recarregar systemd sudo systemctl daemon-reload # Habilitar no boot sudo systemctl enable ophion-agent # Iniciar sudo systemctl start ophion-agent # Verificar status sudo systemctl status ophion-agent # Ver logs sudo journalctl -u ophion-agent -f ``` ## 3.4 Verificar Funcionamento ```bash # No servidor do Agent curl -s localhost:9100/metrics | head -20 # No servidor OPHION (verificar se dados chegam) curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.ophion.com.br/api/v1/hosts ``` --- # PARTE 4: MONITORAMENTO DE DOCKER ## 4.1 Configuração Básica O Agent detecta automaticamente containers Docker se tiver acesso ao socket. ```bash # Verificar se o socket existe ls -la /var/run/docker.sock # Agent precisa de permissão sudo usermod -aG docker root ``` ## 4.2 Docker Compose - Adicionar Agent Adicione ao seu `docker-compose.yml`: ```yaml version: '3.8' services: # Seus serviços existentes... app: image: minha-app:latest # ... # Agent OPHION ophion-agent: image: ophion/agent:latest container_name: ophion-agent restart: unless-stopped environment: - OPHION_SERVER=https://api.ophion.com.br - OPHION_API_KEY=${OPHION_API_KEY} - OPHION_HOSTNAME=${HOSTNAME:-docker-host} volumes: # Socket do Docker (obrigatório para métricas de containers) - /var/run/docker.sock:/var/run/docker.sock:ro # Sistema de arquivos do host (para métricas de disco) - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/host/root:ro network_mode: host pid: host privileged: true ``` ## 4.3 Labels para Organização Adicione labels aos seus containers para melhor visualização: ```yaml services: api: image: minha-api:latest labels: # Labels do OPHION ophion.monitor: "true" ophion.service: "api" ophion.environment: "production" ophion.team: "backend" ophion.alert.cpu: "80" # Alertar se CPU > 80% ophion.alert.memory: "90" # Alertar se memória > 90% database: image: postgres:16 labels: ophion.monitor: "true" ophion.service: "database" ophion.type: "postgresql" ``` ## 4.4 Métricas Coletadas | Métrica | Descrição | Tipo | |---------|-----------|------| | `container.cpu.usage_percent` | Uso de CPU | gauge | | `container.memory.usage_bytes` | Memória usada | gauge | | `container.memory.limit_bytes` | Limite de memória | gauge | | `container.memory.percent` | % memória usada | gauge | | `container.network.rx_bytes` | Bytes recebidos | counter | | `container.network.tx_bytes` | Bytes enviados | counter | | `container.disk.read_bytes` | Leitura de disco | counter | | `container.disk.write_bytes` | Escrita de disco | counter | | `container.status` | Status (1=running) | gauge | | `container.restart_count` | Número de restarts | counter | | `container.uptime_seconds` | Tempo online | gauge | --- # PARTE 5: APM - MONITORAMENTO DE APLICAÇÕES ## 5.1 Node.js / Express ### Instalação ```bash npm install @ophion/apm ``` ### Configuração ```javascript // PRIMEIRA LINHA do seu app - antes de qualquer import const ophion = require('@ophion/apm'); ophion.init({ serverUrl: process.env.OPHION_SERVER || 'https://api.ophion.com.br', apiKey: process.env.OPHION_API_KEY, serviceName: 'minha-api', environment: process.env.NODE_ENV || 'development', // Opções avançadas sampleRate: 1.0, // 100% das requisições (reduzir em produção) captureBody: true, // Capturar body das requisições captureHeaders: true, // Capturar headers captureErrors: true, // Capturar exceções automaticamente // Instrumentações automáticas instrumentations: { http: true, express: true, mongodb: true, postgresql: true, redis: true, axios: true } }); // Agora seus imports normais const express = require('express'); const app = express(); // Middleware de erro (para capturar exceções) app.use(ophion.errorHandler()); app.listen(3000); ``` ### Traces Customizados ```javascript const { trace, context } = require('@ophion/apm'); app.get('/api/users/:id', async (req, res) => { // Criar span customizado const span = trace.startSpan('fetch-user'); try { span.setAttribute('user.id', req.params.id); const user = await db.users.findById(req.params.id); span.setAttribute('user.found', !!user); span.setStatus({ code: 'OK' }); res.json(user); } catch (error) { span.recordException(error); span.setStatus({ code: 'ERROR', message: error.message }); throw error; } finally { span.end(); } }); ``` ## 5.2 Python / Flask / Django ### Instalação ```bash pip install ophion-apm ``` ### Flask ```python # PRIMEIRA LINHA - antes de qualquer import import ophion_apm ophion_apm.init( server_url='https://api.ophion.com.br', api_key='YOUR_API_KEY', service_name='minha-api', environment='production' ) # Imports normais from flask import Flask app = Flask(__name__) # Instrumentação automática já está ativa @app.route('/api/users/') def get_user(id): return {'id': id} ``` ### Django ```python # settings.py INSTALLED_APPS = [ 'ophion_apm.django', # ... outros apps ] OPHION_APM = { 'SERVER_URL': 'https://api.ophion.com.br', 'API_KEY': 'YOUR_API_KEY', 'SERVICE_NAME': 'minha-api', 'ENVIRONMENT': 'production', } ``` ## 5.3 Go ```go package main import ( "github.com/bigtux/ophion/sdk/go/apm" "github.com/gin-gonic/gin" ) func main() { // Inicializar APM apm.Init(apm.Config{ ServerURL: "https://api.ophion.com.br", APIKey: "YOUR_API_KEY", ServiceName: "minha-api", Environment: "production", }) defer apm.Close() r := gin.Default() // Middleware de tracing r.Use(apm.GinMiddleware()) r.GET("/api/users/:id", func(c *gin.Context) { // Span automático criado pelo middleware // Span customizado ctx, span := apm.StartSpan(c.Request.Context(), "fetch-user") defer span.End() // Sua lógica... c.JSON(200, gin.H{"id": c.Param("id")}) }) r.Run(":8080") } ``` ## 5.4 OpenTelemetry (Universal) OPHION é 100% compatível com OpenTelemetry: ```bash # Variáveis de ambiente export OTEL_EXPORTER_OTLP_ENDPOINT="https://api.ophion.com.br" export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer YOUR_API_KEY" export OTEL_SERVICE_NAME="minha-api" export OTEL_RESOURCE_ATTRIBUTES="environment=production,team=backend" ``` --- # PARTE 6: INTELIGÊNCIA ARTIFICIAL ## 6.1 Funcionalidades de IA ### Detecção de Anomalias - Identifica automaticamente comportamentos anormais - Aprende o padrão normal da sua infraestrutura - Alerta antes que problemas ocorram ### Análise de Logs com IA - Agrupa logs similares automaticamente - Identifica padrões de erro - Sugere causas raiz de problemas ### Previsão de Capacidade - Prevê quando recursos vão acabar - Sugere escalonamento proativo - Identifica tendências ### Correlação de Eventos - Relaciona eventos de diferentes fontes - Identifica cascatas de falhas - Reduz ruído de alertas ## 6.2 Configuração da IA ### No arquivo .env: ```env # Habilitar IA AI_ENABLED=true # Modelo a usar (recomendado: gpt-4o-mini por custo/benefício) AI_MODEL=gpt-4o-mini OPENAI_API_KEY=sk-your-key-here # Funcionalidades específicas AI_ANOMALY_DETECTION=true AI_LOG_ANALYSIS=true AI_PREDICTIONS=true AI_ROOT_CAUSE=true # Limites de custo AI_MAX_TOKENS_PER_DAY=100000 AI_MAX_REQUESTS_PER_HOUR=60 ``` ### Via API: ```bash # Habilitar análise de IA para um host curl -X POST "https://api.ophion.com.br/api/v1/hosts/{host_id}/ai" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "anomaly_detection": true, "log_analysis": true, "predictions": true, "sensitivity": "medium" }' ``` ## 6.3 Como Funciona a Detecção de Anomalias ``` 1. APRENDIZADO (primeiras 24-48h) - IA observa padrões normais - Aprende ciclos diários/semanais - Identifica baselines 2. DETECÇÃO (contínuo) - Compara métricas atuais com baseline - Detecta desvios significativos - Considera contexto (dia, hora, eventos) 3. ALERTA INTELIGENTE - Classifica severidade automaticamente - Agrupa alertas relacionados - Sugere ações de correção ``` ## 6.4 Exemplos de Alertas com IA **Alerta Tradicional:** ``` ⚠️ CPU > 80% no servidor web-01 ``` **Alerta com IA:** ``` 🤖 ANOMALIA DETECTADA - web-01 📊 Situação: - CPU em 85% (normal para este horário: 40-50%) - Memória em 72% (normal: 60%) - Conexões: 1.2k (normal: 300-400) 🔍 Análise: O aumento de CPU e conexões coincide com um pico de requisições na API /api/products. O padrão sugere possível ataque ou campanha de marketing não planejada. 💡 Sugestões: 1. Verificar origem das requisições (possível bot) 2. Considerar escalar horizontalmente 3. Verificar se há campanha ativa 🔗 Eventos relacionados: - 14:32 - Deploy da v2.3.1 no web-02 - 14:45 - Aumento de latência no database ``` ## 6.5 Análise de Logs com IA ### Agrupamento Automático A IA agrupa logs similares: ``` 📋 Cluster de Erros #1 (847 ocorrências) Padrão: "Connection refused to database" Exemplos: - [14:32:01] Error: Connection refused to postgres:5432 - [14:32:03] Error: Cannot connect to database server - [14:32:05] Error: Database connection timeout 🤖 Análise: Múltiplas falhas de conexão com banco de dados. Possível causa: limite de conexões atingido ou banco de dados indisponível. 💡 Sugestões: 1. Verificar status do PostgreSQL 2. Verificar pool de conexões 3. Aumentar max_connections se necessário ``` --- # PARTE 7: ALERTAS E NOTIFICAÇÕES ## 7.1 Canais Suportados | Canal | Configuração | |-------|-------------| | Telegram | Bot Token + Chat ID | | Slack | Webhook URL | | Discord | Webhook URL | | Email | SMTP | | SMS | Twilio | | PagerDuty | Integration Key | | OpsGenie | API Key | | Webhook | URL customizada | ## 7.2 Configurar Telegram ```bash # 1. Criar bot no @BotFather # 2. Obter token: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz # 3. Descobrir seu Chat ID curl "https://api.telegram.org/bot{TOKEN}/getUpdates" # 4. Configurar no OPHION curl -X POST "https://api.ophion.com.br/api/v1/integrations/telegram" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "bot_token": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz", "chat_id": "-1001234567890", "name": "Alertas Infra" }' ``` ## 7.3 Criar Alertas ### Via Dashboard 1. Acesse **Alertas** → **Novo Alerta** 2. Configure a condição 3. Escolha canais de notificação 4. Salvar ### Via API ```bash curl -X POST "https://api.ophion.com.br/api/v1/alerts/rules" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "CPU Alta", "description": "Alerta quando CPU ultrapassa 80%", "enabled": true, "condition": { "metric": "system.cpu.usage", "operator": ">", "threshold": 80, "duration": "5m", "aggregation": "avg" }, "filters": { "host": "*", "environment": "production" }, "notifications": [ { "channel": "telegram", "integration_id": "tel_123" }, { "channel": "email", "to": ["admin@empresa.com"] } ], "severity": "warning", "ai_analysis": true }' ``` ## 7.4 Escalação ```yaml # Configurar política de escalação escalation: name: "Crítico Produção" steps: - delay: 0m notify: - channel: telegram target: grupo-infra - channel: slack target: "#alerts" - delay: 15m notify: - channel: telegram target: tech-lead - channel: sms target: "+5511999999999" - delay: 30m notify: - channel: phone target: "+5511999999999" - channel: email target: cto@empresa.com ``` --- # PARTE 8: DASHBOARDS ## 8.1 Dashboards Pré-configurados - **System Overview** - Visão geral de todos os hosts - **Docker Containers** - Métricas de containers - **Application Performance** - APM e traces - **Logs Explorer** - Busca e análise de logs - **Alerts History** - Histórico de alertas ## 8.2 Criar Dashboard Customizado ### Via Interface 1. **Dashboards** → **Novo Dashboard** 2. Arraste widgets da biblioteca 3. Configure queries 4. Salvar ### Via API ```bash curl -X POST "https://api.ophion.com.br/api/v1/dashboards" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Meu Dashboard", "widgets": [ { "type": "timeseries", "title": "CPU por Host", "query": "system.cpu.usage", "groupBy": "host", "position": {"x": 0, "y": 0, "w": 6, "h": 4} }, { "type": "gauge", "title": "Memória Total", "query": "avg(system.memory.percent)", "position": {"x": 6, "y": 0, "w": 3, "h": 4} } ] }' ``` --- # PARTE 9: API REFERENCE ## 9.1 Autenticação ```bash # Header de autorização Authorization: Bearer YOUR_API_KEY ``` ## 9.2 Endpoints Principais | Método | Endpoint | Descrição | |--------|----------|-----------| | GET | `/api/v1/hosts` | Listar hosts | | GET | `/api/v1/hosts/{id}/metrics` | Métricas de um host | | GET | `/api/v1/containers` | Listar containers | | GET | `/api/v1/logs` | Buscar logs | | GET | `/api/v1/traces` | Buscar traces | | GET | `/api/v1/alerts` | Listar alertas | | POST | `/api/v1/alerts/rules` | Criar regra de alerta | | GET | `/api/v1/dashboards` | Listar dashboards | ## 9.3 Exemplos ```bash # Buscar métricas de CPU das últimas 6 horas curl "https://api.ophion.com.br/api/v1/metrics?metric=system.cpu.usage&from=-6h" \ -H "Authorization: Bearer YOUR_API_KEY" # Buscar logs com filtro curl "https://api.ophion.com.br/api/v1/logs?query=error&host=web-01&from=-1h" \ -H "Authorization: Bearer YOUR_API_KEY" # Ingerir métricas customizadas curl -X POST "https://api.ophion.com.br/api/v1/metrics" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "metrics": [ { "name": "app.orders.count", "value": 150, "tags": {"region": "brasil"} } ] }' ``` --- # PARTE 10: TROUBLESHOOTING ## 10.1 Agent não conecta ```bash # Verificar DNS nslookup api.ophion.com.br # Verificar conectividade curl -v https://api.ophion.com.br/health # Verificar API Key curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.ophion.com.br/api/v1/status # Verificar logs do agent journalctl -u ophion-agent -f ``` ## 10.2 Métricas não aparecem 1. Verificar se agent está rodando 2. Verificar API Key 3. Aguardar 60 segundos 4. Verificar filtros no dashboard ## 10.3 Docker não monitora ```bash # Verificar socket ls -la /var/run/docker.sock # Testar acesso docker ps # Verificar se agent tem acesso docker exec ophion-agent docker ps ``` ## 10.4 Logs de Debug ```bash # Aumentar nível de log do agent echo "logging:\n level: debug" >> /etc/ophion/agent.yaml systemctl restart ophion-agent journalctl -u ophion-agent -f ``` --- # SUPORTE - 📧 **Email:** suporte@ophion.com.br - 💬 **Telegram:** [@ophion_suporte](https://t.me/ophion_suporte) - 📖 **Docs:** https://docs.ophion.com.br - 🐙 **GitHub:** https://github.com/bigtux/ophion - 🐛 **Issues:** https://github.com/bigtux/ophion/issues --- *🐍 OPHION - Observability Made Simple* *Made with 🖤 in Brazil*