Retina
[![goreport][goreport-img]][goreport] ![GitHub 发布][release-img] [![retina-publish][godoc-badge]][godoc] ![许可证]
[![retina-test][retina-test-image-badge]][retina-test-image] [![retinash][retinash-badge]][retinash] [![retina-publish][retina-publish-badge]][retina-publish] ![retina-codeql-img][retina-codeql-badge] ![retina-golangci-lint-img][retina-golangci-lint-badge]
概述
Retina 是一个云平台无关的开源 Kubernetes 网络可观测性平台,为集群网络管理员、集群安全管理员和 DevOps 工程师提供了一个用于监控应用健康、网络健康和安全的集中枢纽。它为 DevOps、SecOps 和合规性用例提供了可操作的洞察。
Retina 收集可定制的遥测数据,这些数据可以导出到多个存储选项(如 Prometheus、Azure Monitor 和其他供应商),并以多种方式可视化(如 Grafana、Azure Log Analytics 和其他供应商)。
特性
- 基于 eBPF 的 Kubernetes 工作负载网络可观测性平台。
- 按需和可配置。
- 可操作的、行业标准的 Prometheus 指标。
- 简化的数据包捕获,用于深入分析。
- 云平台无关,支持多种操作系统(如 Linux、Windows、Azure Linux)。
为什么选择 Retina?
Retina 让您能够按需调查网络问题并持续监控您的集群。有关 Retina 的优势场景,请参阅此处的介绍文档。
文档
有关文档和示例,请参见 retina.sh。
功能
Retina 有两个主要功能:
指标快速安装指南
可以使用 GHCR 的 Helm chart 安装 Retina:
# 在此处设置特定版本,或从 GitHub API 获取最新版本。
VERSION=$( curl -sL https://api.github.com/repos/microsoft/retina/releases/latest | jq -r .name)
helm upgrade --install retina oci://ghcr.io/microsoft/retina/charts/retina \
--version $VERSION \
--set image.tag=$VERSION \
--set operator.tag=$VERSION \
--set logLevel=info \
--set enabledPlugin_linux="\[dropreason\,packetforward\,linuxutil\,dns\]"
如果需要,将 version
和 image tag
参数设置为所需的版本。
Helm 安装后,按照使用 Prometheus 和 Grafana 中的步骤设置指标收集和可视化。
捕获快速入门指南
通过 CLI 捕获
安装 Retina CLI 的首选方法是使用 Krew。
kubectl krew install retina
其他安装选项记录在 CLI 安装 中。
验证安装:
$ kubectl retina version
v0.0.4 # 或最新版本
快速开始创建捕获:
kubectl retina capture create --name <my-capture> --namespace <my-namespace> --selector <app=my-app>
有关更多 CLI 文档,请参见 使用 Retina CLI 捕获。
通过 CRD 捕获
使用 Helm 安装 Retina:
VERSION=$( curl -sL https://api.github.com/repos/microsoft/retina/releases/latest | jq -r .name)
helm upgrade --install retina oci://ghcr.io/microsoft/retina/charts/retina \
--version $VERSION \
--set image.tag=$VERSION \
--set operator.tag=$VERSION \
--set image.pullPolicy=Always \
--set logLevel=info \
--set os.windows=true \
--set operator.enabled=true \
--set operator.enableRetinaEndpoint=true \
--skip-crds \
--set enabledPlugin_linux="\[dropreason\,packetforward\,linuxutil\,dns\,packetparser\]"
然后按照捕获CRD中的步骤查看CRD文档和设置捕获的示例。
贡献
本项目欢迎贡献和建议。大多数贡献都要求你同意一份贡献者许可协议(CLA),声明你有权且确实授予我们使用你的贡献的权利。详情请访问 https://cla.opensource.microsoft.com。
当你提交拉取请求时,CLA机器人会自动确定你是否需要提供CLA,并适当地修饰PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。你只需在使用我们的CLA的所有仓库中执行一次此操作。
本项目已采用Microsoft开源行为准则。 有关更多信息,请参阅行为准则常见问题解答或 联系opencode@microsoft.com获取任何其他问题或意见。
验证签名镜像
发布到GHCR的Retina镜像经过加密签名。你可以使用sigstore/cosign
验证它们的来源:
REPO=microsoft/retina # 或你的仓库
IMAGE=retina-operator # 或其他要验证的镜像
TAG=v0.0.6 # 或其他要验证的标签,或替换为镜像SHA256
cosign verify ghcr.io/$REPO/$IMAGE:$TAG --certificate-oidc-issuer https://token.actions.githubusercontent.com --certificate-identity-regexp="https://github.com/$REPO" -o text
办公时间和社区会议
我们定期举行开放社区会议。在此查看详情。
商标
本项目可能包含项目、产品或服务的商标或标志。Microsoft商标或标志的授权使用必须遵循Microsoft的商标和品牌指南。 在本项目的修改版本中使用Microsoft商标或标志不得引起混淆或暗示Microsoft赞助。 任何第三方商标或标志的使用都受制于这些第三方的政策。
许可证
请参阅LICENSE。
行为准则
本项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则常见问题解答或联系opencode@microsoft.com获取任何其他问题或意见。
联系方式
对于错误或功能请求,请提交issue。 对于安全或漏洞问题,请参阅SECURITY.md。 对于其他交流,请通过retina@microsoft.com联系维护者。 [goreport-img]: https://goreportcard.com/badge/github.com/microsoft/retina [goreport]: https://goreportcard.com/report/github.com/microsoft/retina [godoc]: https://godoc.org/github.com/microsoft/retina [godoc-badge]: https://godoc.org/github.com/microsoft/retina?status.svg [release-img]: https://img.shields.io/github/v/release/microsoft/retina.svg [license]: https://img.shields.io/badge/license-MIT-blue?link=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fretina%2Fblob%2Fmain%2FLICENSE [retina-test-image-badge]: https://github.com/microsoft/retina/actions/workflows/test.yaml/badge.svg?branch=main [retina-test-image]: https://github.com/microsoft/retina/actions/workflows/test.yaml?query=branch%3Amain [retinash-badge]: https://github.com/microsoft/retina/actions/workflows/docs.yaml/badge.svg?branch=main [retinash]: https://retina.sh/ [retina-publish-badge]: https://github.com/microsoft/retina/actions/workflows/images.yaml/badge.svg?branch=main [retina-publish]: https://github.com/microsoft/retina/actions/workflows/images.yaml?query=branch%3Amain [retina-codeql-badge]: https://github.com/microsoft/retina/actions/workflows/codeql.yaml/badge.svg?branch=main [retina-golangci-lint-badge]: https://github.com/microsoft/retina/actions/workflows/golangci-lint.yaml/badge.svg?branch=main