dd-monitors

Quản lý giám sát - tạo, cập nhật, tắt tiếng và các phương pháp tốt nhất về cảnh báo.

npx skills add https://github.com/datadog-labs/pup --skill dd-monitors

Datadog Monitors

Create, manage, and maintain monitors for alerting.

Prerequisites

This requires the pup binary in your path.

pup - cargo install --git https://github.com/DataDog/pup

Quick Start

pup auth login

Common Operations

List Monitors

pup monitors list
pup monitors list --tags "team:platform"
pup monitors search --query "status:Alert"

Get Monitor

pup monitors get <id>

Create Monitor

pup monitors create --file monitor.json

Mute/Unmute

# Mute with duration
pup monitors update 12345 --file monitor-muted.json

# Or mute with specific end time
pup monitors update 12345 --file monitor-muted-until.json

# Unmute
pup monitors update 12345 --file monitor-unmuted.json

⚠️ Monitor Creation Best Practices

1. Avoid Alert Fatigue

RuleWhy
No flapping alertsUse last_Xm not last_1m
Meaningful thresholdsBased on SLOs, not guesses
Actionable alertsIf no action needed, don't alert
Include runbook@runbook-url in message
# WRONG - will flap constantly
query = "avg(last_1m):avg:system.cpu.user{*} > 50"  # ❌ Too sensitive

# CORRECT - stable alerting
query = "avg(last_5m):avg:system.cpu.user{env:prod} by {host} > 80"  # ✅ Reasonable window

2. Use Proper Scoping

# WRONG - alerts on everything
query = "avg(last_5m):avg:system.cpu.user{*} > 80"  # ❌ No scope

# CORRECT - scoped to what matters
query = "avg(last_5m):avg:system.cpu.user{env:prod,service:api} by {host} > 80"  # ✅

3. Set Recovery Thresholds

monitor = {
    "query": "avg(last_5m):avg:system.cpu.user{env:prod} > 80",
    "options": {
        "thresholds": {
            "critical": 80,
            "critical_recovery": 70,  # ✅ Prevents flapping
            "warning": 60,
            "warning_recovery": 50
        }
    }
}

4. Include Context in Messages

message = """
## High CPU Alert

Host: {{host.name}}
Current Value: {{value}}
Threshold: {{threshold}}

### Runbook
1. Check top processes: `ssh {{host.name}} 'top -bn1 | head -20'`
2. Check recent deploys
3. Scale if needed

@slack-ops @pagerduty-oncall
"""

⚠️ NEVER Delete Monitors Directly

Use safe deletion workflow (same as dashboards):

def safe_mark_monitor_for_deletion(monitor_id: str, client) -> bool:
    """Mark monitor instead of deleting."""
    monitor = client.get_monitor(monitor_id)
    name = monitor.get("name", "")
    
    if "[MARKED FOR DELETION]" in name:
        print(f"Already marked: {name}")
        return False
    
    new_name = f"[MARKED FOR DELETION] {name}"
    client.update_monitor(monitor_id, {"name": new_name})
    print(f"✓ Marked: {new_name}")
    return True

Monitor Types

TypeUse Case
metric alertCPU, memory, custom metrics
query alertComplex metric queries
service checkAgent check status
event alertEvent stream patterns
log alertLog pattern matching
compositeCombine multiple monitors
apmAPM metrics

Audit Monitors

# Find monitors without owners
pup monitors list | jq '.[] | select(.tags | contains(["team:"]) | not) | {id, name}'

# Find noisy monitors (high alert count)
pup monitors list | jq 'sort_by(.overall_state_modified) | .[:10] | .[] | {id, name, status: .overall_state}'

Downtime vs Muting

UseWhen
Mute monitorQuick one-off, < 1 hour
DowntimeScheduled maintenance, recurring
# Downtime (preferred)
pup downtime create --file downtime.json

Failure Handling

ProblemFix
Alert not firingCheck query returns data, thresholds
Too many alertsIncrease window, add recovery threshold
No data alertsCheck agent connectivity, metric exists
Auth errorpup auth refresh

References

Thêm skills từ datadog-labs

dd-audit-compliance-report
datadog-labs
Tạo bằng chứng tuân thủ sẵn sàng cho kiểm toán viên từ Datadog Audit Trail cho SOC 2 và PCI DSS. Ánh xạ các kiểm soát khung đến các mẫu truy vấn cụ thể và tạo ra…
experiment-analyzer
datadog-labs
Phân tích kết quả thí nghiệm LLM. Xử lý các thí nghiệm đơn lẻ hoặc so sánh, chế độ khám phá hoặc hỏi đáp. Sử dụng khi người dùng nói "phân tích thí nghiệm", "so sánh…
dd-logs
datadog-labs
Quản lý log - tìm kiếm, pipeline, lưu trữ và kiểm soát chi phí.
dd-audit-cost-spike-investigation
datadog-labs
Điều tra sự gia tăng đột biến về mức sử dụng hoặc chi phí sản phẩm Datadog bằng cách đối chiếu dữ liệu Đo lường Mức sử dụng (khi nào/cái gì tăng đột biến) với Nhật ký Kiểm toán các thay đổi cấu hình (ai đã thay đổi cái gì trong…
dd-audit-key-compromise
datadog-labs
Điều tra một khóa API Datadog có khả năng bị xâm phạm — dòng thời gian các hành động, phân tích địa lý/IP, các điểm cuối được gọi, cờ bất thường và các bước khắc phục.
eval-trace-rca
datadog-labs
Phân tích nguyên nhân gốc rễ trên các dấu vết LLM sản xuất bằng cách sử dụng kết quả đánh giá của giám khảo làm tín hiệu. Chẩn đoán lý do tại sao ứng dụng của người dùng đang gặp lỗi. Sử dụng khi người dùng nói "eval…
dd-account-setup
datadog-labs
Đảm bảo người dùng có tài khoản Datadog đã xác thực với DD_API_KEY hợp lệ trên đúng khu vực trước khi thực hiện bất kỳ thiết lập hoặc đo lường Datadog nào. Phát hiện các…
dd-product-recommender
datadog-labs
Đề xuất các sản phẩm Datadog phù hợp cho một codebase và/hoặc mục tiêu đã nêu — dựa trên bản đồ tech-stack→product và bản đồ use-case→product được xây dựng từ Datadog…