Collector 托管最佳实践
在为 OpenTelemetry (OTel) Collector 设置托管时,请考虑以下最佳实践,以更好地保护您的托管实例。
安全存储数据
您的 Collector 配置文件可能包含敏感数据,包括身份验证令牌或 TLS 证书。有关安全配置的最佳实践,请参阅此部分。
如果您正在存储遥测数据进行处理,请确保限制对这些目录的访问,以防止原始数据被篡改。
保护您的密钥安全
Kubernetes Secrets 是包含机密数据的凭证。它们用于身份验证和授权特权访问。如果您正在为 Collector 使用 Kubernetes 部署,请确保遵循这些推荐实践来提高群集的安全性。
遵循最小权限原则
Collector 不应需要特权访问,除非它正在收集的数据位于特权位置。例如,在 Kubernetes 部署中,系统日志、应用程序日志和容器运行时日志通常存储在需要特殊权限访问的节点卷中。如果您的 Collector 作为 DaemonSet 在节点上运行,请确保仅授予其访问这些日志所需的特定卷挂载权限,并且不要授予更多。您可以使用基于角色的访问控制 (RBAC) 来配置特权访问。有关更多信息,请参阅RBAC 最佳实践。
控制对类服务器组件的访问
某些 Collector 组件(如接收器和导出器)可以充当服务器。为了限制对授权用户的访问,您应该
- 启用身份验证,例如使用 Bearer Token 身份验证扩展和 Basic 身份验证扩展。
- 限制 Collector 运行的 IP 地址。
保障资源利用率
使用 Collector 自己的内部遥测来监控其性能。收集关于 Collector 的 CPU、内存和吞吐量使用情况的指标,并为资源耗尽设置警报。
如果达到资源限制,请考虑通过部署多个实例并配置负载均衡来水平扩展 Collector。扩展您的 Collector 可以分散资源需求并防止瓶颈。
在保护部署中的资源利用率后,请确保您的 Collector 实例在其配置中也使用安全措施。