ACK的集群日志接入及ARMS的应用性能监控及主机监控(云监控)

SLS采集ACK的应用日志

采集配置创建流程

安装LoongCollector:通过DaemonSet模式部署LoongCollector,确保集群中每个节点均运行一个采集容器,统一采集该节点上所有容器的日志。

Sidecar模式请参考采集Kubernetes Pod文本日志(Sidecar模式)。

创建LogStore:用于存储采集日志。

创建并配置日志采集规则

全局与输入配置:定义采集配置的名称及日志采集的来源和范围。

日志处理与结构化:根据日志格式进行处理配置。

多行日志:适用于单条日志跨越多行(如 Java 异常堆栈、Python traceback),需通过行首正则识别每条日志的起始行。

结构化解析:通过配置解析插件(如正则、分隔符、NGINX 模式等)将原始字符串提取为结构化的键值对,便于后续查询与分析。

日志过滤:通过配置采集黑名单和内容过滤规则,筛选有效日志内容,减少冗余数据的传输与存储。

日志分类:通过配置日志主题(Topic)和日志打标灵活区分不同业务、容器或路径来源的日志。

查询与分析配置:系统默认开启全文索引,支持关键词搜索。建议启用字段索引,以便对结构化字段进行精确查询和分析,提升检索效率。

验证与故障排查:配置完成后,验证日志是否成功采集,如遇采集无数据、心跳失败或解析错误等问题,请参考常见问题排查。

已安装

还需要手动创建alb-config资源

yaml 复制代码
apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: alb
spec:
  config:
    name: alb-test
    addressType: Internet
    zoneMappings:
      - vSwitchId: vsw-bp14ddfm137bhuzdmrv7x  #子网id
        zoneId: cn-hangzhou-I   #可用区要支持ALB
      - vSwitchId: vsw-bp1k2urind8pcvulcilo2  #子网id
        zoneId: cn-hangzhou-B # #可用区要支持ALB
  listeners:
    - port: 80
      protocol: HTTP
     

还要创建ingress-class

yaml 复制代码
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  annotations:
       alb.ingress.kubernetes.io/vswitch-ids: "vsw-bp1vyi5ydreudm9sattdw,vsw-bp1k2urind8pcvulcilo2"
  name: alb
spec:
  controller: ingress.k8s.alibabacloud/alb
  parameters:
    apiGroup: alibabacloud.com
    kind: AlbConfig
    name: alb # 与AlbConfig的名称对应

然后配置ingress规则关联

ALB实例会自动创建

后端实例也可以看到

我这里加了个test匹配前缀进行区分,将请求打到后端ng的pod上,可以看到请求过来了

容器的前台日志已经 采集到了

ACK集群勾选了日志服务的话,会自动创建项目

这边选择对应pod日志名,来源于创建时的设定

arms监控调用链

接入步骤

STEP1 安装ARMS应用监控组件ack-onepilot。

登录容器服务Kubernetes版控制台,在左侧导航栏单击集群,在集群列表页面单击目标集群名称。

在左侧导航栏选择运维管理 > 组件管理,在右上角通过关键字搜索ack-onepilot。

在展示的ack-onepilot卡片上,单击右下角的安装。

在弹出的页面中可以配置相关的参数,建议使用默认值,无需修改配置,点击确定。

STEP2 如需在创建新应用的同时开启ARMS应用监控,请按以下步骤操作:

在容器服务Kubernetes版控制台,左侧导航栏选择集群,在集群列表页面上的目标集群右侧操作列单击应用管理。

在无状态页面右上角单击使用YAML创建资源。

在使用YAML创建资源页面上选择示例模板,并在模板(YAML格式)中将以下labels添加到spec > template > metadata层级下。

labels:

armsPilotAutoEnable: "on"

armsPilotCreateAppName: "" #请将替换为您的应用名称。

armsSecAutoEnable: "on" #如果应用希望接入应用安全,则需要配置此参数。

首先集群安装插件

修改yaml

labels:

app: arms-name-model

armsPilotAutoEnable: "on"

armsPilotCreateAppName: "arms-k8s-demo"

one-agent.jdk.version: "OpenJDK18"

应用已经接入进来了

主机监控-云监控(CloudMonitor) 控制台

相关推荐
阿里云云原生4 小时前
AI 语音一直“正在连接”?用 RUM 排查 WebSocket 建连问题
云原生
阿里云云原生13 小时前
从页面渲染到智能体:ARMS Node.js 探针解锁 SSR + AI 全链路可观测
云原生
Nontee17 小时前
K3s vs K8s:差的不是功能,是交付方式
云原生·容器·kubernetes
做运维的阿瑞18 小时前
Docker常见故障全方位排查指南
运维·docker·云原生·容器
谢亮_vipxieliang18 小时前
云原生存储进阶:CSI 演进与 AI 工作负载的存储架构设计
人工智能·云原生
朱包林18 小时前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
长安米粒贵20 小时前
K8s 探针配置错了,服务为什么会反复重启?聊聊 4 个常见误区
云原生
小陈运维1 天前
使用kubeadm初始化IPV4/IPV6集群
linux·docker·云原生·容器·kubernetes
笑洋仟1 天前
k8s的Ingress配置问题
云原生·容器·kubernetes