通过OpenTelemetry eBPF Instrumentation(OBI)提供的无侵入监控能力上报链路数据至云监控2.0后,云监控2.0即可开始监控应用,您可以查看应用拓扑、调用链路、异常事务、慢事务和SQL分析等一系列监控数据。本文介绍如何使用OBI为应用进行监控并上报数据。
前提条件
请确保您的Kubernetes集群版本1.24或者以上版本。
如果您的Kubernetes集群没有部署在阿里云,请确保集群连通公网,或者通过云企业网等方式打通阿里云VPC和集群之间的连接。
步骤一:安装Helm3
步骤二:安装OBI
执行以下
wget命令下载arms-obi安装包。wget 'https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/app/charts-incubator/arms-obi-0.10.0.tgz'执行以下命令解压arms-obi安装包。
tar xvf arms-obi-0.10.0.tgz编辑安装包下的values.yaml文件,根据实际情况修改以下参数,然后保存。
workspace: default-cms-__ACK_UID__-__ACK_REGION_ID__ registry: registry-__ACK_REGION_ID__.ack.aliyuncs.com/acs/ cluster_id: __ACK_CLUSTER_ID__ accessKey: __ACCESSKEY__ accessKeySecret: __ACCESSKEY_SECRET__ uid: "__ACK_UID__" region_id: __ACK_REGION_ID__workspace:将__ACK_UID__、__ACK_REGION_ID_ 替换为阿里云主账号的UID和需要上报的RegionId,如果你想上报到非default workspace,那这里直接替换为CMS2.0上的workspace名称。registry:arms-obi镜像地址,arms-obi 包含三个镜像,如果是无法访问公网,需要同步这个镜像到对应内网仓库:registry-cn-hangzhou.ack.aliyuncs.com/acs/obi:obi-app-update-0.10.0 registry-cn-hangzhou.ack.aliyuncs.com/acs/obi:0.10.0 registry-cn-hangzhou.ack.aliyuncs.com/acs/obi:init-0.10.0cluster_id:自定义Kubernetes集群ID,集群的唯一标识。建议格式为-。accessKey和accessKeySecret:阿里云账号(主账号)的AccessKey ID和AccessKey Secret。获取方法,请参见创建AccessKey。重要请确认对应的阿里云账号(主账号)已包含AliyunARMSFullAccess和AliyunSTSAssumeRoleAccess权限。
uid:阿里云账号(主账号)ID。将鼠标悬浮于阿里云控制台右上角的头像上可以获取。region_id:阿里云地域ID,应用监控支持的地域,请参见开服地域。
执行以下命令安装arms-obi。请在arms-obi安装包外执行此命令。
helm3 upgrade --install arms-obi arms-obi --namespace obi-system --create-namespace
步骤三:修改配置文件接入应用
若监控grpc协议的应用,重启应用才能完成grpc协议监控。
在命名空间切
obi-system,找到arms-obi-config并单击编辑。增加需要监控的应用deployment、namespace、以及在云监控2.0显示应用名称,配置示例如下:
discovery: instrument: - k8s_deployment_name: "server" k8s_namespace: "arms-default" name: "server-test-obi"