Integrando monitoramento com CI/CD
Integrando com CI/CD e Deploys
Integre a SuperPing no seu pipeline de deploy para pausar monitoramento automaticamente e evitar alertas falsos.
Por que integrar?
- Evita alertas durante deploys
- Automatiza pause/resume de monitores
- Melhora confiabilidade dos alertas
- Reduz ruído para a equipe
API da SuperPing
Use nossa API REST para controlar monitores:
Autenticação
Headers:
Authorization: Bearer SEU_TOKEN_API
Content-Type: application/json
Pausar monitor
POST /api/monitors/{id}/pause
{
"reason": "Deploy em andamento",
"duration": 300 // segundos
}
Retomar monitor
POST /api/monitors/{id}/resume
Integração com GitHub Actions
name: Deploy with monitoring
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Pause monitoring
run: |
curl -X POST \
-H "Authorization: Bearer [SUPERPING_TOKEN]" \
-H "Content-Type: application/json" \
-d '{"reason": "Deploy from GitHub", "duration": 600}' \
https://api.superping.app/monitors/[MONITOR_ID]/pause
- name: Deploy application
run: |
# Seus comandos de deploy aqui
./deploy.sh
- name: Resume monitoring
run: |
curl -X POST \
-H "Authorization: Bearer [SUPERPING_TOKEN]" \
https://api.superping.app/monitors/[MONITOR_ID]/resume
if: always() # Executa mesmo se deploy falhar
Integração com GitLab CI
stages:
- pause-monitoring
- deploy
- resume-monitoring
pause_monitoring:
stage: pause-monitoring
script:
- |
curl -X POST \
-H "Authorization: Bearer $SUPERPING_TOKEN" \
-H "Content-Type: application/json" \
-d '{"reason": "Deploy from GitLab", "duration": 900}' \
https://api.superping.app/monitors/$MONITOR_ID/pause
deploy_app:
stage: deploy
script:
- echo "Deploying application..."
- ./deploy.sh
resume_monitoring:
stage: resume-monitoring
script:
- |
curl -X POST \
-H "Authorization: Bearer $SUPERPING_TOKEN" \
https://api.superping.app/monitors/$MONITOR_ID/resume
when: always
Integração com Jenkins
pipeline {
agent any
stages {
stage('Pause Monitoring') {
steps {
script {
sh '''
curl -X POST \
-H "Authorization: Bearer [SUPERPING_TOKEN]" \
-H "Content-Type: application/json" \
-d '{"reason": "Deploy from Jenkins", "duration": 1200}' \
https://api.superping.app/monitors/[MONITOR_ID]/pause
'''
}
}
}
stage('Deploy') {
steps {
sh './deploy.sh'
}
}
}
post {
always {
script {
sh '''
curl -X POST \
-H "Authorization: Bearer [SUPERPING_TOKEN]" \
https://api.superping.app/monitors/[MONITOR_ID]/resume
'''
}
}
}
}
Script bash para deploys manuais
#!/bin/bash
SUPERPING_TOKEN="seu_token_aqui"
MONITOR_ID="seu_monitor_id"
DEPLOY_REASON="Deploy manual"
DEPLOY_DURATION=600 # 10 minutos
echo "Pausando monitoramento..."
curl -X POST \
-H "Authorization: Bearer $SUPERPING_TOKEN" \
-H "Content-Type: application/json" \
-d "{"reason": "$DEPLOY_REASON", "duration": $DEPLOY_DURATION}" \
https://api.superping.app/monitors/$MONITOR_ID/pause
echo "Executando deploy..."
# Seus comandos de deploy aqui
./seus_comandos_deploy.sh
echo "Retomando monitoramento..."
curl -X POST \
-H "Authorization: Bearer $SUPERPING_TOKEN" \
https://api.superping.app/monitors/$MONITOR_ID/resume
echo "Deploy concluído!"
Webhook para notificar deploys
Configure um webhook para receber notificações de deploy:
POST /webhook/deploy
{
"event": "deployment.started",
"monitor_id": "abc123",
"reason": "Deploy from CI/CD",
"estimated_duration": 300,
"deploy_id": "deploy-456",
"branch": "main",
"commit": "a1b2c3d4"
}
Melhores práticas
Tempo de pausa
- Deploy simples: 5-10 minutos
- Deploy com migração: 15-30 minutos
- Deploy complexo: 30+ minutos
Múltiplos ambientes
- Pause apenas monitores do ambiente sendo deployado
- Mantenha produção ativa durante deploy de staging
- Use tags para agrupar monitores por ambiente
Rollback
Se deploy falhar:
- Execute rollback
- Retome monitoramento
- Verifique se tudo voltou ao normal
- Investigue causa da falha
💡 Dica avançada
Use diferentes durações de pausa baseadas no tipo de deploy: hotfix (5min), feature (15min), major release (30min).
Monitorando o próprio deploy
Crie monitores específicos para:
- Pipeline de CI/CD
- Health check pós-deploy
- Smoke tests
- Verificação de funcionalidades críticas