opencode-skills-collection 4.0.68 → 4.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +266 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6943 -323
|
@@ -0,0 +1,487 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: datadog
|
|
3
|
+
description: Implement Datadog monitoring and APM for infrastructure and applications.
|
|
4
|
+
category: devops
|
|
5
|
+
risk: critical
|
|
6
|
+
source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
|
|
7
|
+
source_repo: BagelHole/DevOps-Security-Agent-Skills
|
|
8
|
+
source_type: community
|
|
9
|
+
date_added: '2026-09-20'
|
|
10
|
+
license: MIT
|
|
11
|
+
license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
|
|
12
|
+
compatibility: Requires the relevant platform CLIs (kubectl, helm, terraform, git,
|
|
13
|
+
CI runners) and authorized access to the target environment. Docs-only; helper scripts
|
|
14
|
+
and templates not bundled.
|
|
15
|
+
metadata:
|
|
16
|
+
author: devops-skills
|
|
17
|
+
version: '1.0'
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Datadog
|
|
21
|
+
|
|
22
|
+
Monitor infrastructure and applications with Datadog's unified observability platform.
|
|
23
|
+
|
|
24
|
+
## When to Use This Skill
|
|
25
|
+
|
|
26
|
+
Use this skill when:
|
|
27
|
+
- Implementing enterprise-grade monitoring
|
|
28
|
+
- Setting up APM and distributed tracing
|
|
29
|
+
- Creating unified dashboards for infrastructure and apps
|
|
30
|
+
- Configuring intelligent alerting
|
|
31
|
+
- Monitoring cloud infrastructure (AWS, Azure, GCP)
|
|
32
|
+
|
|
33
|
+
## Prerequisites
|
|
34
|
+
|
|
35
|
+
- Datadog account and API key
|
|
36
|
+
- Agent installation access
|
|
37
|
+
- Application code access for APM
|
|
38
|
+
|
|
39
|
+
## Agent Installation
|
|
40
|
+
|
|
41
|
+
### Linux
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Install agent
|
|
45
|
+
DD_API_KEY=<YOUR_API_KEY> DD_SITE="datadoghq.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script_agent7.sh)"
|
|
46
|
+
|
|
47
|
+
# Or via package manager
|
|
48
|
+
apt-get update && apt-get install datadog-agent
|
|
49
|
+
|
|
50
|
+
# Configure API key
|
|
51
|
+
echo "api_key: YOUR_API_KEY" >> /etc/datadog-agent/datadog.yaml
|
|
52
|
+
|
|
53
|
+
# Start agent
|
|
54
|
+
systemctl start datadog-agent
|
|
55
|
+
systemctl enable datadog-agent
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Docker
|
|
59
|
+
|
|
60
|
+
```yaml
|
|
61
|
+
# docker-compose.yml
|
|
62
|
+
version: '3.8'
|
|
63
|
+
|
|
64
|
+
services:
|
|
65
|
+
datadog-agent:
|
|
66
|
+
image: gcr.io/datadoghq/agent:7
|
|
67
|
+
environment:
|
|
68
|
+
- DD_API_KEY=${DD_API_KEY}
|
|
69
|
+
- DD_SITE=datadoghq.com
|
|
70
|
+
- DD_LOGS_ENABLED=true
|
|
71
|
+
- DD_APM_ENABLED=true
|
|
72
|
+
- DD_PROCESS_AGENT_ENABLED=true
|
|
73
|
+
volumes:
|
|
74
|
+
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
75
|
+
- /proc/:/host/proc/:ro
|
|
76
|
+
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
|
|
77
|
+
ports:
|
|
78
|
+
- "8126:8126" # APM
|
|
79
|
+
- "8125:8125/udp" # DogStatsD
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Kubernetes
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Using Helm
|
|
86
|
+
helm repo add datadog https://helm.datadoghq.com
|
|
87
|
+
|
|
88
|
+
helm install datadog datadog/datadog \
|
|
89
|
+
--set datadog.apiKey=${DD_API_KEY} \
|
|
90
|
+
--set datadog.site=datadoghq.com \
|
|
91
|
+
--set datadog.logs.enabled=true \
|
|
92
|
+
--set datadog.apm.portEnabled=true \
|
|
93
|
+
--set datadog.processAgent.enabled=true \
|
|
94
|
+
--namespace datadog \
|
|
95
|
+
--create-namespace
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Agent Configuration
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
# /etc/datadog-agent/datadog.yaml
|
|
102
|
+
api_key: YOUR_API_KEY
|
|
103
|
+
site: datadoghq.com
|
|
104
|
+
|
|
105
|
+
# Hostname
|
|
106
|
+
hostname: myserver.example.com
|
|
107
|
+
|
|
108
|
+
# Tags applied to all metrics
|
|
109
|
+
tags:
|
|
110
|
+
- env:production
|
|
111
|
+
- service:myapp
|
|
112
|
+
- team:platform
|
|
113
|
+
|
|
114
|
+
# Log collection
|
|
115
|
+
logs_enabled: true
|
|
116
|
+
|
|
117
|
+
# APM
|
|
118
|
+
apm_config:
|
|
119
|
+
enabled: true
|
|
120
|
+
apm_dd_url: https://trace.agent.datadoghq.com
|
|
121
|
+
|
|
122
|
+
# Process monitoring
|
|
123
|
+
process_config:
|
|
124
|
+
enabled: true
|
|
125
|
+
|
|
126
|
+
# Container monitoring
|
|
127
|
+
container_collect_all: true
|
|
128
|
+
docker_labels_as_tags:
|
|
129
|
+
app: service
|
|
130
|
+
environment: env
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Integration Configuration
|
|
134
|
+
|
|
135
|
+
### MySQL
|
|
136
|
+
|
|
137
|
+
```yaml
|
|
138
|
+
# /etc/datadog-agent/conf.d/mysql.d/conf.yaml
|
|
139
|
+
init_config:
|
|
140
|
+
|
|
141
|
+
instances:
|
|
142
|
+
- host: localhost
|
|
143
|
+
port: 3306
|
|
144
|
+
username: datadog
|
|
145
|
+
password: <PASSWORD>
|
|
146
|
+
tags:
|
|
147
|
+
- env:production
|
|
148
|
+
options:
|
|
149
|
+
replication: true
|
|
150
|
+
extra_status_metrics: true
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### PostgreSQL
|
|
154
|
+
|
|
155
|
+
```yaml
|
|
156
|
+
# /etc/datadog-agent/conf.d/postgres.d/conf.yaml
|
|
157
|
+
init_config:
|
|
158
|
+
|
|
159
|
+
instances:
|
|
160
|
+
- host: localhost
|
|
161
|
+
port: 5432
|
|
162
|
+
username: datadog
|
|
163
|
+
password: <PASSWORD>
|
|
164
|
+
dbname: mydb
|
|
165
|
+
collect_activity_metrics: true
|
|
166
|
+
collect_database_size_metrics: true
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### NGINX
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
# /etc/datadog-agent/conf.d/nginx.d/conf.yaml
|
|
173
|
+
init_config:
|
|
174
|
+
|
|
175
|
+
instances:
|
|
176
|
+
- nginx_status_url: http://localhost:80/nginx_status
|
|
177
|
+
tags:
|
|
178
|
+
- env:production
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Log Collection
|
|
182
|
+
|
|
183
|
+
### File-Based Logs
|
|
184
|
+
|
|
185
|
+
```yaml
|
|
186
|
+
# /etc/datadog-agent/conf.d/myapp.d/conf.yaml
|
|
187
|
+
logs:
|
|
188
|
+
- type: file
|
|
189
|
+
path: /var/log/myapp/*.log
|
|
190
|
+
service: myapp
|
|
191
|
+
source: python
|
|
192
|
+
sourcecategory: custom
|
|
193
|
+
tags:
|
|
194
|
+
- env:production
|
|
195
|
+
|
|
196
|
+
- type: file
|
|
197
|
+
path: /var/log/nginx/access.log
|
|
198
|
+
service: nginx
|
|
199
|
+
source: nginx
|
|
200
|
+
log_processing_rules:
|
|
201
|
+
- type: exclude_at_match
|
|
202
|
+
name: exclude_healthchecks
|
|
203
|
+
pattern: health_check
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Docker Logs
|
|
207
|
+
|
|
208
|
+
```yaml
|
|
209
|
+
# docker-compose.yml
|
|
210
|
+
services:
|
|
211
|
+
myapp:
|
|
212
|
+
labels:
|
|
213
|
+
com.datadoghq.ad.logs: '[{"source": "python", "service": "myapp"}]'
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Kubernetes Logs
|
|
217
|
+
|
|
218
|
+
```yaml
|
|
219
|
+
# Pod annotation
|
|
220
|
+
apiVersion: v1
|
|
221
|
+
kind: Pod
|
|
222
|
+
metadata:
|
|
223
|
+
annotations:
|
|
224
|
+
ad.datadoghq.com/myapp.logs: |
|
|
225
|
+
[{
|
|
226
|
+
"source": "python",
|
|
227
|
+
"service": "myapp",
|
|
228
|
+
"log_processing_rules": [{
|
|
229
|
+
"type": "multi_line",
|
|
230
|
+
"name": "python_tracebacks",
|
|
231
|
+
"pattern": "^Traceback"
|
|
232
|
+
}]
|
|
233
|
+
}]
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## APM Configuration
|
|
237
|
+
|
|
238
|
+
### Python
|
|
239
|
+
|
|
240
|
+
```python
|
|
241
|
+
from ddtrace import patch_all, tracer
|
|
242
|
+
|
|
243
|
+
# Automatic instrumentation
|
|
244
|
+
patch_all()
|
|
245
|
+
|
|
246
|
+
# Configure tracer
|
|
247
|
+
tracer.configure(
|
|
248
|
+
hostname='localhost',
|
|
249
|
+
port=8126,
|
|
250
|
+
service='myapp',
|
|
251
|
+
env='production',
|
|
252
|
+
version='1.0.0'
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
# Manual instrumentation
|
|
256
|
+
@tracer.wrap(service='myapp', resource='process_order')
|
|
257
|
+
def process_order(order_id):
|
|
258
|
+
with tracer.trace('validate_order') as span:
|
|
259
|
+
span.set_tag('order_id', order_id)
|
|
260
|
+
# Validation logic
|
|
261
|
+
|
|
262
|
+
with tracer.trace('save_order'):
|
|
263
|
+
# Save logic
|
|
264
|
+
pass
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# Install library
|
|
269
|
+
pip install ddtrace
|
|
270
|
+
|
|
271
|
+
# Run with auto-instrumentation
|
|
272
|
+
ddtrace-run python app.py
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Node.js
|
|
276
|
+
|
|
277
|
+
```javascript
|
|
278
|
+
const tracer = require('dd-trace').init({
|
|
279
|
+
service: 'myapp',
|
|
280
|
+
env: 'production',
|
|
281
|
+
version: '1.0.0',
|
|
282
|
+
logInjection: true
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
// Manual instrumentation
|
|
286
|
+
const span = tracer.startSpan('custom_operation');
|
|
287
|
+
span.setTag('user_id', userId);
|
|
288
|
+
// ... operation
|
|
289
|
+
span.finish();
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
# Install library
|
|
294
|
+
npm install dd-trace
|
|
295
|
+
|
|
296
|
+
# Run with auto-instrumentation
|
|
297
|
+
DD_TRACE_ENABLED=true node --require dd-trace/init app.js
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Go
|
|
301
|
+
|
|
302
|
+
```go
|
|
303
|
+
import (
|
|
304
|
+
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
|
|
305
|
+
)
|
|
306
|
+
|
|
307
|
+
func main() {
|
|
308
|
+
tracer.Start(
|
|
309
|
+
tracer.WithService("myapp"),
|
|
310
|
+
tracer.WithEnv("production"),
|
|
311
|
+
tracer.WithServiceVersion("1.0.0"),
|
|
312
|
+
)
|
|
313
|
+
defer tracer.Stop()
|
|
314
|
+
|
|
315
|
+
// Manual span
|
|
316
|
+
span, ctx := tracer.StartSpanFromContext(ctx, "process_request")
|
|
317
|
+
defer span.Finish()
|
|
318
|
+
span.SetTag("user_id", userID)
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Custom Metrics
|
|
323
|
+
|
|
324
|
+
### DogStatsD
|
|
325
|
+
|
|
326
|
+
```python
|
|
327
|
+
from datadog import DogStatsd
|
|
328
|
+
|
|
329
|
+
statsd = DogStatsd(host='localhost', port=8125)
|
|
330
|
+
|
|
331
|
+
# Counter
|
|
332
|
+
statsd.increment('myapp.orders.count', tags=['env:production'])
|
|
333
|
+
|
|
334
|
+
# Gauge
|
|
335
|
+
statsd.gauge('myapp.queue.size', queue_size, tags=['queue:orders'])
|
|
336
|
+
|
|
337
|
+
# Histogram
|
|
338
|
+
statsd.histogram('myapp.request.duration', response_time)
|
|
339
|
+
|
|
340
|
+
# Distribution
|
|
341
|
+
statsd.distribution('myapp.response_time', duration, tags=['endpoint:/api/orders'])
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### API Submission
|
|
345
|
+
|
|
346
|
+
```python
|
|
347
|
+
from datadog_api_client import Configuration, ApiClient
|
|
348
|
+
from datadog_api_client.v2.api.metrics_api import MetricsApi
|
|
349
|
+
from datadog_api_client.v2.model.metric_payload import MetricPayload
|
|
350
|
+
from datadog_api_client.v2.model.metric_series import MetricSeries
|
|
351
|
+
from datadog_api_client.v2.model.metric_point import MetricPoint
|
|
352
|
+
|
|
353
|
+
configuration = Configuration()
|
|
354
|
+
with ApiClient(configuration) as api_client:
|
|
355
|
+
api = MetricsApi(api_client)
|
|
356
|
+
|
|
357
|
+
payload = MetricPayload(
|
|
358
|
+
series=[
|
|
359
|
+
MetricSeries(
|
|
360
|
+
metric="custom.metric.name",
|
|
361
|
+
type=MetricSeries.GAUGE,
|
|
362
|
+
points=[MetricPoint(value=42.0, timestamp=int(time.time()))],
|
|
363
|
+
tags=["env:production"]
|
|
364
|
+
)
|
|
365
|
+
]
|
|
366
|
+
)
|
|
367
|
+
api.submit_metrics(body=payload)
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Dashboards
|
|
371
|
+
|
|
372
|
+
### Dashboard JSON
|
|
373
|
+
|
|
374
|
+
```json
|
|
375
|
+
{
|
|
376
|
+
"title": "Application Overview",
|
|
377
|
+
"widgets": [
|
|
378
|
+
{
|
|
379
|
+
"definition": {
|
|
380
|
+
"type": "timeseries",
|
|
381
|
+
"title": "Request Rate",
|
|
382
|
+
"requests": [
|
|
383
|
+
{
|
|
384
|
+
"q": "sum:trace.http.request.hits{service:myapp}.as_rate()",
|
|
385
|
+
"display_type": "line"
|
|
386
|
+
}
|
|
387
|
+
]
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"definition": {
|
|
392
|
+
"type": "query_value",
|
|
393
|
+
"title": "Error Rate",
|
|
394
|
+
"requests": [
|
|
395
|
+
{
|
|
396
|
+
"q": "sum:trace.http.request.errors{service:myapp}.as_rate() / sum:trace.http.request.hits{service:myapp}.as_rate() * 100"
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
"precision": 2
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
]
|
|
403
|
+
}
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
## Monitors (Alerts)
|
|
407
|
+
|
|
408
|
+
### Metric Monitor
|
|
409
|
+
|
|
410
|
+
```json
|
|
411
|
+
{
|
|
412
|
+
"name": "High Error Rate",
|
|
413
|
+
"type": "metric alert",
|
|
414
|
+
"query": "sum(last_5m):sum:trace.http.request.errors{service:myapp}.as_count() / sum:trace.http.request.hits{service:myapp}.as_count() > 0.05",
|
|
415
|
+
"message": "Error rate is {{value}}% for {{service.name}}. @slack-alerts",
|
|
416
|
+
"tags": ["service:myapp", "env:production"],
|
|
417
|
+
"options": {
|
|
418
|
+
"thresholds": {
|
|
419
|
+
"critical": 0.05,
|
|
420
|
+
"warning": 0.02
|
|
421
|
+
},
|
|
422
|
+
"notify_no_data": true,
|
|
423
|
+
"no_data_timeframe": 10
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
### APM Monitor
|
|
429
|
+
|
|
430
|
+
```json
|
|
431
|
+
{
|
|
432
|
+
"name": "High Latency Alert",
|
|
433
|
+
"type": "trace-analytics alert",
|
|
434
|
+
"query": "trace-analytics(\"service:myapp @http.status_code:2*\").rollup(\"avg\", \"@duration\").last(\"5m\") > 2000000000",
|
|
435
|
+
"message": "Average latency is above 2 seconds. @pagerduty",
|
|
436
|
+
"options": {
|
|
437
|
+
"thresholds": {
|
|
438
|
+
"critical": 2000000000
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
## Common Issues
|
|
445
|
+
|
|
446
|
+
### Issue: Agent Not Reporting
|
|
447
|
+
**Problem**: No data appearing in Datadog
|
|
448
|
+
**Solution**: Check API key, verify agent status with `datadog-agent status`
|
|
449
|
+
|
|
450
|
+
### Issue: Missing Traces
|
|
451
|
+
**Problem**: APM traces not appearing
|
|
452
|
+
**Solution**: Verify APM is enabled, check tracer configuration, verify port 8126
|
|
453
|
+
|
|
454
|
+
### Issue: High Cardinality Tags
|
|
455
|
+
**Problem**: Custom metrics getting dropped
|
|
456
|
+
**Solution**: Reduce unique tag values, use distributions instead of histograms
|
|
457
|
+
|
|
458
|
+
## Best Practices
|
|
459
|
+
|
|
460
|
+
- Use consistent service and environment tags
|
|
461
|
+
- Implement proper tag naming conventions
|
|
462
|
+
- Use unified service tagging (service, env, version)
|
|
463
|
+
- Set up service-level monitors
|
|
464
|
+
- Create dashboards per service
|
|
465
|
+
- Implement log correlation with traces
|
|
466
|
+
- Use distributions for latency metrics
|
|
467
|
+
- Configure proper alert escalation
|
|
468
|
+
|
|
469
|
+
## Related Skills
|
|
470
|
+
|
|
471
|
+
- prometheus-grafana (`prometheus-grafana`) - Open source alternative
|
|
472
|
+
- alerting-oncall (`alerting-oncall`) - Alert management
|
|
473
|
+
- aws-vpc (`aws-vpc`) - AWS monitoring
|
|
474
|
+
|
|
475
|
+
## Limitations
|
|
476
|
+
|
|
477
|
+
- Guidance executes against real environments: confirm target, blast radius, and rollback plan before applying anything.
|
|
478
|
+
- Never deploy to production without explicit approval. Docs-only import: upstream scripts and templates not bundled.
|
|
479
|
+
|
|
480
|
+
### Example
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
git status && git diff --stat
|
|
484
|
+
kubectl diff -f manifest.yaml
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
> Adapted from [BagelHole/DevOps-Security-Agent-Skills](https://github.com/BagelHole/DevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.
|