Docker Scout 指标导出器使用指南
docs Source repo for Docker's Documentation 项目地址: https://gitcode.com/gh_mirrors/docs3/docs
概述
Docker Scout 提供了一个强大的指标导出功能,允许用户通过 Prometheus 或 Datadog 抓取安全问题和策略数据。本文将详细介绍如何配置和使用 Docker Scout 指标导出器,帮助您构建自定义的供应链安全监控仪表板。
核心概念
指标类型
Docker Scout 导出器提供三类核心指标:
-
安全问题指标 (
scout_stream_security_issues
)- 显示特定流(stream)中的安全问题数量
- 标签:
streamName
(流名称)、severity
(严重级别)
-
合规镜像指标 (
scout_policy_compliant_images
)- 显示流中符合特定策略的镜像数量
- 标签:
id
(策略ID)、displayName
(策略名称)、streamName
(流名称)
-
评估镜像指标 (
scout_policy_evaluated_images
)- 显示流中被策略评估的镜像总数
- 标签同上
流(Stream)概念
在 Docker Scout 中,流是一个重要概念,它代表:
- 所有已定义的运行时环境
- 特殊的
latest-indexed
流(包含每个仓库最近推送和分析的标签)
准备工作
1. 创建访问令牌
- 确保您的组织已注册 Docker Scout
- 创建个人访问令牌(PAT):
- 需要由组织所有者创建
- 无需特定权限
- 妥善保存此令牌,后续配置需要
Prometheus 集成
基础配置
在 Prometheus 配置文件中添加以下抓取任务,替换 <ORG>
为您的组织名称:
scrape_configs:
- job_name: "docker_scout"
metrics_path: /v1/exporter/org/<ORG>/metrics
scheme: https
static_configs:
- targets: ["api.scout.docker.com"]
认证配置
添加 Bearer Token 认证:
authorization:
type: Bearer
credentials_file: /etc/prometheus/token
令牌文件内容格式:
dckr_pat_xxxxxxxxxxxxxxxx
快速启动示例
-
准备环境:
mkdir -p prometheus/{config,token} echo $DOCKER_PAT > prometheus/token/token
-
创建 Prometheus 配置文件 (
prometheus/config/prometheus.yml
):
global:
scrape_interval: 60s
scrape_timeout: 40s
scrape_configs:
- job_name: "docker_scout"
metrics_path: /v1/exporter/org/YOUR_ORG/metrics
scheme: https
static_configs:
- targets: ["api.scout.docker.com"]
authorization:
type: Bearer
credentials_file: /etc/prometheus/token
- 使用 Docker Compose 启动服务:
version: '3'
services:
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus/config:/etc/prometheus
- ./prometheus/token:/etc/prometheus/token
Datadog 集成
基础配置
在 Datadog Agent 配置中添加 OpenMetrics 检查:
instances:
- openmetrics_endpoint: "https://api.scout.docker.com/v1/exporter/org/YOUR_ORG/metrics"
namespace: "scout_metrics"
metrics:
- scout_*
auth_token:
reader:
type: file
path: /var/run/secrets/scout-metrics/token
writer:
type: header
name: Authorization
value: Bearer <TOKEN>
快速启动示例
-
准备环境:
mkdir -p datadog/{conf.d,token} echo $DOCKER_PAT > datadog/token
-
创建 Datadog 配置文件 (
datadog/conf.d/openmetrics.yaml
):
init_config:
instances:
- openmetrics_endpoint: "https://api.scout.docker.com/v1/exporter/org/YOUR_ORG/metrics"
namespace: "scout_metrics"
metrics:
- scout_*
auth_token:
reader:
type: file
path: /var/run/secrets/scout-metrics/token
writer:
type: header
name: Authorization
value: Bearer <TOKEN>
- 使用 Docker Compose 启动服务:
version: '3'
services:
datadog:
image: datadog/agent:latest
environment:
- DD_API_KEY=your_api_key
- DD_SITE=datadoghq.com
volumes:
- ./datadog/conf.d:/etc/datadog-agent/conf.d/openmetrics.d
- ./datadog/token:/var/run/secrets/scout-metrics/token
最佳实践
-
抓取间隔设置:
- 建议设置为60分钟或更长
- 指标数据默认缓存60分钟
- 频繁抓取不会获得新数据
-
安全建议:
- 定期轮换访问令牌
- 使用最小权限原则
- 监控异常访问行为
-
可视化建议:
- 按严重级别分组显示安全问题
- 跟踪策略合规率变化
- 设置合理的告警阈值
故障排除
-
认证失败:
- 检查令牌是否有效
- 验证令牌文件路径和权限
- 确认用户是组织所有者
-
无数据返回:
- 检查组织名称是否正确
- 确认组织已注册 Docker Scout
- 验证网络连接是否正常
-
数据不更新:
- 检查抓取间隔设置
- 确认镜像分析已完成
- 验证策略评估是否运行
通过本文的指导,您应该能够成功配置和使用 Docker Scout 指标导出器,为您的容器供应链安全建立有效的监控体系。
docs Source repo for Docker's Documentation 项目地址: https://gitcode.com/gh_mirrors/docs3/docs
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考