Common workflows and usage patterns for Pup CLI.
# Login with default site (datadoghq.com)
pup auth login
# Login with specific site
pup --site=datadoghq.eu auth login
# Check authentication status
pup auth status
# Logout
pup auth logoutexport DD_API_KEY="your-api-key"
export DD_APP_KEY="your-app-key"
export DD_SITE="datadoghq.com"# List all metrics
pup metrics list
# Filter by pattern
pup metrics list --filter="system.*"
pup metrics list --filter="custom.app.*"# Classic query syntax
pup metrics search --query="avg:system.cpu.user{*}" --from="1h"
# Search with aggregation and grouping
pup metrics search --query="sum:app.requests{env:prod} by {service}" --from="4h"# Timeseries formula query
pup metrics query --query="avg:system.cpu.user{*}" --from="1h" --to="now"
# Query with aggregation
pup metrics query --query="sum:app.requests{env:prod} by {service}" --from="4h"# List all monitors
pup monitors list
# Filter by tag
pup monitors list --tag="env:production"
pup monitors list --tag="team:backend"
# Multiple tags
pup monitors list --tag="env:prod" --tag="service:api"# Get specific monitor by ID
pup monitors get 12345678# Delete monitor (prompts for confirmation)
pup monitors delete 12345678
# Skip confirmation
pup monitors delete 12345678 --yes# Search for errors in last hour
pup logs search --query="status:error" --from="1h" --to="now"
# Search by service
pup logs search --query="service:web-app status:warn" --from="30m"
# Complex query with attributes
pup logs search --query="@user.id:12345 status:error" --limit=100
# Search with time range
pup logs search \
--query="service:api" \
--from="2024-02-04T10:00:00Z" \
--to="2024-02-04T11:00:00Z"# Count logs by status
pup logs aggregate \
--query="service:web-app" \
--from="1h" \
--compute="count:*" \
--group-by="status"# List all dashboards
pup dashboards list
# Output as table
pup dashboards list --output=table# Get dashboard details
pup dashboards get "abc-123-def"
# Get public URL for sharing
pup dashboards url "abc-123-def"pup dashboards delete "abc-123-def" --yes# List all SLOs
pup slos list
# Filter by tag
pup slos list --tag="service:api"pup slos get "abc-123-def"pup slos create \
--name="API Availability" \
--type="metric" \
--target=99.9 \
--timeframe="30d"# List corrections for SLO
pup slos corrections list "abc-123-def"
# Create correction
pup slos corrections create "abc-123-def" \
--start="2024-02-04T10:00:00Z" \
--end="2024-02-04T11:00:00Z" \
--category="deployment"# List all incidents
pup incidents list
# Filter by status
pup incidents list --status="active"pup incidents get "abc-123"pup incidents create \
--title="High Error Rate in API" \
--severity="SEV-2" \
--customer-impacted=truepup incidents update "abc-123" --status="resolved"pup rum apps listpup rum apps get "abc-123"pup rum sessions search \
--query="@application.id:abc-123" \
--from="1h"pup security rules listpup security rules get "abc-123"pup security signals list --from="1h"pup security findings search \
--query="@severity:high"# List all hosts
pup infrastructure hosts list
# Filter by tag
pup infrastructure hosts list --filter="env:production"pup infrastructure hosts get "host-name"# List all host tags
pup tags listpup tags get "host-name"pup tags add "host-name" \
--tag="env:production" \
--tag="team:backend"pup tags update "host-name" \
--tag="env:prod" \
--tag="service:api"pup users listpup users get "user-id"pup users roles listpup organizations getpup api-keys listpup api-keys get "key-id"pup api-keys create --name="CI/CD Key"pup api-keys delete "key-id" --yespup synthetics tests listpup synthetics tests get "test-id"pup synthetics locations listpup monitors list --output=jsonpup monitors list --output=yamlpup monitors list --output=tablepup monitors list --fields="id,name,type,status"pup --config=/path/to/config.yaml monitors listpup --site=datadoghq.eu monitors listpup --verbose monitors listpup --yes monitors delete 12345678# List monitors for a service
pup monitors list --tag="service:api" --output=table
# Check recent logs
pup logs search --query="service:api" --from="1h" --output=table
# Query metrics
pup metrics query --query="avg:api.latency{*}" --from="1h"# Create incident
pup incidents create --title="API Down" --severity="SEV-1"
# Search related logs
pup logs search --query="status:error service:api" --from="1h"
# Check monitors
pup monitors list --tag="service:api"
# Update incident status
pup incidents update "incident-id" --status="investigating"# List recent security signals
pup security signals list --from="24h"
# Check security rules
pup security rules list
# Search security findings
pup security findings search --query="@severity:critical"
# Review audit logs
pup audit-logs list --from="7d"# List all hosts
pup infrastructure hosts list --output=table
# Get host details
pup infrastructure hosts get "host-name"
# Review host tags
pup tags list --output=table--from="1h" # 1 hour ago
--from="30m" # 30 minutes ago
--from="7d" # 7 days ago
--from="now" # Current time--from="2024-02-04T10:00:00Z"
--to="2024-02-04T11:00:00Z"--from="1707048000" # Unix timestamp in seconds# Authentication
export DD_API_KEY="your-api-key"
export DD_APP_KEY="your-app-key"
export DD_SITE="datadoghq.com"
# Configuration
export PUP_CONFIG="/path/to/config.yaml"
export PUP_OUTPUT="json"
export PUP_LOG_LEVEL="debug"Create ~/.config/pup/config.yaml:
site: datadoghq.com
output: json
verbose: false
# Default time ranges
default_from: 1h
default_to: now
# Output preferences
output_format: json
table_max_width: 120