Kubernetes中提供多项监控指标,您可以将Kubernetes中的监控指标接入到全栈监控应用中,进行可视化展示。另外,基于日志服务与龙蜥社区合作共建的无侵入监控能力,您还可以直观地分析整个Kubernetes的数据流向与瓶颈问题,轻松应对复杂的云原生环境。
前提条件
已创建实例。具体操作,请参见创建实例。使用限制
如果开启数据面监控,则要求主机为x86_64 Linux内核版本为4.19及以上版本或3.1.0版本(仅限centos7.6~7.9操作系统)。您可以通过uname -r
命令查看内核信息。
步骤一:创建Logtail采集配置
- 登录日志服务控制台。
- 在日志应用区域,单击全栈监控。
- 在SLS全栈监控页面,单击目标实例。
- 在数据接入页面,选择资源监控。
首次创建目标监控项的接入配置时,打开创建开关,可进入配置页面。如果您已创建过接入配置,则单击
图标,可进入配置页面。
- 在数据接入页面,完成如下配置,然后单击完成。
步骤二:安装监控组件
- 登录您的Kubernetes集群。
- 下载安装文件。
wget https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/sls-monitoring.sh -O sls-monitoring.sh
- 修改文件的权限。
chmod 744 sls-monitoring.sh
- 执行如下命令安装监控组件。
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} \ --config-observer-enable ${enable-observer} \ --config-auto-discovery-enable ${enable-auto-discovery}
日志服务会根据您的接入配置,自动生成安装命令。您可以在数据接入页面,直接复制该命令。命令中各参数说明如下所示,请根据实际情况替换。
参数 是否必填 说明 --action 是 支持install、upgrade、uninstall、scale操作。 --project 是 日志服务Project名称,需配置为您在创建全栈监控实例时,所选择的Project。更多信息,请参见创建实例。 --aliuid 是 阿里云账号ID。更多信息,请参见步骤一:获取日志服务所在的阿里云账号(主账号)ID。 --instance-id 是 全栈监控实例ID。 --cluster-id 是 Kubernetes集群ID。命名规则如下: - 支持小写字母、数字、短划线(-)和下划线(_)。
- 最大支持24个字符。
--config-params 是 请根据日志服务Project所在地域和访问的网络类型填写。其中,地域信息请参见Logtail安装参数。 - 如果使用公网采集日志,格式为
region-internet
,例如:华东 1(杭州)为cn-hangzhou-Internet。 - 如果使用阿里云内网采集日志,格式为
region
。例如:华东 1(杭州)为cn-hangzhou。
--logtail-image-name 是 Logtail的镜像地址,默认为registry.cn-beijing.aliyuncs.com/log-service/logtail。 重要 默认地址为公网地址,若您的集群无法访问公网,可切换为对应地域的内网地址。例如registry-vpc.cn-hangzhou.aliyuncs.com/log-service/logtail。--kube-state-metrics-image-name 是 kube-state-metrics的镜像地址,默认为registry.cn-beijing.aliyuncs.com/log-service/kube-state-metrics。 重要 默认地址为公网地址,如果您的集群无法访问公网,可切换为对应地域的内网地址。例如registry-vpc.cn-hangzhou.aliyuncs.com/log-service/kube-state-metrics。--config-observer-enable 否 开启数据面监控。更多信息,请参见步骤5。 --config-auto-discovery-enable 否 开启Prometheus指标自动探测。 --kube-config 否 查看配置文件,默认路径为 ~/.kube/config
。--version 否 查看当前安装工具版本。 --help 否 查看帮助信息。 执行sls-monitoring.sh脚本后,日志服务将自动生成Metricstore等资产。更多信息,请参见资产说明。
如果在全栈监控中,对应的数据源配置数不为0,表示已创建Logtail采集配置。
部署组件说明
用于采集Kubernetes监控数据的Kubernetes资源全部创建在sls-monitoring命名空间中,主要包括1个Deployment、1个Statefulset、1个DaemonSet和7个AliyunLogConfig的CRD。
资源类型 | 资源名称 | 说明 |
---|---|---|
Deployment | kube-state-metrics | 用于监听Kubernetes中的API来获取Kubernetes集群中的指标。 |
Statefulset | logtail-kubernetes-metrics | 集群模式采集Prometheus指标,包括但不限于采集kube-state-metrics指标到日志服务。 |
DaemonSet | logtail-node-monitoring-ds | 用于监听Kubernetes中的API来获取Kubernetes集群中的指标。 |
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}-k8s-metrics-kubelet | 用于采集Kubernetes Kubelet的指标数据。默认采集到名为{instance}-k8s-metrics的Metricstore中。 | |
{instance-id}-node-metas | 用于采集Kubernetes节点的配置数据,例如CPU型号、内存大小等。默认采集到名为{instance}-metas的Logstore中。 | |
{instance-id}-node-metrics | 用于采集Kubernetes节点的指标数据,例如CPU使用率、内存利用率等。默认采集到名为{instance}-node-metrics的Metricstore中。 | |
{instance}-node-observer-metrics | 用于采集Kubernetes无侵入监控的指标数据。默认采集到名为{instance}-observer-data的Logstore中。 | |
{instance}-k8s-auto-discovery | 用于自动探测采集Pod Prometheus的指标数据,默认排除CoreDNS以及Ingress相关指标。默认采集到名为{instance}-k8s-metrics的Metricstore中。 |
后续步骤
接入Kubernetes监控数据后,全栈监控应用会自动生成专属仪表盘。您可以通过仪表盘分析监控数据。更多信息,请参见查看仪表盘。