Kubernetes中提供多项监控指标,您可以将Kubernetes中的监控指标接入到全栈监控应用中,进行可视化展示。

前提条件

  • 已创建实例。具体操作,请参见创建实例
  • 已在Kubernetes集群中安装Logtail组件。具体操作,请参见安装Logtail组件
    说明 您在安装Logtail组件时所选择的Project和您在创建全栈监控实例时所选择的Project需一致。

安装监控组件

  1. 登录您的Kubernetes集群。
  2. 下载安装脚本sls-monitoring.sh
  3. 执行如下命令安装监控组件。
    bash sls-monitoring.sh --project ${project} --aliuid ${aliuid} --instance-id ${instance-id} --cluster-id ${cluster-id} --action install --config-params ${config-params} --kube-state-metrics-image-name ${kube-state-metrics-image} --logtail-image-name ${logtail-image}

    配置示例如下所示。

    bash sls-monitoring.sh --project k8s-log-c0ae5df1 --aliuid 165****50  --instance-id my-monitor --cluster-id my-k8s --action install --config-params cn-beijing --kube-state-metrics-image-name registry.cn-beijing.aliyuncs.com/log-service/kube-state-metrics --logtail-image-name registry.cn-beijing.aliyuncs.com/log-service/logtail

    命令中各参数说明如下所示,请根据实际情况替换。

    参数 是否必填 说明
    ${project} 日志服务Project名称,需配置为您在创建全栈监控实例时,所选择的Project。更多信息,请参见创建实例
    ${aliuid} 阿里云账号ID。更多信息,请参见步骤一:获取日志服务所在的阿里云账号ID
    ${instance-id} 全栈监控实例ID。
    ${cluster-id} Kubernetes集群ID。命名规则如下:
    • 支持小写字母、数字、短划线(-)和下划线(_)。
    • 最大支持24个字符。
    ${config-params} 请根据日志服务Project所在地域和访问的网络类型填写。其中,地域信息请参见表 1
    • 如果使用公网采集日志,格式为region-internet,例如:华东 1(杭州)cn-hangzhou-Internet
    • 如果使用阿里云内网采集日志,格式为region。例如:华东 1(杭州)cn-hangzhou
    ${kube-state-metrics-image} kube-state-metrics的镜像地址,默认为registry.cn-beijing.aliyuncs.com/log-service/kube-state-metrics。
    注意 默认地址为公网地址,如果您的集群无法访问公网,可切换为对应地域的内网地址。例如registry-vpc.cn-hangzhou.aliyuncs.com/log-service/kube-state-metrics
    ${logtail-image} Logtail的镜像地址,默认为registry.cn-beijing.aliyuncs.com/log-service/logtail。
    注意 默认地址为公网地址,若您的集群无法访问公网,可切换为对应地域的内网地址。例如registry-vpc.cn-hangzhou.aliyuncs.com/log-service/logtail。
    kube-state-metrics-image-tag kube-state-metrics的镜像标签,例如v1.6.0-f4ec1f70-aliyun。
    说明 默认值会随版本发布而变化,具体默认值可在sls-monitoring.sh脚本中查看。
    logtail-image-tag Logtail的镜像标签,例如v1.0.27.0-7052198-aliyun。
    说明 默认值会随版本发布而变化,具体默认值可在sls-monitoring.sh脚本中查看。
    logtail-cluster-limit-cpu Logtail集群的CPU限制,例如4000 m。
    logtail-cluster-limit-mem Logtail集群的内存限制,例如4096 Mi。
    logtail-nodeds-limit-cpu Logtail节点的CPU限制,例如200 m。
    logtail-nodeds-limit-mem Logtail节点的内存限制,例如384 Mi。
    kube-state-metrics-limit-cpu kube-state-metrics的CPU限制,例如1000 m。
    kube-state-metrics-limit-mem kube-state-metrics的内存限制,例如1024 Mi。

    执行sls-monitoring.sh脚本后,日志服务将自动生成Metricstore等资产。更多信息,请参见资产说明

  4. 确认已创建Logtail采集配置。
    1. 登录日志服务控制台
    2. 在Project列表中,单击您在步骤3中所使用的Project。
    3. 在目标Logstore和Metricstore中查看Logtail采集配置。

      执行sls-monitoring.sh脚本后,日志服务自动生成下述4个Logtail采集配置。如果需要修改,可在sls-monitoring命名空间下的AliyunLogConfig CRD中修改(您可以通过kubectl get aliyunlogconfig -n sls-monitoring命令查看CRD)。

      Logstore和Metricstore Logtail采集配置
      {instance}-metas Logstore
      • {instance}__node-metas__{cluster}:用于采集Kubernetes采集节点的配置数据。
      • {instance}__k8s-metas__{cluster}:用于采集Kubernetes的配置数据。
      {instance}-node-metrics Metricstore {instance}__node-metrics__{cluster}:用于采集Kubernetes节点的指标数据。
      {instance}-k8s-metrics Metricstore {instance}__k8s-metrics__{cluster}:用于采集Kubernetes的指标数据。
  5. 在Kubernetes集群中,确认sls-monitoring命名空间下的Pod的状态都为Running。

监控组件资源

用于采集Kubernetes监控数据的Kubernetes资源全部创建在sls-monitoring命名空间中,主要包括2个Deployment、1个DaemonSet和4个AliyunLogConfig的CRD。

资源类型 资源名称 说明
Deployment kube-state-metrics 用于监听Kubernetes中的API来获取Kubernetes集群中的指标。
logtail-kubernetes-metrics 用于从kube-state-metrics容器中采集指标到日志服务。
DaemonSet logtail-node-monitoring-ds 用于自动部署Logtail容器,默认运行在每个主机节点上,采集每台主机节点的配置数据和指标数据。
AliyunLogConfig {instance-id}-k8s-metas 用于采集Kubernetes的配置数据,例如Deployment、Pod、Ingress、Service的名称、Namespace、Label、Image、Limit等配置信息。默认采集到名为{instance}-metas的Logstore中。
{instance-id}-k8s-metrics 用于采集Kubernetes的指标数据,例如Pod、容器的CPU、内存、网络等。默认采集到名为{instance}-k8s-metrics的Metricstore中。
{instance-id}-node-metas 用于采集Kubernetes节点的配置数据,例如CPU型号、内存大小等。默认采集到名为{instance}-metas的Logstore中。
{instance-id}-node-metrics 用于采集Kubernetes节点的指标数据,例如CPU使用率、内存利用率等。默认采集到名为{instance}-node-metrics的Metricstore中。

后续步骤

接入Kubernetes监控数据后,全栈监控应用会自动生成专属仪表盘。您可以通过仪表盘分析监控数据。更多信息,请参见查看仪表盘