快速开始
最后于 更新
APO 分为两部分:
- APO-server: APO 服务侧组件
- APO-one-agent: APO 用户侧组件,用于采集Kubernetes集群或者虚机环境下被监控业务以及集群、主机信息。
本文档包含使用 Helm 在同一 Kubernetes 集群上安装和运行 APO-server
与 APO-one-agent
的说明。
注意: 本文档仅供 POC 测试阶段快速部署使用,请勿在生产环境中使用。如需在生产环境中使用,推荐将 APO-server 安装在独立环境中,安装方式请参考安装 APO-server。
准备工作
要使用 Helm 安装 APO,请确保已完成以下操作:
- 在计算机上安装 Kubernetes 服务器。有关安装 Kubernetes 的信息,请参阅安装 Kubernetes。
- 安装 Helm 的最新稳定版本。有关安装 Helm 的信息,请参阅安装 Helm。
设置 APO Helm 仓库
要设置 APO Helm 存储库,以便在计算机上下载正确的 APO Helm charts,请完成以下步骤:
使用下方命令添加 apo
Helm 仓库
helm repo add apo https://apo-charts.oss-cn-hangzhou.aliyuncs.com
helm repo update apo
配置 APO 组件
创建文件apo-values.yaml
,并根据您的需求进行定义, 并在部署阶段挂载配置。
注意: 请务必配置 APO-one-agent 的 targetNamespace 变量,APO-one-agent 仅会监控目标命名空间中的服务.
# APO-server
# 持久化配置,推荐打开,默认为false
# 如果为持久化配置则需要根据PVC为 clickhouse 与 victoria-metrics 创建PV
altinity-clickhouse-operator:
clickhouse:
persistence:
enabled: true
victoria-metrics-single:
server:
persistentVolume:
enabled: true
# APO-one-agent
apo-one-agent:
enabled: true
odigos:
instrumentor:
# targetNamespace
# name:目标命名空间
# value:
# enabled: 注入现有的所有服务,但不注入后续新增应用
# enabledFuture: 注入现在以及后续的所有服务
# disabled: 不注入指定namespace下的服务,用于在instrument-all-namespace时忽略特定的Namespace
targetNamespace:
- name: default
value: enabledFuture
- name: default2
value: enabled
# instrument-all-namespace 是否注入所有namespace
# 等价于设置所有namespace的enabledFuture
# 但如果已经设置了ns或者workload的disabled将不会注入
instrumentAllNamespace: false
# force-instrument-all-namespace 是否强制注入所有namespace
# 和instrument-all-namespace类似,所有ns设置enabledFuture
# 并忽略所有disabled设置
forceInstrumentAllNamespace: false
部署 APO Helm charts
运行以下命令,在指定命名空间中部署 APO 。
helm install apo apo/apo -n apo --create-namespace \
-f apo-values.yaml
验证
见到类似输出既代表安装成功
NAME: apo
LAST DEPLOYED: Fri Aug 9 15:48:42 2024
NAMESPACE: apo
STATUS: deployed
REVISION: 1
NOTES:
==================================================
___ ___ ___
/\ \ /\ \ /\ \
/::\ \ /::\ \ /::\ \
/:/\:\ \ /:/\:\ \ /:/\:\ \
/::\~\:\ \ /::\~\:\ \ /:/ \:\ \
/:/\:\ \:\__\ /:/\:\ \:\__\ /:/__/ \:\__\
\/__\:\/:/ / \/__\:\/:/ / \:\ \ /:/ /
\::/ / \::/ / \:\ /:/ /
/:/ / \/__/ \:\/:/ /
/:/ / \::/ /
\/__/ \/__/
Official Website: https://apo.kindlingx.com/
APO Frontend: http://<NodeIP>:31364
Jaeger: http://<NodeIP>:30686
Grafana: http://<NodeIP>:31364/#/system-dashboard
==================================================
输入下方命令检查pod是否启动成功
kubectl get po -n apo
# 您应该看到类似于以下内容的输出
NAME READY STATUS RESTARTS AGE
apo-alertmanager-5c6fc99996-f7bhz 1/1 Running 0 5m
apo-backend-6648b68b96-clp6f 2/2 Running 0 5m
apo-clickhouse-shard0-0 1/1 Running 0 5m
apo-collector-57c85598c4-drxj7 2/2 Running 0 5m
apo-front-5487987f86-m8cg4 1/1 Running 0 5m
apo-grafana-547b956884-bnr6z 1/1 Running 0 5m
apo-jaeger-collector-695c5dfd54-76xj6 3/3 Running 0 5m
apo-odigos-instrumentor-7f96957cb6-6sq2r 1/1 Running 0 5m
apo-one-agent-vbkzl 7/7 Running 0 5m
apo-otel-collector-85bdfd5898-fgcbf 1/1 Running 0 5m
apo-victoria-metrics-alert-server-789cc475bd-cpwb6 1/1 Running 0 5m
apo-victoria-metrics-single-server-0 1/1 Running 0 5m
注意:安装成功后需重启目标被监控服务!!!
访问 APO
您可以通过以下方式访问 APO,其中 NodeIP
为集群中任意一个节点的 IP 地址。
- APO 向导式可观测性平台地址:
http://<NodeIP>:31364
- Grafana 地址:
http://<NodeIP>:31364/#/system-dashboard
更新与卸载
更新 APO Helm charts 配置
如果您的 APO 配置有更新,则在更新完apo-values.yaml
文件后使用下方命令进行更新
helm upgrade apo apo/apo -n apo \
-f apo-values.yaml
卸载 APO Helm charts
kubectl delete clickhouseinstallation apo -napo
helm uninstall apo -n apo
kubectl delete ns apo
更多配置
本文档提供的为 APO 部署的基础配置,如果您要进行更多配置更改,请从 APO Helm Charts 库中下载values.yaml
文件:
helm show values apo/apo > values.yaml
更多安装方式
- 将 APO-server 安装在独立环境中: 推荐采用此安装方式将
APO-server
与被监控服务隔离在不同环境中。 - 监控 Kubernetes 集群中的服务器和应用: 使用 Helm Chart 在 Kubernetes 上安装和运行
APO-one-agent
。 - 监控传统服务器和应用: 支持监控直接启动的服务和采用 Docker 启动的服务。