iLogtail入门指南:从Kubernetes环境中采集日志到SLS
2023-12-02 19:03:50
日志是云原生应用程序的重要组成部分,它提供了应用程序的运行状况、错误和安全信息。通过对日志的收集和分析,可以帮助开发人员快速定位和解决问题,提高应用程序的稳定性和可靠性。
iLogtail 是阿里云日志服务 (SLS) 的采集部分,它用于收集遥测数据,例如日志、跟踪和指标。iLogtail 可以轻松地将日志从 Kubernetes 集群收集到 SLS,以便进行集中存储和分析。
在本文中,我们将介绍如何使用 iLogtail 从 Kubernetes 环境中采集日志并发送至 SLS。您将学习如何在 Kubernetes 集群中部署 iLogtail、配置日志收集规则,以及将日志发送至 SLS 进行分析和存储。
准备工作
在开始之前,您需要准备以下内容:
- 一个 Kubernetes 集群
- 一个阿里云账号
- 一个 SLS 实例
部署 iLogtail
要将日志从 Kubernetes 集群收集到 SLS,您需要首先在集群中部署 iLogtail。您可以通过以下步骤进行部署:
- 克隆 iLogtail GitHub 仓库:
git clone https://github.com/alibaba/ilogtail.git
- 进入 iLogtail 目录:
cd ilogtail
- 构建 iLogtail 镜像:
docker build -t ilogtail .
- 创建 iLogtail 部署文件:
vi ilogtail-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: ilogtail
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: ilogtail
template:
metadata:
labels:
app: ilogtail
spec:
containers:
- name: ilogtail
image: ilogtail
command: ["/ilogtail", "-c", "/ilogtail.conf"]
volumeMounts:
- name: config
mountPath: /ilogtail.conf
subPath: ilogtail.conf
volumes:
- name: config
configMap:
name: ilogtail-config
- 创建 iLogtail ConfigMap:
vi ilogtail-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: ilogtail-config
data:
ilogtail.conf: |-
[default]
project=YOUR_PROJECT_NAME
logstore=YOUR_LOGSTORE_NAME
# endpoint 为您所在的 region 的 SLS Endpoint
endpoint=YOUR_SLS_ENDPOINT
-
将
YOUR_PROJECT_NAME
替换为您自己的阿里云项目名称,将YOUR_LOGSTORE_NAME
替换为您自己的 SLS 日志库名称,将YOUR_SLS_ENDPOINT
替换为您所在的 region 的 SLS Endpoint。 -
创建 iLogtail 部署和 ConfigMap:
kubectl create -f ilogtail-deployment.yaml
kubectl create -f ilogtail-config.yaml
配置日志收集规则
部署 iLogtail 后,您需要配置日志收集规则,以指定要收集的日志类型和来源。您可以通过以下步骤进行配置:
- 创建一个 ConfigMap 来存储日志收集规则:
vi log-collection-rules.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: log-collection-rules
data:
rules.yaml: |-
- type: kubernetes
kubernetes:
host: ""
# 标签选择器用于匹配要收集日志的 Pod。
selector:
namespace: default
container_name: "*"
- 将 ConfigMap 应用到 iLogtail 部署:
kubectl label deployment/ilogtail app=ilogtail-with-rules
kubectl annotate deployment/ilogtail-with-rules app.kubernetes.io/configmaps=log-collection-rules
验证日志收集
部署 iLogtail 并配置日志收集规则后,您可以通过以下步骤验证日志是否已正确收集:
- 登录 SLS 控制台:https://sls.console.aliyun.com/
- 选择您的项目和日志库。
- 在日志库中,您应该可以看到从 Kubernetes 集群收集的日志。
总结
通过本指南,您已经学会了如何使用 iLogtail 从 Kubernetes 环境中采集日志并发送至 SLS。您可以在 SLS 中对日志进行集中存储和分析,以帮助您快速定位和解决问题,提高应用程序的稳定性和可靠性。