opencode-skills-collection 4.0.67 → 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 +281 -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/anti-slop-design/SKILL.md +393 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -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/artifact-yylo/SKILL.md +122 -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/google-no-code/SKILL.md +136 -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/idea-evaluator/SKILL.md +75 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -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/ledger-tasks-yylo/SKILL.md +219 -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/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- 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/plan-ledger-tasks-yylo/SKILL.md +52 -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/ralph-loop-yylo/SKILL.md +55 -0
- package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
- package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -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/resumable-implementation-contracts/SKILL.md +254 -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/understand-project-yylo/SKILL.md +62 -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/weather-model-data-fetching/SKILL.md +277 -0
- package/bundled-skills/weather-observation-fetching/SKILL.md +246 -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/wiki-yylo/SKILL.md +114 -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/workflow-yylo/SKILL.md +107 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6924 -0
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: new-relic
|
|
3
|
+
description: Configure New Relic observability platform for infrastructure and application
|
|
4
|
+
monitoring.
|
|
5
|
+
category: devops
|
|
6
|
+
risk: critical
|
|
7
|
+
source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
|
|
8
|
+
source_repo: BagelHole/DevOps-Security-Agent-Skills
|
|
9
|
+
source_type: community
|
|
10
|
+
date_added: '2026-09-20'
|
|
11
|
+
license: MIT
|
|
12
|
+
license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
|
|
13
|
+
compatibility: Requires the relevant platform CLIs (kubectl, helm, terraform, git,
|
|
14
|
+
CI runners) and authorized access to the target environment. Docs-only; helper scripts
|
|
15
|
+
and templates not bundled.
|
|
16
|
+
metadata:
|
|
17
|
+
author: devops-skills
|
|
18
|
+
version: '1.0'
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# New Relic
|
|
22
|
+
|
|
23
|
+
Monitor applications and infrastructure with New Relic's observability platform.
|
|
24
|
+
|
|
25
|
+
## When to Use This Skill
|
|
26
|
+
|
|
27
|
+
Use this skill when:
|
|
28
|
+
- Implementing full-stack observability
|
|
29
|
+
- Setting up APM for applications
|
|
30
|
+
- Monitoring infrastructure health
|
|
31
|
+
- Creating custom dashboards and alerts
|
|
32
|
+
- Implementing distributed tracing
|
|
33
|
+
|
|
34
|
+
## Prerequisites
|
|
35
|
+
|
|
36
|
+
- New Relic account and license key
|
|
37
|
+
- Application access for APM agents
|
|
38
|
+
- Infrastructure access for host agents
|
|
39
|
+
|
|
40
|
+
## Infrastructure Agent
|
|
41
|
+
|
|
42
|
+
### Linux Installation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Add repository and install
|
|
46
|
+
curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash <!-- security-allowlist: curl-pipe-bash -->
|
|
47
|
+
|
|
48
|
+
# Configure license key
|
|
49
|
+
sudo NEW_RELIC_API_KEY=<YOUR_API_KEY> NEW_RELIC_ACCOUNT_ID=<ACCOUNT_ID> /usr/local/bin/newrelic install
|
|
50
|
+
|
|
51
|
+
# Or manual configuration
|
|
52
|
+
echo "license_key: YOUR_LICENSE_KEY" | sudo tee -a /etc/newrelic-infra.yml
|
|
53
|
+
sudo systemctl start newrelic-infra
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Docker
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
# docker-compose.yml
|
|
60
|
+
version: '3.8'
|
|
61
|
+
|
|
62
|
+
services:
|
|
63
|
+
newrelic-infra:
|
|
64
|
+
image: newrelic/infrastructure:latest
|
|
65
|
+
cap_add:
|
|
66
|
+
- SYS_PTRACE
|
|
67
|
+
privileged: true
|
|
68
|
+
pid: "host"
|
|
69
|
+
network_mode: "host"
|
|
70
|
+
environment:
|
|
71
|
+
- NRIA_LICENSE_KEY=${NEW_RELIC_LICENSE_KEY}
|
|
72
|
+
- NRIA_DISPLAY_NAME=docker-host
|
|
73
|
+
volumes:
|
|
74
|
+
- /:/host:ro
|
|
75
|
+
- /var/run/docker.sock:/var/run/docker.sock
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Kubernetes
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Using Helm
|
|
82
|
+
helm repo add newrelic https://helm-charts.newrelic.com
|
|
83
|
+
|
|
84
|
+
helm install newrelic-bundle newrelic/nri-bundle \
|
|
85
|
+
--namespace newrelic \
|
|
86
|
+
--create-namespace \
|
|
87
|
+
--set global.licenseKey=${NEW_RELIC_LICENSE_KEY} \
|
|
88
|
+
--set global.cluster=my-cluster \
|
|
89
|
+
--set newrelic-infrastructure.privileged=true \
|
|
90
|
+
--set ksm.enabled=true \
|
|
91
|
+
--set kubeEvents.enabled=true \
|
|
92
|
+
--set logging.enabled=true
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## APM Agents
|
|
96
|
+
|
|
97
|
+
### Node.js
|
|
98
|
+
|
|
99
|
+
```javascript
|
|
100
|
+
// At the very start of your application
|
|
101
|
+
require('newrelic');
|
|
102
|
+
|
|
103
|
+
// newrelic.js configuration
|
|
104
|
+
exports.config = {
|
|
105
|
+
app_name: ['My Application'],
|
|
106
|
+
license_key: process.env.NEW_RELIC_LICENSE_KEY,
|
|
107
|
+
distributed_tracing: {
|
|
108
|
+
enabled: true
|
|
109
|
+
},
|
|
110
|
+
logging: {
|
|
111
|
+
level: 'info'
|
|
112
|
+
},
|
|
113
|
+
error_collector: {
|
|
114
|
+
enabled: true,
|
|
115
|
+
ignore_status_codes: [404]
|
|
116
|
+
},
|
|
117
|
+
transaction_tracer: {
|
|
118
|
+
enabled: true,
|
|
119
|
+
transaction_threshold: 'apdex_f',
|
|
120
|
+
record_sql: 'obfuscated'
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Install agent
|
|
127
|
+
npm install newrelic
|
|
128
|
+
|
|
129
|
+
# Run application
|
|
130
|
+
NEW_RELIC_LICENSE_KEY=xxx node -r newrelic app.js
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Python
|
|
134
|
+
|
|
135
|
+
```python
|
|
136
|
+
# newrelic.ini
|
|
137
|
+
[newrelic]
|
|
138
|
+
license_key = YOUR_LICENSE_KEY
|
|
139
|
+
app_name = My Application
|
|
140
|
+
distributed_tracing.enabled = true
|
|
141
|
+
transaction_tracer.enabled = true
|
|
142
|
+
error_collector.enabled = true
|
|
143
|
+
browser_monitoring.auto_instrument = true
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Install agent
|
|
148
|
+
pip install newrelic
|
|
149
|
+
|
|
150
|
+
# Generate config file
|
|
151
|
+
newrelic-admin generate-config YOUR_LICENSE_KEY newrelic.ini
|
|
152
|
+
|
|
153
|
+
# Run application
|
|
154
|
+
NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin run-program python app.py
|
|
155
|
+
|
|
156
|
+
# Or with gunicorn
|
|
157
|
+
NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin run-program gunicorn app:app
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Java
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Download agent
|
|
164
|
+
curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip
|
|
165
|
+
unzip newrelic-java.zip
|
|
166
|
+
|
|
167
|
+
# Configure newrelic.yml
|
|
168
|
+
# license_key: YOUR_LICENSE_KEY
|
|
169
|
+
# app_name: My Application
|
|
170
|
+
|
|
171
|
+
# Run with agent
|
|
172
|
+
java -javaagent:/path/to/newrelic.jar -jar myapp.jar
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Go
|
|
176
|
+
|
|
177
|
+
```go
|
|
178
|
+
package main
|
|
179
|
+
|
|
180
|
+
import (
|
|
181
|
+
"github.com/newrelic/go-agent/v3/newrelic"
|
|
182
|
+
"net/http"
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
func main() {
|
|
186
|
+
app, err := newrelic.NewApplication(
|
|
187
|
+
newrelic.ConfigAppName("My Application"),
|
|
188
|
+
newrelic.ConfigLicense("YOUR_LICENSE_KEY"),
|
|
189
|
+
newrelic.ConfigDistributedTracerEnabled(true),
|
|
190
|
+
)
|
|
191
|
+
if err != nil {
|
|
192
|
+
panic(err)
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
http.HandleFunc(newrelic.WrapHandleFunc(app, "/", indexHandler))
|
|
196
|
+
http.ListenAndServe(":8080", nil)
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
func indexHandler(w http.ResponseWriter, r *http.Request) {
|
|
200
|
+
txn := newrelic.FromContext(r.Context())
|
|
201
|
+
txn.AddAttribute("user_id", "12345")
|
|
202
|
+
w.Write([]byte("Hello, World!"))
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Custom Instrumentation
|
|
207
|
+
|
|
208
|
+
### Custom Events
|
|
209
|
+
|
|
210
|
+
```python
|
|
211
|
+
import newrelic.agent
|
|
212
|
+
|
|
213
|
+
# Record custom event
|
|
214
|
+
newrelic.agent.record_custom_event('OrderPlaced', {
|
|
215
|
+
'order_id': '12345',
|
|
216
|
+
'amount': 99.99,
|
|
217
|
+
'customer_id': 'cust_001'
|
|
218
|
+
})
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Custom Metrics
|
|
222
|
+
|
|
223
|
+
```python
|
|
224
|
+
import newrelic.agent
|
|
225
|
+
|
|
226
|
+
# Record custom metric
|
|
227
|
+
newrelic.agent.record_custom_metric('Custom/OrderValue', 99.99)
|
|
228
|
+
|
|
229
|
+
# With attributes
|
|
230
|
+
newrelic.agent.record_custom_metric('Custom/ProcessingTime',
|
|
231
|
+
processing_time,
|
|
232
|
+
{'unit': 'milliseconds'}
|
|
233
|
+
)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Custom Spans
|
|
237
|
+
|
|
238
|
+
```python
|
|
239
|
+
import newrelic.agent
|
|
240
|
+
|
|
241
|
+
@newrelic.agent.function_trace(name='process_payment')
|
|
242
|
+
def process_payment(order_id, amount):
|
|
243
|
+
# This creates a custom span in the trace
|
|
244
|
+
pass
|
|
245
|
+
|
|
246
|
+
# Manual span creation
|
|
247
|
+
with newrelic.agent.FunctionTrace(name='custom_operation'):
|
|
248
|
+
# Traced code
|
|
249
|
+
pass
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## NRQL Queries
|
|
253
|
+
|
|
254
|
+
### Basic Queries
|
|
255
|
+
|
|
256
|
+
```sql
|
|
257
|
+
-- Transaction throughput
|
|
258
|
+
SELECT rate(count(*), 1 minute) FROM Transaction
|
|
259
|
+
WHERE appName = 'My Application'
|
|
260
|
+
SINCE 1 hour ago
|
|
261
|
+
|
|
262
|
+
-- Average response time
|
|
263
|
+
SELECT average(duration) FROM Transaction
|
|
264
|
+
WHERE appName = 'My Application'
|
|
265
|
+
SINCE 1 hour ago
|
|
266
|
+
|
|
267
|
+
-- Error rate
|
|
268
|
+
SELECT percentage(count(*), WHERE error IS true) FROM Transaction
|
|
269
|
+
WHERE appName = 'My Application'
|
|
270
|
+
SINCE 1 hour ago
|
|
271
|
+
|
|
272
|
+
-- Apdex score
|
|
273
|
+
SELECT apdex(duration, t: 0.5) FROM Transaction
|
|
274
|
+
WHERE appName = 'My Application'
|
|
275
|
+
SINCE 1 hour ago
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Advanced Queries
|
|
279
|
+
|
|
280
|
+
```sql
|
|
281
|
+
-- Slowest transactions
|
|
282
|
+
SELECT average(duration) FROM Transaction
|
|
283
|
+
WHERE appName = 'My Application'
|
|
284
|
+
FACET name
|
|
285
|
+
SINCE 1 hour ago
|
|
286
|
+
ORDER BY average(duration) DESC
|
|
287
|
+
LIMIT 10
|
|
288
|
+
|
|
289
|
+
-- Error breakdown
|
|
290
|
+
SELECT count(*) FROM TransactionError
|
|
291
|
+
WHERE appName = 'My Application'
|
|
292
|
+
FACET error.class
|
|
293
|
+
SINCE 1 hour ago
|
|
294
|
+
|
|
295
|
+
-- Percentile response times
|
|
296
|
+
SELECT percentile(duration, 50, 90, 95, 99) FROM Transaction
|
|
297
|
+
WHERE appName = 'My Application'
|
|
298
|
+
SINCE 1 hour ago TIMESERIES
|
|
299
|
+
|
|
300
|
+
-- Custom event analysis
|
|
301
|
+
SELECT average(amount), count(*) FROM OrderPlaced
|
|
302
|
+
FACET customer_id
|
|
303
|
+
SINCE 1 day ago
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## Dashboards
|
|
307
|
+
|
|
308
|
+
### Dashboard JSON
|
|
309
|
+
|
|
310
|
+
```json
|
|
311
|
+
{
|
|
312
|
+
"name": "Application Dashboard",
|
|
313
|
+
"pages": [
|
|
314
|
+
{
|
|
315
|
+
"name": "Overview",
|
|
316
|
+
"widgets": [
|
|
317
|
+
{
|
|
318
|
+
"title": "Throughput",
|
|
319
|
+
"visualization": {"id": "viz.line"},
|
|
320
|
+
"configuration": {
|
|
321
|
+
"nrqlQueries": [
|
|
322
|
+
{
|
|
323
|
+
"accountId": 12345,
|
|
324
|
+
"query": "SELECT rate(count(*), 1 minute) FROM Transaction WHERE appName = 'My Application' SINCE 1 hour ago TIMESERIES"
|
|
325
|
+
}
|
|
326
|
+
]
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"title": "Error Rate",
|
|
331
|
+
"visualization": {"id": "viz.billboard"},
|
|
332
|
+
"configuration": {
|
|
333
|
+
"nrqlQueries": [
|
|
334
|
+
{
|
|
335
|
+
"accountId": 12345,
|
|
336
|
+
"query": "SELECT percentage(count(*), WHERE error IS true) FROM Transaction WHERE appName = 'My Application' SINCE 1 hour ago"
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
}
|
|
343
|
+
]
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
## Alerts
|
|
348
|
+
|
|
349
|
+
### Alert Condition (NRQL)
|
|
350
|
+
|
|
351
|
+
```json
|
|
352
|
+
{
|
|
353
|
+
"name": "High Error Rate",
|
|
354
|
+
"type": "static",
|
|
355
|
+
"nrql": {
|
|
356
|
+
"query": "SELECT percentage(count(*), WHERE error IS true) FROM Transaction WHERE appName = 'My Application'"
|
|
357
|
+
},
|
|
358
|
+
"valueFunction": "single_value",
|
|
359
|
+
"terms": [
|
|
360
|
+
{
|
|
361
|
+
"threshold": 5,
|
|
362
|
+
"thresholdOccurrences": "all",
|
|
363
|
+
"thresholdDuration": 300,
|
|
364
|
+
"operator": "above",
|
|
365
|
+
"priority": "critical"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"threshold": 2,
|
|
369
|
+
"thresholdOccurrences": "all",
|
|
370
|
+
"thresholdDuration": 300,
|
|
371
|
+
"operator": "above",
|
|
372
|
+
"priority": "warning"
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Alert Policy
|
|
379
|
+
|
|
380
|
+
```json
|
|
381
|
+
{
|
|
382
|
+
"name": "Application Alerts",
|
|
383
|
+
"incident_preference": "PER_CONDITION_AND_TARGET",
|
|
384
|
+
"conditions": [
|
|
385
|
+
{
|
|
386
|
+
"name": "High Response Time",
|
|
387
|
+
"type": "apm_app_metric",
|
|
388
|
+
"entities": ["My Application"],
|
|
389
|
+
"metric": "response_time_web",
|
|
390
|
+
"condition_scope": "application",
|
|
391
|
+
"terms": [
|
|
392
|
+
{
|
|
393
|
+
"duration": "5",
|
|
394
|
+
"operator": "above",
|
|
395
|
+
"threshold": "1",
|
|
396
|
+
"priority": "critical"
|
|
397
|
+
}
|
|
398
|
+
]
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
}
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
## Logs in Context
|
|
405
|
+
|
|
406
|
+
### Python Configuration
|
|
407
|
+
|
|
408
|
+
```python
|
|
409
|
+
# newrelic.ini
|
|
410
|
+
[newrelic]
|
|
411
|
+
application_logging.enabled = true
|
|
412
|
+
application_logging.forwarding.enabled = true
|
|
413
|
+
application_logging.metrics.enabled = true
|
|
414
|
+
application_logging.local_decorating.enabled = true
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
### Log Forwarding
|
|
418
|
+
|
|
419
|
+
```yaml
|
|
420
|
+
# newrelic-infra.yml
|
|
421
|
+
log:
|
|
422
|
+
- name: application-logs
|
|
423
|
+
file: /var/log/myapp/*.log
|
|
424
|
+
attributes:
|
|
425
|
+
service: myapp
|
|
426
|
+
environment: production
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
## Common Issues
|
|
430
|
+
|
|
431
|
+
### Issue: No Data Appearing
|
|
432
|
+
**Problem**: Agent not reporting to New Relic
|
|
433
|
+
**Solution**: Verify license key, check network connectivity, review agent logs
|
|
434
|
+
|
|
435
|
+
### Issue: Missing Transactions
|
|
436
|
+
**Problem**: Some transactions not captured
|
|
437
|
+
**Solution**: Check instrumentation coverage, verify framework support
|
|
438
|
+
|
|
439
|
+
### Issue: High Overhead
|
|
440
|
+
**Problem**: APM agent impacting performance
|
|
441
|
+
**Solution**: Adjust sampling rate, disable unnecessary features
|
|
442
|
+
|
|
443
|
+
## Best Practices
|
|
444
|
+
|
|
445
|
+
- Use meaningful application names
|
|
446
|
+
- Implement distributed tracing across services
|
|
447
|
+
- Set up service maps for dependency visualization
|
|
448
|
+
- Configure appropriate alert thresholds
|
|
449
|
+
- Use custom attributes for business context
|
|
450
|
+
- Implement logs in context for correlation
|
|
451
|
+
- Set up workloads for service grouping
|
|
452
|
+
- Regular review of unused dashboards and alerts
|
|
453
|
+
|
|
454
|
+
## Related Skills
|
|
455
|
+
|
|
456
|
+
- datadog (`datadog`) - Alternative monitoring platform
|
|
457
|
+
- prometheus-grafana (`prometheus-grafana`) - Open source monitoring
|
|
458
|
+
- alerting-oncall (`alerting-oncall`) - Alert management
|
|
459
|
+
|
|
460
|
+
## Limitations
|
|
461
|
+
|
|
462
|
+
- Guidance executes against real environments: confirm target, blast radius, and rollback plan before applying anything.
|
|
463
|
+
- Never deploy to production without explicit approval. Docs-only import: upstream scripts and templates not bundled.
|
|
464
|
+
|
|
465
|
+
### Example
|
|
466
|
+
|
|
467
|
+
```bash
|
|
468
|
+
git status && git diff --stat
|
|
469
|
+
kubectl diff -f manifest.yaml
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
> 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.
|