[{"data":1,"prerenderedAt":1023},["ShallowReactive",2],{"docs-navigation":3,"-docs-installation-kubernetes-monitoring":410,"-docs-installation-kubernetes-monitoring-surround":1018},[4,19,166,319,333,397],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":18},"Overview","i-lucide-compass","\u002Fdocs\u002Foverview","docs\u002F1.overview",[10,14],{"title":11,"path":12,"stem":13},"Introduction","\u002Fdocs\u002Foverview\u002Fintroduction","docs\u002F1.overview\u002F1.introduction",{"title":15,"path":16,"stem":17},"JFrog compatibility","\u002Fdocs\u002Foverview\u002Fjfrog-compatibility","docs\u002F1.overview\u002F2.jfrog-compatibility",false,{"title":20,"icon":21,"path":22,"stem":23,"children":24,"page":18},"Installation","i-lucide-download","\u002Fdocs\u002Finstallation","docs\u002F2.installation",[25,29,43,68,108,112,116,162],{"title":26,"path":27,"stem":28},"Choosing a method","\u002Fdocs\u002Finstallation\u002Foverview","docs\u002F2.installation\u002F1.overview",{"title":30,"icon":31,"path":32,"stem":33,"children":34,"page":18},"Single binary","i-lucide-terminal","\u002Fdocs\u002Finstallation\u002Fsingle-binary","docs\u002F2.installation\u002F2.single-binary",[35,39],{"title":36,"path":37,"stem":38},"Quick start","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Fquick-start","docs\u002F2.installation\u002F2.single-binary\u002F1.quick-start",{"title":40,"path":41,"stem":42},"Limits and backups","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Foperations","docs\u002F2.installation\u002F2.single-binary\u002F2.operations",{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":18},"Docker","i-simple-icons-docker","\u002Fdocs\u002Finstallation\u002Fdocker","docs\u002F2.installation\u002F3.docker",[49,52,56,60,64],{"title":36,"path":50,"stem":51},"\u002Fdocs\u002Finstallation\u002Fdocker\u002Fquick-start","docs\u002F2.installation\u002F3.docker\u002F1.quick-start",{"title":53,"path":54,"stem":55},"PostgreSQL and S3","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fpostgresql-and-s3","docs\u002F2.installation\u002F3.docker\u002F2.postgresql-and-s3",{"title":57,"path":58,"stem":59},"Docker Compose","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose","docs\u002F2.installation\u002F3.docker\u002F3.compose",{"title":61,"path":62,"stem":63},"Compose settings","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-settings","docs\u002F2.installation\u002F3.docker\u002F4.compose-settings",{"title":65,"path":66,"stem":67},"Compose with another object store","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-other-object-storage","docs\u002F2.installation\u002F3.docker\u002F5.compose-other-object-storage",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":18},"Kubernetes","i-simple-icons-kubernetes","\u002Fdocs\u002Finstallation\u002Fkubernetes","docs\u002F2.installation\u002F4.kubernetes",[74,77,80,84,88,92,96,100,104],{"title":5,"path":75,"stem":76},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Foverview","docs\u002F2.installation\u002F4.kubernetes\u002F1.overview",{"title":36,"path":78,"stem":79},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fquick-start","docs\u002F2.installation\u002F4.kubernetes\u002F2.quick-start",{"title":81,"path":82,"stem":83},"External PostgreSQL","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-postgresql","docs\u002F2.installation\u002F4.kubernetes\u002F3.external-postgresql",{"title":85,"path":86,"stem":87},"External object storage","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-object-storage","docs\u002F2.installation\u002F4.kubernetes\u002F4.external-object-storage",{"title":89,"path":90,"stem":91},"Exposing Relic","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexposing","docs\u002F2.installation\u002F4.kubernetes\u002F5.exposing",{"title":93,"path":94,"stem":95},"Values","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fvalues","docs\u002F2.installation\u002F4.kubernetes\u002F6.values",{"title":97,"path":98,"stem":99},"Upgrades and removal","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fupgrades","docs\u002F2.installation\u002F4.kubernetes\u002F7.upgrades",{"title":101,"path":102,"stem":103},"Hardening and probes","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fhardening","docs\u002F2.installation\u002F4.kubernetes\u002F8.hardening",{"title":105,"path":106,"stem":107},"Monitoring","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fmonitoring","docs\u002F2.installation\u002F4.kubernetes\u002F9.monitoring",{"title":109,"path":110,"stem":111},"Cloudflare","\u002Fdocs\u002Finstallation\u002Fcloudflare","docs\u002F2.installation\u002F5.cloudflare",{"title":113,"path":114,"stem":115},"Configuration reference","\u002Fdocs\u002Finstallation\u002Fconfiguration","docs\u002F2.installation\u002F6.configuration",{"title":117,"icon":118,"path":119,"stem":120,"children":121,"page":18},"Storage","i-lucide-hard-drive","\u002Fdocs\u002Finstallation\u002Fstorage","docs\u002F2.installation\u002F7.storage",[122,126,130,134,138,142,146,150,154,158],{"title":123,"path":124,"stem":125},"Storage overview","\u002Fdocs\u002Finstallation\u002Fstorage\u002Foverview","docs\u002F2.installation\u002F7.storage\u002F1.overview",{"title":127,"path":128,"stem":129},"Azure Blob Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fazure-blob-storage","docs\u002F2.installation\u002F7.storage\u002F10.azure-blob-storage",{"title":131,"path":132,"stem":133},"SeaweedFS","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fseaweedfs","docs\u002F2.installation\u002F7.storage\u002F2.seaweedfs",{"title":135,"path":136,"stem":137},"Amazon S3","\u002Fdocs\u002Finstallation\u002Fstorage\u002Famazon-s3","docs\u002F2.installation\u002F7.storage\u002F3.amazon-s3",{"title":139,"path":140,"stem":141},"Cloudflare R2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fcloudflare-r2","docs\u002F2.installation\u002F7.storage\u002F4.cloudflare-r2",{"title":143,"path":144,"stem":145},"MinIO","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fminio","docs\u002F2.installation\u002F7.storage\u002F5.minio",{"title":147,"path":148,"stem":149},"Google Cloud Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fgoogle-cloud-storage","docs\u002F2.installation\u002F7.storage\u002F6.google-cloud-storage",{"title":151,"path":152,"stem":153},"Backblaze B2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fbackblaze-b2","docs\u002F2.installation\u002F7.storage\u002F7.backblaze-b2",{"title":155,"path":156,"stem":157},"Other S3-compatible services","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fother","docs\u002F2.installation\u002F7.storage\u002F8.other",{"title":159,"path":160,"stem":161},"Filesystem","\u002Fdocs\u002Finstallation\u002Fstorage\u002Ffilesystem","docs\u002F2.installation\u002F7.storage\u002F9.filesystem",{"title":163,"path":164,"stem":165},"Development","\u002Fdocs\u002Finstallation\u002Fdevelopment","docs\u002F2.installation\u002F8.development",{"title":167,"icon":168,"path":169,"stem":170,"children":171,"page":18},"Guides","i-lucide-book-open","\u002Fdocs\u002Fguides","docs\u002F3.guides",[172,176,180,254,296,300,303,307,311,315],{"title":173,"path":174,"stem":175},"Repositories","\u002Fdocs\u002Fguides\u002Frepositories","docs\u002F3.guides\u002F1.repositories",{"title":177,"path":178,"stem":179},"Replication","\u002Fdocs\u002Fguides\u002Freplication","docs\u002F3.guides\u002F10.replication",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":18},"Package types","i-lucide-package","\u002Fdocs\u002Fguides\u002Fpackage-types","docs\u002F3.guides\u002F2.package-types",[186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250],{"title":187,"path":188,"stem":189},"npm, yarn and pnpm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnpm","docs\u002F3.guides\u002F2.package-types\u002F01.npm",{"title":191,"path":192,"stem":193},"Maven and Gradle","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fmaven-gradle","docs\u002F3.guides\u002F2.package-types\u002F02.maven-gradle",{"title":195,"path":196,"stem":197},"Docker and OCI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdocker","docs\u002F3.guides\u002F2.package-types\u002F03.docker",{"title":199,"path":200,"stem":201},"Go","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgo","docs\u002F3.guides\u002F2.package-types\u002F04.go",{"title":203,"path":204,"stem":205},"PyPI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fpypi","docs\u002F3.guides\u002F2.package-types\u002F05.pypi",{"title":207,"path":208,"stem":209},"Helm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhelm","docs\u002F3.guides\u002F2.package-types\u002F06.helm",{"title":211,"path":212,"stem":213},"NuGet","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnuget","docs\u002F3.guides\u002F2.package-types\u002F07.nuget",{"title":215,"path":216,"stem":217},"RubyGems","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frubygems","docs\u002F3.guides\u002F2.package-types\u002F08.rubygems",{"title":219,"path":220,"stem":221},"Cargo","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fcargo","docs\u002F3.guides\u002F2.package-types\u002F09.cargo",{"title":223,"path":224,"stem":225},"Conan","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fconan","docs\u002F3.guides\u002F2.package-types\u002F10.conan",{"title":227,"path":228,"stem":229},"Terraform and OpenTofu","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fterraform","docs\u002F3.guides\u002F2.package-types\u002F11.terraform",{"title":231,"path":232,"stem":233},"Hugging Face","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhugging-face","docs\u002F3.guides\u002F2.package-types\u002F12.hugging-face",{"title":235,"path":236,"stem":237},"Generic files","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgeneric","docs\u002F3.guides\u002F2.package-types\u002F13.generic",{"title":239,"path":240,"stem":241},"RPM","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frpm","docs\u002F3.guides\u002F2.package-types\u002F14.rpm",{"title":243,"path":244,"stem":245},"Debian","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdebian","docs\u002F3.guides\u002F2.package-types\u002F15.debian",{"title":247,"path":248,"stem":249},"Alpine","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Falpine","docs\u002F3.guides\u002F2.package-types\u002F16.alpine",{"title":251,"path":252,"stem":253},"Nix","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnix","docs\u002F3.guides\u002F2.package-types\u002F17.nix",{"title":255,"icon":256,"path":257,"stem":258,"children":259,"page":18},"Security","i-lucide-shield","\u002Fdocs\u002Fguides\u002Fsecurity","docs\u002F3.guides\u002F3.security",[260,264,268,272,276,280,284,288,292],{"title":261,"path":262,"stem":263},"Permissions","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fpermissions","docs\u002F3.guides\u002F3.security\u002F1.permissions",{"title":265,"path":266,"stem":267},"LDAP","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fldap","docs\u002F3.guides\u002F3.security\u002F2.ldap",{"title":269,"path":270,"stem":271},"Access tokens","\u002Fdocs\u002Fguides\u002Fsecurity\u002Ftokens","docs\u002F3.guides\u002F3.security\u002F3.tokens",{"title":273,"path":274,"stem":275},"Relic Scan","\u002Fdocs\u002Fguides\u002Fsecurity\u002Frelic-scan","docs\u002F3.guides\u002F3.security\u002F4.relic-scan",{"title":277,"path":278,"stem":279},"CVE intelligence","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fcve-intelligence","docs\u002F3.guides\u002F3.security\u002F5.cve-intelligence",{"title":281,"path":282,"stem":283},"Audit log","\u002Fdocs\u002Fguides\u002Fsecurity\u002Faudit-log","docs\u002F3.guides\u002F3.security\u002F6.audit-log",{"title":285,"path":286,"stem":287},"Single sign-on","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fsingle-sign-on","docs\u002F3.guides\u002F3.security\u002F7.single-sign-on",{"title":289,"path":290,"stem":291},"SCIM provisioning","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fscim","docs\u002F3.guides\u002F3.security\u002F8.scim",{"title":293,"path":294,"stem":295},"Workload identities","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fworkload-identities","docs\u002F3.guides\u002F3.security\u002F9.workload-identities",{"title":297,"path":298,"stem":299},"Operations","\u002Fdocs\u002Fguides\u002Foperations","docs\u002F3.guides\u002F4.operations",{"title":105,"path":301,"stem":302},"\u002Fdocs\u002Fguides\u002Fmonitoring","docs\u002F3.guides\u002F5.monitoring",{"title":304,"path":305,"stem":306},"Metrics reference","\u002Fdocs\u002Fguides\u002Fmetrics-reference","docs\u002F3.guides\u002F6.metrics-reference",{"title":308,"path":309,"stem":310},"Webhooks","\u002Fdocs\u002Fguides\u002Fwebhooks","docs\u002F3.guides\u002F7.webhooks",{"title":312,"path":313,"stem":314},"Projects","\u002Fdocs\u002Fguides\u002Fprojects","docs\u002F3.guides\u002F8.projects",{"title":316,"path":317,"stem":318},"AI agents","\u002Fdocs\u002Fguides\u002Fai-agents","docs\u002F3.guides\u002F9.ai-agents",{"title":320,"icon":321,"path":322,"stem":323,"children":324,"page":18},"API","i-lucide-braces","\u002Fdocs\u002Fapi","docs\u002F4.api",[325,329],{"title":326,"path":327,"stem":328},"API usage","\u002Fdocs\u002Fapi\u002Foverview","docs\u002F4.api\u002F1.overview",{"title":330,"path":331,"stem":332},"Relic API","\u002Fdocs\u002Fapi\u002Frelic-api","docs\u002F4.api\u002F2.relic-api",{"title":334,"icon":31,"path":335,"stem":336,"children":337,"page":18},"CLI","\u002Fdocs\u002Fcli","docs\u002F5.cli",[338,341,345,349,353,357,361,365,369,373,377,381,385,389,393],{"title":5,"path":339,"stem":340},"\u002Fdocs\u002Fcli\u002Foverview","docs\u002F5.cli\u002F01.overview",{"title":342,"path":343,"stem":344},"Sign in and contexts","\u002Fdocs\u002Fcli\u002Fsign-in","docs\u002F5.cli\u002F02.sign-in",{"title":346,"path":347,"stem":348},"Resources","\u002Fdocs\u002Fcli\u002Fresources","docs\u002F5.cli\u002F03.resources",{"title":350,"path":351,"stem":352},"apply, diff and delete","\u002Fdocs\u002Fcli\u002Fapply","docs\u002F5.cli\u002F04.apply",{"title":354,"path":355,"stem":356},"Artifacts","\u002Fdocs\u002Fcli\u002Ffiles","docs\u002F5.cli\u002F05.files",{"title":358,"path":359,"stem":360},"Server, API and tokens","\u002Fdocs\u002Fcli\u002Fplatform","docs\u002F5.cli\u002F06.platform",{"title":362,"path":363,"stem":364},"Builds and images","\u002Fdocs\u002Fcli\u002Fbuilds","docs\u002F5.cli\u002F07.builds",{"title":366,"path":367,"stem":368},"Scanning and auditing","\u002Fdocs\u002Fcli\u002Fsecurity","docs\u002F5.cli\u002F08.security",{"title":370,"path":371,"stem":372},"Releases","\u002Fdocs\u002Fcli\u002Freleases","docs\u002F5.cli\u002F09.releases",{"title":374,"path":375,"stem":376},"Evidence","\u002Fdocs\u002Fcli\u002Fevidence","docs\u002F5.cli\u002F10.evidence",{"title":378,"path":379,"stem":380},"Package managers","\u002Fdocs\u002Fcli\u002Fpackage-managers","docs\u002F5.cli\u002F11.package-managers",{"title":382,"path":383,"stem":384},"Scan reports and VEX","\u002Fdocs\u002Fcli\u002Freports-and-vex","docs\u002F5.cli\u002F12.reports-and-vex",{"title":386,"path":387,"stem":388},"Migrating from Artifactory","\u002Fdocs\u002Fcli\u002Fimport","docs\u002F5.cli\u002F13.import",{"title":390,"path":391,"stem":392},"Database","\u002Fdocs\u002Fcli\u002Fdatabase","docs\u002F5.cli\u002F14.database",{"title":394,"path":395,"stem":396},"Machine setup","\u002Fdocs\u002Fcli\u002Fsetup","docs\u002F5.cli\u002F15.setup",{"title":398,"icon":399,"path":400,"stem":401,"children":402,"page":18},"SDK","i-lucide-boxes","\u002Fdocs\u002Fsdk","docs\u002F6.sdk",[403,406],{"title":5,"path":404,"stem":405},"\u002Fdocs\u002Fsdk\u002Foverview","docs\u002F6.sdk\u002F1.overview",{"title":407,"path":408,"stem":409},"Relic API clients","\u002Fdocs\u002Fsdk\u002Frelic-api-clients","docs\u002F6.sdk\u002F2.relic-api-clients",{"id":411,"title":105,"body":412,"description":1011,"extension":1012,"links":1013,"meta":1014,"navigation":1015,"path":106,"seo":1016,"stem":107,"__hash__":1017},"docs\u002Fdocs\u002F2.installation\u002F4.kubernetes\u002F9.monitoring.md",{"type":413,"value":414,"toc":1005},"minimark",[415,429,434,440,492,504,507,588,591,697,700,723,726,772,793,796,801,807,810,846,849,870,873,907,911,1001],[416,417,418,419,423,424,428],"p",{},"Every Relic pod serves ",[420,421,422],"code",{},"\u002Fmetrics"," on port 8091, which the ingress does not\nexpose. See the ",[425,426,427],"a",{"href":301},"Monitoring guide",".",[430,431,433],"h2",{"id":432},"bundled-stack","Bundled stack",[416,435,436,439],{},[420,437,438],{},"monitoringStack.enabled"," installs these official charts next to Relic:",[441,442,443,456],"table",{},[444,445,446],"thead",{},[447,448,449,453],"tr",{},[450,451,452],"th",{},"Chart",[450,454,455],{},"Contents",[457,458,459,468,476,484],"tbody",{},[447,460,461,465],{},[462,463,464],"td",{},"kube-prometheus-stack",[462,466,467],{},"Prometheus Operator, Prometheus (exemplars, 15 days on 20Gi), Alertmanager, Grafana, kube-state-metrics, node-exporter.",[447,469,470,473],{},[462,471,472],{},"Tempo",[462,474,475],{},"Traces, one process.",[447,477,478,481],{},[462,479,480],{},"Loki",[462,482,483],{},"Logs, one process, filesystem storage.",[447,485,486,489],{},[462,487,488],{},"Alloy",[462,490,491],{},"Ships the namespace's pod logs to Loki, and Relic's OTLP traces and logs to Tempo and Loki.",[416,493,494,495,499,500,503],{},"Relic then sends 10% of traces to Alloy, plus every trace from a caller that is\nalready tracing. Prometheus scrapes Relic and loads its alert rules. Grafana\ngets Relic's seven dashboards (folder ",[496,497,498],"em",{},"Relic","), CloudNativePG's dashboard, and\nlinked Tempo and Loki datasources: exemplars open traces, traces open their\nlogs, and a log line's ",[420,501,502],{},"trace_id"," opens its trace.",[416,505,506],{},"Install Relic with the stack:",[508,509,514],"pre",{"className":510,"code":511,"language":512,"meta":513,"style":513},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","helm install relic oci:\u002F\u002Fghcr.io\u002Frelicbuild\u002Fcharts\u002Frelic --version X.Y.Z -n relic --create-namespace --set monitoringStack.enabled=true --set credentials.encryptionKey=\"$RELIC_ENCRYPTION_KEY\" --set credentials.adminPassword=\"$RELIC_ADMIN_PASSWORD\"\n","bash","",[420,515,516],{"__ignoreMap":513},[517,518,521,525,529,532,535,539,542,545,547,550,553,556,560,562,565,569,573,575,577,580,582,585],"span",{"class":519,"line":520},"line",1,[517,522,524],{"class":523},"seIyd","helm",[517,526,528],{"class":527},"sasMN"," install",[517,530,531],{"class":527}," relic",[517,533,534],{"class":527}," oci:\u002F\u002Fghcr.io\u002Frelicbuild\u002Fcharts\u002Frelic",[517,536,538],{"class":537},"smky3"," --version",[517,540,541],{"class":527}," X.Y.Z",[517,543,544],{"class":537}," -n",[517,546,531],{"class":527},[517,548,549],{"class":537}," --create-namespace",[517,551,552],{"class":537}," --set",[517,554,555],{"class":527}," monitoringStack.enabled=",[517,557,559],{"class":558},"sIfGp","true",[517,561,552],{"class":537},[517,563,564],{"class":527}," credentials.encryptionKey=",[517,566,568],{"class":567},"sX5mu","\"",[517,570,572],{"class":571},"saDVj","$RELIC_ENCRYPTION_KEY",[517,574,568],{"class":567},[517,576,552],{"class":537},[517,578,579],{"class":527}," credentials.adminPassword=",[517,581,568],{"class":567},[517,583,584],{"class":571},"$RELIC_ADMIN_PASSWORD",[517,586,587],{"class":567},"\"\n",[416,589,590],{},"To also collect PostgreSQL's and SeaweedFS's metrics:",[508,592,596],{"className":593,"code":594,"language":595,"meta":513,"style":513},"language-yaml shiki shiki-themes material-theme-lighter github-light-default github-dark-default","monitoringStack:\n  enabled: true\ncluster:\n  cluster:\n    monitoring:\n      enabled: true\nseaweedfs:\n  global:\n    seaweedfs:\n      monitoring:\n        enabled: true\n","yaml",[420,597,598,608,621,629,637,645,655,663,671,679,687],{"__ignoreMap":513},[517,599,600,604],{"class":519,"line":520},[517,601,603],{"class":602},"smKOL","monitoringStack",[517,605,607],{"class":606},"sWneD",":\n",[517,609,611,614,617],{"class":519,"line":610},2,[517,612,613],{"class":602},"  enabled",[517,615,616],{"class":606},":",[517,618,620],{"class":619},"sH4kE"," true\n",[517,622,624,627],{"class":519,"line":623},3,[517,625,626],{"class":602},"cluster",[517,628,607],{"class":606},[517,630,632,635],{"class":519,"line":631},4,[517,633,634],{"class":602},"  cluster",[517,636,607],{"class":606},[517,638,640,643],{"class":519,"line":639},5,[517,641,642],{"class":602},"    monitoring",[517,644,607],{"class":606},[517,646,648,651,653],{"class":519,"line":647},6,[517,649,650],{"class":602},"      enabled",[517,652,616],{"class":606},[517,654,620],{"class":619},[517,656,658,661],{"class":519,"line":657},7,[517,659,660],{"class":602},"seaweedfs",[517,662,607],{"class":606},[517,664,666,669],{"class":519,"line":665},8,[517,667,668],{"class":602},"  global",[517,670,607],{"class":606},[517,672,674,677],{"class":519,"line":673},9,[517,675,676],{"class":602},"    seaweedfs",[517,678,607],{"class":606},[517,680,682,685],{"class":519,"line":681},10,[517,683,684],{"class":602},"      monitoring",[517,686,607],{"class":606},[517,688,690,693,695],{"class":519,"line":689},11,[517,691,692],{"class":602},"        enabled",[517,694,616],{"class":606},[517,696,620],{"class":619},[416,698,699],{},"Forward a local port to Grafana:",[508,701,703],{"className":510,"code":702,"language":512,"meta":513,"style":513},"kubectl -n relic port-forward svc\u002Frelic-grafana 3000:80\n",[420,704,705],{"__ignoreMap":513},[517,706,707,710,712,714,717,720],{"class":519,"line":520},[517,708,709],{"class":523},"kubectl",[517,711,544],{"class":537},[517,713,531],{"class":527},[517,715,716],{"class":527}," port-forward",[517,718,719],{"class":527}," svc\u002Frelic-grafana",[517,721,722],{"class":527}," 3000:80\n",[416,724,725],{},"Print the Grafana admin password, which is generated once:",[508,727,729],{"className":510,"code":728,"language":512,"meta":513,"style":513},"kubectl -n relic get secret relic-grafana -o jsonpath='{.data.admin-password}' | base64 -d\n",[420,730,731],{"__ignoreMap":513},[517,732,733,735,737,739,742,745,748,751,754,757,760,762,766,769],{"class":519,"line":520},[517,734,709],{"class":523},[517,736,544],{"class":537},[517,738,531],{"class":527},[517,740,741],{"class":527}," get",[517,743,744],{"class":527}," secret",[517,746,747],{"class":527}," relic-grafana",[517,749,750],{"class":537}," -o",[517,752,753],{"class":527}," jsonpath=",[517,755,756],{"class":567},"'",[517,758,759],{"class":527},"{.data.admin-password}",[517,761,756],{"class":567},[517,763,765],{"class":764},"s8eFF"," |",[517,767,768],{"class":523}," base64",[517,770,771],{"class":537}," -d\n",[416,773,774,775,777,778,777,781,784,785,788,789,792],{},"Subchart values go under ",[420,776,464],{},", ",[420,779,780],{},"tempo",[420,782,783],{},"loki"," and ",[420,786,787],{},"alloy",";\n",[420,790,791],{},"kube-prometheus-stack.grafana.ingress.*"," exposes Grafana.",[416,794,795],{},"This Prometheus selects every monitor and rule in the cluster. If you already\nrun one, use your own stack.",[797,798,800],"h3",{"id":799},"turning-it-on-for-an-existing-release","Turning it on for an existing release",[416,802,803,806],{},[420,804,805],{},"helm upgrade"," installs no CRDs; until the Prometheus Operator's exist, the\nchart stops and prints these commands.",[416,808,809],{},"Download the kube-prometheus-stack chart:",[508,811,813],{"className":510,"code":812,"language":512,"meta":513,"style":513},"helm pull kube-prometheus-stack --repo https:\u002F\u002Fprometheus-community.github.io\u002Fhelm-charts --version 92.10.1 --untar -d \u002Ftmp\n",[420,814,815],{"__ignoreMap":513},[517,816,817,819,822,825,828,831,833,837,840,843],{"class":519,"line":520},[517,818,524],{"class":523},[517,820,821],{"class":527}," pull",[517,823,824],{"class":527}," kube-prometheus-stack",[517,826,827],{"class":537}," --repo",[517,829,830],{"class":527}," https:\u002F\u002Fprometheus-community.github.io\u002Fhelm-charts",[517,832,538],{"class":537},[517,834,836],{"class":835},"sIO_5"," 92.10.1",[517,838,839],{"class":537}," --untar",[517,841,842],{"class":537}," -d",[517,844,845],{"class":527}," \u002Ftmp\n",[416,847,848],{},"Apply its CRDs:",[508,850,852],{"className":510,"code":851,"language":512,"meta":513,"style":513},"kubectl apply --server-side -f \u002Ftmp\u002Fkube-prometheus-stack\u002Fcharts\u002Fcrds\u002Fcrds\u002F\n",[420,853,854],{"__ignoreMap":513},[517,855,856,858,861,864,867],{"class":519,"line":520},[517,857,709],{"class":523},[517,859,860],{"class":527}," apply",[517,862,863],{"class":537}," --server-side",[517,865,866],{"class":537}," -f",[517,868,869],{"class":527}," \u002Ftmp\u002Fkube-prometheus-stack\u002Fcharts\u002Fcrds\u002Fcrds\u002F\n",[416,871,872],{},"Upgrade the release with the stack turned on:",[508,874,876],{"className":510,"code":875,"language":512,"meta":513,"style":513},"helm upgrade relic oci:\u002F\u002Fghcr.io\u002Frelicbuild\u002Fcharts\u002Frelic --version X.Y.Z -n relic --reset-then-reuse-values --set monitoringStack.enabled=true\n",[420,877,878],{"__ignoreMap":513},[517,879,880,882,885,887,889,891,893,895,897,900,902,904],{"class":519,"line":520},[517,881,524],{"class":523},[517,883,884],{"class":527}," upgrade",[517,886,531],{"class":527},[517,888,534],{"class":527},[517,890,538],{"class":537},[517,892,541],{"class":527},[517,894,544],{"class":537},[517,896,531],{"class":527},[517,898,899],{"class":537}," --reset-then-reuse-values",[517,901,552],{"class":537},[517,903,555],{"class":527},[517,905,906],{"class":558},"true\n",[430,908,910],{"id":909},"your-own-stack","Your own stack",[441,912,913,923],{},[444,914,915],{},[447,916,917,920],{},[450,918,919],{},"Component",[450,921,922],{},"Settings",[457,924,925,948,969,983],{},[447,926,927,930],{},[462,928,929],{},"Prometheus Operator",[462,931,932,933,936,937,784,940,943,944,947],{},"A ServiceMonitor and PrometheusRule are added when ",[420,934,935],{},"monitoring.coreos.com\u002Fv1"," exists. ",[420,938,939],{},"metrics.serviceMonitor.labels",[420,941,942],{},"metrics.prometheusRule.labels"," set the labels your Prometheus selects; ",[420,945,946],{},"metrics.prometheusRule.runbookBaseURL"," prefixes the runbook links.",[447,949,950,953],{},[462,951,952],{},"Grafana",[462,954,955,958,959,777,962,965,966,428],{},[420,956,957],{},"grafana.dashboards.enabled"," renders the dashboards for the sidecar (",[420,960,961],{},"grafana.dashboards.label",[420,963,964],{},".folder","). The files are in ",[420,967,968],{},"deploy\u002Fobservability\u002Fgrafana\u002Fdashboards",[447,970,971,974],{},[462,972,973],{},"Traces",[462,975,976,979,980,428],{},[420,977,978],{},"tracing.otlpEndpoint",": an OTLP\u002FHTTP endpoint, such as ",[420,981,982],{},"http:\u002F\u002Fotel-collector.observability:4318",[447,984,985,988],{},[462,986,987],{},"Logs",[462,989,990,991,784,993,996,997,1000],{},"Pod logs are JSON with ",[420,992,502],{},[420,994,995],{},"span_id",". ",[420,998,999],{},"logging.otlp"," also sends them over OTLP.",[1002,1003,1004],"style",{},"html pre.shiki code .seIyd, html code.shiki .seIyd{--shiki-light:#E2931D;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .sasMN, html code.shiki .sasMN{--shiki-light:#91B859;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .smky3, html code.shiki .smky3{--shiki-light:#91B859;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sIfGp, html code.shiki .sIfGp{--shiki-light:#39ADB5;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sX5mu, html code.shiki .sX5mu{--shiki-light:#39ADB5;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .saDVj, html code.shiki .saDVj{--shiki-light:#90A4AE;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .smKOL, html code.shiki .smKOL{--shiki-light:#E53935;--shiki-default:#116329;--shiki-dark:#7EE787}html pre.shiki code .sWneD, html code.shiki .sWneD{--shiki-light:#39ADB5;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .sH4kE, html code.shiki .sH4kE{--shiki-light:#FF5370;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .s8eFF, html code.shiki .s8eFF{--shiki-light:#39ADB5;--shiki-default:#CF222E;--shiki-dark:#FF7B72}html pre.shiki code .sIO_5, html code.shiki .sIO_5{--shiki-light:#F76D47;--shiki-default:#0550AE;--shiki-dark:#79C0FF}",{"title":513,"searchDepth":610,"depth":610,"links":1006},[1007,1010],{"id":432,"depth":610,"text":433,"children":1008},[1009],{"id":799,"depth":623,"text":800},{"id":909,"depth":610,"text":910},"Get metrics, traces, logs and dashboards from the chart, with its own monitoring stack or yours.","md",null,{},true,{"title":105,"description":1011},"O6ps2hVx54xDbCP_bX3XOl-wWlsb1XsOZJC4fO_-ayg",[1019,1021],{"title":101,"path":102,"stem":103,"description":1020,"children":-1},"The chart's pod security settings, network policies and health probes.",{"title":109,"path":110,"stem":111,"description":1022,"children":-1},"Run Relic in a Cloudflare Container behind a Worker, with R2 and your own PostgreSQL.",1793857348415]