
ydkn/sensu-oss本镜像为Sensu Go的开源构建版本,提供轻量级、可扩展的监控和可观测性平台部署能力。Sensu Go是一款开源监控工具,采用现代化架构设计,支持对物理机、虚拟机、容器及云环境的统一监控,适用于DevOps和SRE工作流。该镜像封装了Sensu Go的核心组件,可快速部署并集成到现有IT基础设施中。
bashdocker run -d \ --name sensu-backend \ -p 8080:8080 \ # API端口 -p 8081:8081 \ # WebSocket端口(Agent通信) -v /path/to/sensu/data:/var/lib/sensu \ # 持久化数据目录 -e SENSU_BACKEND_CLUSTER_ADMIN_USER=admin \ # 管理员用户名 -e SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=P@ssw0rd \ # 管理员密码 sensu/sensu-go:latest backend
bashdocker run -d \ --name sensu-agent \ -e SENSU_BACKEND_URL=ws://sensu-backend:8081 \ # Backend地址(需与Backend容器网络互通) -e SENSU_NAMESPACE=default \ # 命名空间 -e SENSU_SUBSCRIPTIONS=linux,web \ # 订阅的检查标签(用于接收Backend下发的监控任务) --pid=host \ # 共享主机PID命名空间(可选,用于采集主机进程信息) sensu/sensu-go:latest agent
| 环境变量 | 组件 | 描述 | 默认值 |
|---|---|---|---|
SENSU_BACKEND_CLUSTER_ADMIN_USER | Backend | 初始管理员用户名 | admin |
SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD | Backend | 初始管理员密码 | 随机生成(建议显式设置) |
SENSU_BACKEND_URL | Agent | Backend的WebSocket地址 | ws://127.0.0.1:8081 |
SENSU_NAMESPACE | Agent | 代理所属命名空间 | default |
SENSU_SUBSCRIPTIONS | Agent | 订阅的检查标签(逗号分隔) | default |
SENSU_LOG_LEVEL | 所有组件 | 日志级别(debug/info/warn/error) | info |
Sensu Backend需要持久化存储配置数据、监控指标和元数据,建议挂载宿主机目录或使用Docker Volume:
bash# 创建数据卷 docker volume create sensu-data # 使用数据卷启动Backend docker run -d \ --name sensu-backend \ -p 8080:8080 \ -p 8081:8081 \ -v sensu-data:/var/lib/sensu \ # 挂载数据卷 -e SENSU_BACKEND_CLUSTER_ADMIN_USER=admin \ -e SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=P@ssw0rd \ sensu/sensu-go:latest backend
以下是包含Backend、Agent及etcd(可选,用于高可用部署)的docker-compose.yml示例:
yamlversion: '3' services: sensu-backend: image: sensu/sensu-go:latest command: backend ports: - "8080:8080" # API端口 - "8081:8081" # WebSocket端口 environment: - SENSU_BACKEND_CLUSTER_ADMIN_USER=admin - SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=P@ssw0rd - SENSU_LOG_LEVEL=info volumes: - sensu-data:/var/lib/sensu restart: unless-stopped sensu-agent: image: sensu/sensu-go:latest command: agent depends_on: - sensu-backend environment: - SENSU_BACKEND_URL=ws://sensu-backend:8081 - SENSU_NAMESPACE=default - SENSU_SUBSCRIPTIONS=linux,web - SENSU_LOG_LEVEL=info pid: host # 可选,用于主机进程监控 restart: unless-stopped volumes: sensu-data:
bash# 获取认证Token TOKEN=$(curl -X POST http://localhost:8080/api/enterprise/authentication/v2/tokens \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"P@ssw0rd"}' | jq -r .access_token) # 验证Backend状态 curl -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/core/v2/namespaces/default/health
json{"Alarms":[],"Healthy":true}
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务