本文介绍如何在Kubernetes集群上安装Logtail组件。
背景信息
- 创建alibaba-log-configuration ConfigMap,该ConfigMap中包含日志服务配置信息,例如Project等。
- (可选)创建AliyunLogConfig CRD资源。
- (可选)部署alibaba-log-controller Deployment,用于监听AliyunLogConfig CRD资源的变更、创建Logtail采集配置。
- 部署logtail-ds Daemonset,用于采集节点的日志。
阿里云Kubernetes集群
您可以为已有的Kubernetes集群安装Logtail组件,也可以在创建Kubernetes集群时选中使用日志服务,安装Logtail组件。
为已有的Kubernetes集群安装Logtail组件
创建Kubernetes集群时安装Logtail组件
自建Kubernetes集群
常见问题
- 如何查看镜像版本?
您可以通过镜像仓库进行查看,地址为https://cr.console.aliyun.com/repository/cn-shanghai/log-service/logtail/images。
- 多个Kubernetes集群如何共用一个日志服务Project?
- 阿里云Kubernetes集群
如果您希望将多个Kubernetes集群中的容器日志采集到同一个日志服务Project中,您可以在创建Kubernetes集群时选择相同的Project。
- 自建Kubernetes集群
如果您希望将多个Kubernetes集群中的容器日志采集到同一个日志服务Project中,您可以在安装其他集群日志服务组件时,将安装参数中的{your-project-suffix}与您第一次安装集群日志服务组件时设置为一样。
说明 此方式不支持跨地域的Kubernetes多集群共享。 - 阿里云Kubernetes集群
- 如何查看Logtail日志?
Logtail日志存储在Logtail容器中的/usr/local/ilogtail/目录中,文件名为ilogtail.LOG和logtail_plugin.LOG。
Logtail容器中的标准输出并不具备参考意义,请忽略以下标准输出内容。
start umount useless mount points, /shm$|/merged$|/mqueue$ umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount ...... xargs: umount: exited with status 255; aborting umount done start logtail ilogtail is running logtail status: ilogtail is running
- 如何查看Kubernetes集群中日志服务相关组件的状态?
执行如下命令进行查看。
kubectl get deploy alibaba-log-controller -n kube-system kubectl get ds logtail-ds -n kube-system
- alibaba-log-controller启动失败,该怎么处理?
请确认您是否按照以下方式进行安装。
- 在Kubernetes集群的Master节点中执行安装命令。
- 安装命令参数中输入的是您的集群ID。
如果由于以上问题安装失败,请使用
kubectl delete -f deploy
命令删除已生成的安装模板并重新执行安装命令。 - 如何查看Kubernetes集群中Logtail DaemonSet状态?
执行
kubectl get ds -n kube-system
命令查看Logtail DaemonSet状态。说明 Logtail容器所在的命名空间,默认为kube-system。 - 如何查看Logtail的版本号、IP地址、启动时间以及状态等信息?
- 查看Logtail状态等信息。
kubectl get po -n kube-system | grep logtail
返回结果如下:
NAME READY STATUS RESTARTS AGE logtail-ds-gb92k 1/1 Running 0 2h logtail-ds-wm7lw 1/1 Running 0 4d
- 查看Logtail的版本号、IP地址等信息。
kubectl exec logtail-ds-gb92k -n kube-system cat /usr/local/ilogtail/app_info.json
返回结果如下:
{ "UUID" : "", "hostname" : "logtail-ds-gb92k", "instance_id" : "0EBB2B0E-0A3B-11E8-B0CE-0A58AC140402_172.20.4.2_1517810940", "ip" : "192.0.2.0", "logtail_version" : "0.16.2", "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64", "update_time" : "2021-02-05 06:09:01" }
- 查看Logtail状态等信息。
- 如何查看Logtail的运行日志?
Logtail运行日志保存在/usr/local/ilogtail/目录下,文件名为ilogtail.LOG,轮转文件会压缩存储为ilogtail.LOG.x.gz。
示例如下:[root@iZbp1dsu6v77zfb40qfbiaZ ~]# kubectl exec logtail-ds-gb92k -n kube-system tail /usr/local/ilogtail/ilogtail.LOG [2018-02-05 06:09:02.168693] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:104] logtail plugin Resume:start [2018-02-05 06:09:02.168807] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:106] logtail plugin Resume:success [2018-02-05 06:09:02.168822] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:369] start add existed check point events, size:0 [2018-02-05 06:09:02.168827] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:511] add existed check point events, size:0 cache size:0 event size:0 success count:0
- 如何重启某个Pod中的Logtail?
- 停止Logtail。
其中
logtail-ds-gb92k -n
表示容器名,kube-system
表示命名空间,请根据实际情况替换。kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild stop
返回如下结果表示停止成功。kill process Name: ilogtail pid: 7 kill process Name: ilogtail pid: 9 stop success
- 启动Logtail。
其中
logtail-ds-gb92k -n
表示容器名,kube-system
表示命名空间,请根据实际情况替换。kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild start
返回如下结果表示启动成功。ilogtail is running
- 停止Logtail。
后续步骤
- DaemonSet方式
- 如果您需要通过CRD方式采集日志,请参见通过DaemonSet-CRD方式采集容器日志。
- 如果您需要通过控制台方式采集容器标准输出,请参见通过DaemonSet-控制台方式采集容器标准输出。
- 如果您需要通过控制台方式采集容器文本日志,请参见通过日志服务采集Kubernetes容器日志。
- Sidecar方式
- 如果您需要通过CRD方式采集日志,请参见通过Sidecar-CRD方式采集容器文本日志。
- 如果您需要通过控制台方式采集日志,请参见通过Sidecar-控制台方式采集容器文本日志。