newrelic/infrastructure-bundleNew Relic Infrastructure Bundle 是 New Relic 提供的容器化监控代理捆绑镜像,集成了基础设施代理、容器监控组件及相关依赖,旨在简化容器环境中 New Relic 监控解决方案的部署流程。该镜像支持 Docker、Kubernetes 等主流容器环境,可自动收集系统资源指标、容器运行状态、服务发现信息等数据,并通过加密通道发送至 New Relic 平台,帮助用户实时监控容器环境的性能、健康状况及资源利用率。
infrastructure-agent.newrelic.com:443,EU 区域为 infrastructure-agent.eu.newrelic.com:443)。基本运行命令
bashdocker run -d \ --name newrelic-infra \ --network=host \ --cap-add=SYS_PTRACE \ --volume=/:/host/root:ro \ --volume=/var/run/docker.sock:/var/run/docker.sock:ro \ --env NEW_RELIC_LICENSE_KEY=<YOUR_LICENSE_KEY> \ --env NEW_RELIC_REGION=us \ newrelic/infrastructure-bundle:latest
参数说明
--network=host:使用主机网络模式,确保代理可访问主机网络栈及服务。--cap-add=SYS_PTRACE:添加系统调用跟踪权限,用于进程级指标收集。--volume=/:/host/root:ro:只读挂载主机根目录,用于采集系统级指标。--volume=/var/run/docker.sock:/var/run/docker.sock:ro:挂载 Docker 套接字,用于容器指标收集(禁用可设置 DISABLE_DOCKER=true)。yamlversion: '3' services: newrelic-infra: image: newrelic/infrastructure-bundle:latest container_name: newrelic-infra network_mode: host cap_add: - SYS_PTRACE volumes: - /:/host/root:ro - /var/run/docker.sock:/var/run/docker.sock:ro - /sys:/host/sys:ro # 可选,用于扩展系统指标采集 environment: - NEW_RELIC_LICENSE_KEY=<YOUR_LICENSE_KEY> - NEW_RELIC_REGION=eu # 若账户位于欧洲区域 - NEW_RELIC_LOG_LEVEL=warn # 日志级别:debug/info/warn/error - DISABLE_DOCKER=false # 是否禁用Docker监控 restart: unless-stopped
启动服务:
bashdocker-compose up -d
通过 DaemonSet 实现集群内所有节点监控:
yamlapiVersion: apps/v1 kind: DaemonSet metadata: name: newrelic-infra namespace: newrelic spec: selector: matchLabels: name: newrelic-infra template: metadata: labels: name: newrelic-infra spec: hostPID: true containers: - name: newrelic-infra image: newrelic/infrastructure-bundle:latest resources: limits: cpu: 200m memory: 256Mi requests: cpu: 100m memory: 128Mi env: - name: NEW_RELIC_LICENSE_KEY valueFrom: secretKeyRef: name: newrelic-license key: license-key - name: NEW_RELIC_REGION value: "us" - name: KUBERNETES value: "true" # 显式启用Kubernetes监控 volumeMounts: - name: host-root mountPath: /host/root readOnly: true - name: docker-sock mountPath: /var/run/docker.sock readOnly: true - name: sys mountPath: /host/sys readOnly: true - name: dev mountPath: /host/dev readOnly: true volumes: - name: host-root hostPath: {path: /} - name: docker-sock hostPath: {path: /var/run/docker.sock} - name: sys hostPath: {path: /sys} - name: dev hostPath: {path: /dev}
部署步骤:
kubectl create namespace newrelickubectl create secret generic newrelic-license -n newrelic --from-literal=license-key=<YOUR_LICENSE_KEY>kubectl apply -f newrelic-infra-daemonset.yaml| 环境变量 | 描述 | 必填 | 默认值 |
|---|---|---|---|
NEW_RELIC_LICENSE_KEY | New Relic 账户许可证密钥,用于身份验证和数据发送 | 是 | - |
NEW_RELIC_REGION | 部署区域,可选值:us(美国)、eu(欧洲) | 否 | us |
NEW_RELIC_LOG_LEVEL | 日志级别,可选值:debug/info/warn/error | 否 | info |
DISABLE_DOCKER | 是否禁用 Docker 监控,true 时停止容器指标收集 | 否 | false |
KUBERNETES | 是否启用 Kubernetes 监控,true 时采集节点及 Pod 资源指标 | 否 | 自动检测 |
METRICS_COLLECTION_FREQUENCY | 指标采集频率(秒) | 否 | 60 |
docker logs newrelic-infra(Docker)或 kubectl logs <pod-name> -n newrelic(Kubernetes)查看代理运行日志,定位配置错误或网络问题。NEW_RELIC_LICENSE_KEY 是否正确,密钥无效会导致数据无法上传。curl infrastructure-agent.newrelic.com:443 测试连通性)。SYS_PTRACE 权限不足会导致指标采集不完整。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务