本文介绍如何将ECI Pod的日志采集到Kafka中。
前提条件
ECI Pod和Kafka之间网络互通。
如果您在阿里云上部署Kafka,建议将Kafka和ECI Pod部署在同一VPC下。
已完成ECI日志采集的相关配置。具体操作,请参见通过阿里云日志服务采集日志。
通过日志服务控制台配置
Logtail日志采集支持文件和标准输出两种方式,您可以在日志服务控制台配置flushers插件,将日志导入Kafka。配置文本如下:
"flushers": [
{
"detail": {
"Brokers": [
"Kafka Broker地址"
],
"Topic": "log"
},
"type": "flusher_kafka"
}
]
对于标准输出,您可以直接修改Logtail配置,在插件配置中新增flushers插件。如下图所示。
对于文件采集,您需要在高级选项中启用插件处理开关,然后在插件配置中新增flushers插件。如下图所示。
通过SLS CRD配置
如果您使用的Kubernetes集群已经安装了日志服务的CRD,您可以通过CRD的方式配置flushers插件,将日志导入Kafka。
请参考以下配置示例修改SLS CRD(资源类型为AliyunLogConfig)的YAML,然后执行kubectl apply
命令更新配置。
标准输出YAML配置示例
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: name: test-stdout # 资源名,在集群内唯一 spec: project: k8s-log-xxx # (可选)Project名称,默认为安装时设置的Project,若指定Project请确保该Project未被使用 logstore: test-stdout # Logstore名称,不存在时自动创建 shardCount: 2 # (可选)Shard数量,默认为2,支持1-10 lifeCycle: 90 # (可选)Logstore中数据的存储时间,默认为90,支持1-7300,7300天为永久存储 logtailConfig: inputType: plugin # 采集的数据源类型,file(文本文件)或plugin(标准输出) configName: test-stdout # 采集配置的名称,与资源名(metadata.name)保持一致 inputDetail: plugin: inputs: - type: service_docker_stdout detail: Stdout: true Stderr: true flushers: - type: flusher_kafka # flusher类型为Kafka detail: Brokers: - 192.XX.XX.XX:9092 # 配置Kafka Broker地址 - 192.XX.XX.XX:9092 - 192.XX.XX.XX:9092 Topic: log
文件采集YAML配置示例
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: name: test-file spec: project: k8s-log-xxx # (可选)Project名称,默认为安装时设置的Project,若指定Project请确保该Project未被使用 logstore: test-file # Logstore名称,不存在时自动创建 shardCount: 2 # (可选)Shard数量,默认为2,支持1-10 lifeCycle: 90 # (可选)Logstore中数据的存储时间,默认为90,支持1-7300,7300天为永久存储 logtailConfig: inputType: file # 采集的数据源类型,file(文本文件)或plugin(标准输出) configName: test-file # 采集配置的名称,与资源名(metadata.name)保持一致 inputDetail: logType: common_reg_log # 对于分隔符类型的日志,logType可以设置为json_log logPath: /log/ # 日志文件夹 filePattern: "*.log" # 文件名, 支持通配符,例如log_*.log dockerFile: true # 采集容器内的文件 plugin: flushers: - type: flusher_kafka # flusher类型为Kafka detail: Brokers: - 192.XX.XX.XX:9092 # 配置Kafka Broker地址 - 192.XX.XX.XX:9092 - 192.XX.XX.XX:9092 Topic: log
结果验证
配置完成后,您可以看到ECI日志已经被采集到Kafka。例如:如果使用的是阿里云云消息队列 Kafka 版,可以在消息查询页面查询到ECI的日志,如下图所示。
反馈
- 本页导读 (1)
文档反馈