Skip to main content

datadog

Query metrics, manage monitors, post events, and interact with Datadog via the dogshell CLI.

소스 정보

저장소
olasunkanmi-SE/codebuddy
최근 소스 활동
2026년 3월 8일 03:01
감지된 SKILL.md 언어
영어
스타
142
포크
44

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
datadog
description
Query metrics, manage monitors, post events, and interact with Datadog via the dogshell CLI.
metadata
{"displayName":"Datadog","icon":"activity","category":"monitoring","version":"1.0.0","dependencies":{"cli":"dog","checkCommand":"dog --version","install":{"darwin":"[Truncated]","linux":"[Truncated]","windows":"[Truncated]"}},"config":[{"name":"DATADOG_API_KEY","label":"API Key","type":"secret","required":true,"placeholder":"Your Datadog API key"},{"name":"DATADOG_APP_KEY","label":"Application Key","type":"secret","required":true,"placeholder":"Your Datadog Application key"},{"name":"DATADOG_HOST","label":"Datadog Host","type":"string","required":false,"placeholder":"https://api.datadoghq.com"}],"auth":{"type":"api-key","envVars":["DATADOG_API_KEY","DATADOG_APP_KEY"]}}
# dogshell (Datadog CLI) Use `dog` to interact with Datadog for metrics, monitors, events, dashboards, and more. ## Setup Before using, set your Datadog API and Application keys: ```bash export DATADOG_API_KEY="your_api_key" export DATADOG_APP_KEY="your_app_key" ``` Or create `~/.dogrc`: ```ini [Connection] apikey = your_api_key appkey = your_app_key ``` Secure the config file: ```bash chmod 600 ~/.dogrc ``` ## Common Commands ### Query Metrics ```bash # Query metric data (last hour) dog metric query --query "avg:system.cpu.user{*}" --start $(date -v-1H +%s) --end $(date +%s) # Query with specific host filter dog metric query --query "avg:system.memory.used{host:myserver}" --start $(date -v-1H +%s) --end $(date +%s) # Query multiple metrics dog metric query --query "avg:system.cpu.user{*},avg:system.cpu.system{*}" --start $(date -v-1H +%s) --end $(date +%s) ``` ### Post Metrics ```bash # Post a single metric dog metric post my.custom.metric 42 --host myserver --tags env:prod,service:api # Post metric with timestamp dog metric post my.custom.metric 42 --timestamp $(date +%s) ``` ### Events ```bash # Post an event dog event post "Deployment Complete" "Deployed version 1.2.3 to production" --tags env:prod,service:api # Post event with priority dog event post "Alert" "High memory usage detected" --priority normal --alert_type warning # Query events (last 24 hours) dog event query --start $(date -v-1d +%s) --end $(date +%s) # Query events with tags dog event query --start $(date -v-1d +%s) --end $(date +%s) --tags env:prod ``` ### Monitors ```bash # List all monitors dog monitor list # Get specific monitor dog monitor show <monitor_id> # Mute a monitor dog monitor mute <monitor_id> # Unmute a monitor dog monitor unmute <monitor_id> # Mute all monitors dog monitor mute_all # Create a metric monitor dog monitor create "metric alert" "My Monitor" "avg(last_5m):avg:system.cpu.user{*} > 80" --message "CPU usage is high @slack-alerts" ``` ### Service Checks ```bash # Post a service check dog service_check post my.service.check 0 --host myserver --tags env:prod # Status: 0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN # Post check with message dog service_check post my.health.check 0 --message "All systems operational" ``` ### Dashboards ```bash # List all dashboards dog dashboard list # Get dashboard details dog dashboard show <dashboard_id> ``` ### Hosts ```bash # Search hosts dog host search --query "host:web*" # Mute a host dog host mute <hostname> # Unmute a host dog host unmute <hostname> ``` ### Tags ```bash # Get tags for a host dog tag show <hostname> # Add tags to a host dog tag add <hostname> env:prod role:web # Update tags for a host (replaces existing) dog tag update <hostname> env:staging role:api # Remove all tags from a host dog tag detach <hostname> ``` ### Downtimes ```bash # Schedule a downtime dog downtime schedule --scope "host:myserver" --start $(date +%s) --end $(date -v+1H +%s) --message "Maintenance window" # List active downtimes dog downtime list # Cancel a downtime dog downtime cancel <downtime_id> ``` ## Environment Variables | Variable | Description | | ----------------- | --------------------------------------------------- | | `DATADOG_API_KEY` | Your Datadog API key | | `DATADOG_APP_KEY` | Your Datadog Application key | | `DATADOG_HOST` | API endpoint (default: `https://api.datadoghq.com`) | For EU region, set: ```bash export DATADOG_HOST="https://api.datadoghq.eu" ``` ## Security Notes - Never commit API keys to version control - Use Application keys with minimal required permissions - Store credentials in `~/.dogrc` with `chmod 600` - Rotate keys periodically - Use separate keys for different environments ## Useful Queries ### System Metrics ```bash # CPU usage dog metric query --query "avg:system.cpu.user{*} by {host}" # Memory usage dog metric query --query "avg:system.mem.used{*}/avg:system.mem.total{*}*100" # Disk usage dog metric query --query "avg:system.disk.in_use{*} by {device}" ``` ### Application Metrics ```bash # Request rate dog metric query --query "sum:trace.http.request.hits{service:my-app}.as_rate()" # Error rate dog metric query --query "sum:trace.http.request.errors{service:my-app}/sum:trace.http.request.hits{service:my-app}*100" # Latency (p95) dog metric query --query "p95:trace.http.request.duration{service:my-app}" ``` ## Alternative: datadog-ci For CI/CD operations, use `datadog-ci`: ```bash # Install npm install -g @datadog/datadog-ci # Upload sourcemaps datadog-ci sourcemaps upload ./dist --service my-app --release-version 1.0.0 # Upload test results datadog-ci junit upload --service my-app ./test-results/*.xml # Trigger Synthetic tests datadog-ci synthetics run-tests --public-id abc-123 ```
GitHub에서 보기