在云原生时代,Logs、Trace、Metrics也变得融合,全栈监控(全栈可观测)利用SLS云原生采集器iLogtail能力通过一套架构解决云原生下复杂的可观测数据迁移问题。
背景
iLogtail 历史部署版本分为Log模型与Metrics 模型,Log模型和Metrics 模型分别部署于logtail-ds/kube-system
和logtail-node-monitoring-ds/sls-monitoring
2个Daemonset,此外Metrics 模型还包含Statefulset等其他资源。
前提条件
采集Kubernetes集群内Logs、Metrics、Trace数据,需要先安装Logtail组件。Logtail组件安装方式请参见:
支持的Logtail组件版本: 1.7.3版本及以上,查看Logtail版本,请参见查看Logtail版本,升级Logtail版本,请参见升级Logtail。
支持的Logtail组件版本:V2及以上,查看Logtail版本,请参见查看Logtail版本,升级Logtail版本,请参见升级Logtail。
新部署架构
Kubernetes iLogtai包括Ds(Daemonset)形态、Sts(Statefulset)形态、以及Singleton3种部署形态。
Ds形态主要负责节点可观测数据的采集,如节点日志、容器日志、主机指标、进程指标、Kubelet 指标等。
Sts形态主要负责集群可观测数据的采集,此模式下iLogtail同时支持Pull&Push两种工作模型,Pull模式下iLogtail可以代替Prometheus 拉取集群内的Prometheus Exporter 数据。Push 模式下,iLogtail 可以接收可观测数据的输入,如接收基于Pyroscope的Profiling 数据,接收OpenTelemetry 协议数据。
Singleton形态主要负责采集全局性可观测数据,如采集MySQL、PG、Clickhouse、Elasticsearch 等数据库指标。
迁移历史版本全栈监控资源
登录集群,下载模板工具。
中国地区
curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
海外地区
curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
安装模板工具,安装成功后会在当前文件夹生成
sls-crd-tool
工具。tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh && sh -x /tmp/crd-tool/install.sh
执行
./sls-crd-migrate-tool --help
命令验证工具是否安装成功,当存在返回值时,说明工具安装成功。校验当前集群是否可以迁移,校验信息保存为
sls-check-info.json
。./sls-crd-migrate-tool check
如果校验通过,请使用以下命令查找待迁移资源,待迁移信息保存为
sls-history-crd-infos.json
。./sls-crd-migrate-tool list
迁移资源。
./sls-crd-migrate-tool migrate
校验迁移完成。
重新执行第5步与第6步,提示无迁移资源,表示迁移完成。
迁移完成后,清除历史版本全栈监控资源。
历史CRD默认空间存在于
sls-monitoring
命名空间,上述迁移操作不会移动CRD命名空间位置,因此请按照以下操作进行删除。kubectl delete ds logtail-node-monitoring-ds -n sls-monitoring kubectl delete sts logtail-kubernetes-metrics -n sls-monitoring kubectl delete deploy kube-state-metrics -n sls-monitoring