本文介绍如何安装Sidecar及使用CRD方式创建Logtail配置,完成容器文本日志的采集。
前提条件
目标容器持续产生日志。
重要
Logtail只采集增量日志。如果下发Logtail配置后,日志文件无更新,则Logtail不会采集该文件中的日志。更多信息,请参见读取文件。
背景信息
通过Sidecar模式采集日志,依赖于Logtail容器和业务容器共享的日志目录。业务容器将日志写入到共享目录中,Logtail通过监控共享目录中日志文件的变化并采集日志。更多信息,请参见Sidecar日志采集介绍和Sidecar模式示例。
步骤一:安装Sidecar
-
登录Kubernetes集群。
-
创建一个YAML文件。
sidecar.yaml为文件名,请根据实际情况替换。
vim sidecar.yaml
-
在YAML文件输入如下脚本,并根据实际情况设置其中的参数。
重要
请确保配置文件中的env中的TZ(Time Zone)配置正确,否则原始日志与处理日志的时区不一致,可能会导致采集到的日志写入过去或未来的情况。例如是中国大陆,您可以设置时区为Asia/Shanghai。
apiVersion: batch/v1 kind: Job metadata: name: nginx-log-sidecar-demo namespace: default spec: template: metadata: name: nginx-log-sidecar-demo spec: restartPolicy: Never containers: # 主容器 - name: nginx-log-demo image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest command: ["/bin/sh", "-c"] # 主业务进程等待Logtail开始采集后启动,防止开头日志丢失。使用/tasksite/cornerstone接受通知。 # 主业务进程退出后,通知采集容器退出,使用/tasksite/tombstone发送通知。 args: - until [[ -f /tasksite/cornerstone ]]; do sleep 1; done; /bin/mock_log --log-type=nginx --stdout=false --stderr=true --path=/var/log/nginx/access.log --total-count=100 --logs-per-sec=100; retcode=$?; touch /tasksite/tombstone; exit $retcode resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 30Mi volumeMounts: - name: nginx-log mountPath: /var/log/nginx - mountPath: /tasksite name: tasksite # Logtail sidecar容器 - name: logtail # 新的镜像版本,请参见https://cr.console.aliyun.com/repository/cn-hangzhou/log-service/logtail/images。 # 请按业务需求修改地址。 image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:v1.5.1.0-aliyun command: ["/bin/sh", "-c"] # 第一个`sleep 10`等待Logtail开始采集。开始采集前需要先从服务器拉取Logtail配置。 # 第二个`sleep 10`等待Logtail完成采集,防止结尾日志丢失。完成采集时需先确保已将所有数据发送给服务器。 args: - /etc/init.d/ilogtaild start; sleep 10; touch /tasksite/cornerstone; until [[ -f /tasksite/tombstone ]]; do sleep 1; done; sleep 10; /etc/init.d/ilogtaild stop; livenessProbe: exec: command: - /etc/init.d/ilogtaild - status initialDelaySeconds: 30 periodSeconds: 30 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 30Mi env: ##### base config # user id - name: ALIYUN_LOGTAIL_USER_ID value: "${your_aliyun_user_id}" # user defined id - name: ALIYUN_LOGTAIL_USER_DEFINED_ID value: ${your_machine_group_user_defined_id} # config file path in logtail's container - name: ALIYUN_LOGTAIL_CONFIG value: /etc/ilogtail/conf/${your_region_config}/ilogtail_config.json ##### env tags config - name: "ALIYUN_LOG_ENV_TAGS" value: "_pod_name_|_pod_ip_|_namespace_|_node_name_|_node_ip_" - name: "_pod_name_" valueFrom: fieldRef: fieldPath: metadata.name - name: "_pod_ip_" valueFrom: fieldRef: fieldPath: status.podIP - name: "_namespace_" valueFrom: fieldRef: fieldPath: metadata.namespace - name: "_node_name_" valueFrom: fieldRef: fieldPath: spec.nodeName - name: "_node_ip_" valueFrom: fieldRef: fieldPath: status.hostIP volumeMounts: - name: nginx-log mountPath: /var/log/nginx - mountPath: /tasksite name: tasksite ##### share this volume volumes: - name: nginx-log emptyDir: {} - name: tasksite emptyDir: medium: Memory
-
在配置脚本中找到如下内容,完成基础配置。
##### base config # user id - name: "ALIYUN_LOGTAIL_USER_ID" value: "${your_aliyun_user_id}" # user defined id - name: "ALIYUN_LOGTAIL_USER_DEFINED_ID" value: "${your_machine_group_user_defined_id}" # config file path in logtail's container - name: "ALIYUN_LOGTAIL_CONFIG" value: "/etc/ilogtail/conf/${your_region_config}/ilogtail_config.json"
变量
说明
${your_aliyun_user_id}
设置为您的阿里云账号ID。更多信息,请参见步骤一:获取日志服务所在的阿里云账号(主账号)ID。
${your_machine_group_user_defined_id}
自定义设置机器组的自定义标识,例如nginx-log-sidecar。
重要
请确保该标识在您的Project所在地域内唯一。
${your_region_config}
请根据日志服务Project所在地域和访问的网络类型填写。其中,地域信息请参见安装Logtail(Linux系统)。
-
如果使用公网采集日志,格式为
region-internet
,例如华东 1(杭州)为cn-hangzhou-internet。 -
如果使用阿里云内网采集日志,格式为
region
。例如华东 1(杭州)为cn-hangzhou。
-
-
在配置脚本中找到如下内容,设置挂载路径。
说明
建议使用emptyDir挂载方式。
volumeMounts: - name: nginx-log mountPath: /var/log/nginx ##### share this volume volumes: - name: nginx-log emptyDir: {}
参数
说明
name
自定义设置卷的名称。
重要
volumeMounts节点下的name参数与volumes节点下的name参数需设置为一致,即确保Logtail容器和业务容器挂载相同的卷上。
mountPath
设置挂载路径,即容器文本日志所在文件的路径。
-
在配置脚本中找到如下内容,设置延迟停止采集的时间。
通常情况下,延迟停止采集的时间为10秒,即Logtail容器在接收到外部停止信号后会等待10秒再退出,防止有部分数据没有采集完毕。
command: - sh - -c - /usr/local/ilogtail/run_logtail.sh 10
-
-
执行如下命令使sidecar.yaml文件配置生效。
sidecar.yaml为文件名,请根据实际情况替换。
kubectl apply -f sidecar.yaml
步骤二:创建Logtail配置
只需要定义AliyunLogConfig CRD即可创建Logtail配置。创建完成后,系统自动应用该Logtail配置。如果您要删除Logtail配置只需删除对应的CRD资源即可。
-
登录Kubernetes集群。
-
执行如下命令创建一个YAML文件。
cube.yaml为文件名,请根据实际情况替换。
vim cube.yaml
-
在YAML文件输入如下脚本,并根据实际情况设置其中的参数。
重要
-
请确保configName参数值在日志服务Project中唯一存在。
-
如果多个CRD关联同一个Logtail配置,则删除或修改任意一个CRD均会影响到该Logtail配置,导致其他关联该Logtail配置的CRD状态与服务端不一致。
-
通过Sidecar模式只能采集文本日志,需将dockerFile参数设置为false。
apiVersion: log.alibabacloud.com/v1alpha1 # 使用默认值,无需修改。 kind: AliyunLogConfig # 使用默认值,无需修改。 metadata: name: simple-stdout-example # 设置资源名,在当前Kubernetes集群内唯一。 spec: project: k8s-my-project # (可选)设置Project名称。默认值为安装Logtail组件时设置的Project。 logstore: k8s-stdout # 设置Logstore名称。如果您所指定的Logstore不存在,日志服务会自动创建。 logstoreMode: standard # (可选)设置Logstore类型,该参数值仅在新建Logstore时生效。 machineGroups: # 设置机器组的名称,需与您在安装Sidecar时设置的${your_machine_group_user_defined_id}的值一致。Sidecar与CRD通过此处配置的机器组建立关联。 - nginx-log-sidecar shardCount: 2 # (可选)设置Shard数量。默认值为2,取值范围1~10。 lifeCycle: 90 # (可选)设置Logstore中数据的存储时间。默认值为90,取值范围为1~3650。其中,3650天为永久存储。 logtailConfig: # 设置Logtail配置。 inputType: file # 设置采集的数据源类型,通过Sidecar-CRD方式只支持采集文本日志,即需要设置为file。 configName: simple-stdout-example # 设置Logtail配置名称,与资源名(metadata.name)保持一致。 inputDetail: # 设置Logtail配置的详细信息,具体配置请参见本文下方的示例。 ...
参数
数据类型
是否必填
说明
project
string
否
Project名称。默认值为安装Logtail组件时所设置的Project。
logstore
string
是
Logstore名称。
如果您所指定的Logstore不存在,日志服务会自动创建。
logstoreMode
string
否
Logstore类型。更多信息,请参见管理Logstore。可选值:
-
query:查询型Logstore。
-
standard:标准型Logstore。
重要
- 该参数值仅在新建Logstore时生效,即您只能在创建Logstore时,指定Logstore类型。如果您在logstore参数中指定的Logstore已存在,则修改该参数值,不会生效。
- 针对alibaba-log-controller 0.3.3及以上版本,该设置才会生效。
shardCount
int
否
Shard数量。默认值为2,取值范围为1~10。
lifeCycle
int
否
Logstore中数据的存储时间。默认值为90,取值范围为1~3650。其中,3650天为永久存储。
machineGroups
array
是
设置机器组名称,需与您在步骤一:安装Sidecar中设置的${your_machine_group_user_defined_id}一致,例如nginx-log-sidecar。
日志服务将根据您设置的名称自动创建机器组,建立Sidecar与CRD之间的关联。
重要
机器组自定义标识的配置格式如下所示,请严格按照此格式配置。
machineGroups: - nginx-log-sidecar
logtailConfig
object
是
Logtail配置的详细定义,一般只需要定义其中的inputType参数、configName参数和inputDetail参数。详细参数说明,请参见Logtail配置。
相关示例,请参见配置示例、单目录。
-
-
执行如下命令使Logtail配置生效。
cube.yaml为文件名,请根据实际情况替换。
kubectl apply -f cube.yaml
创建Logtail配置后,您可以通过CRD方式或控制台方式查看Logtail配置。具体操作,请参见查看Logtail配置。
重要
采集到日志后,您需要先创建索引,才能在Logstore中查询和分析日志。具体操作,请参见创建索引。
配置示例
单目录
通过Sidecar-CRD方式采集本地IDC上自建Kubernetes集群中nginx-log-demo容器的文本日志(包括Nginx访问日志和Nginx错误日志)。基本信息如下:
-
日志服务所在地域为华东1(杭州),需要通过公网采集。
-
待挂载的卷的名称为nginx-log,挂载方式为emptyDir,将nginx-log卷分别挂载到nginx-log-demo容器和Logtail容器的/var/log/nginx目录下。
-
Nginx访问日志所在文件的路径为/var/log/nginx/access.log ,用于存储Nginx访问日志的目标Logstore为nginx-access。
-
Nginx错误日志所在文件的路径为/var/log/nginx/error.log ,用于存储Nginx错误日志的目标Logstore为nginx-error。
配置示例如下:
-
Sidecar示例
apiVersion: batch/v1 kind: Job metadata: name: nginx-log-sidecar-demo namespace: default spec: template: metadata: name: nginx-log-sidecar-demo spec: restartPolicy: Never containers: # 主容器 - name: nginx-log-demo image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest command: ["/bin/sh", "-c"] # 主业务进程等待Logtail开始采集后启动,防止开头日志丢失。使用/tasksite/cornerstone接受通知。 # 主业务进程退出后,通知采集容器退出,使用/tasksite/tombstone发送通知。 args: - until [[ -f /tasksite/cornerstone ]]; do sleep 1; done; /bin/mock_log --log-type=nginx --stdout=false --stderr=true --path=/var/log/nginx/access.log --total-count=100 --logs-per-sec=100; retcode=$?; touch /tasksite/tombstone; exit $retcode resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 30Mi volumeMounts: - name: nginx-log mountPath: /var/log/nginx - mountPath: /tasksite name: tasksite # Logtail sidecar容器 - name: logtail # 新的镜像版本,请参见https://cr.console.aliyun.com/repository/cn-hangzhou/log-service/logtail/images。 # 请按业务需求修改地址。 image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:v1.5.1.0-aliyun command: ["/bin/sh", "-c"] # 第一个`sleep 10`等待Logtail开始采集。开始采集前需要先从服务器拉取Logtail配置。 # 第二个`sleep 10`等待Logtail完成采集,防止结尾日志丢失。完成采集时需先确保已将所有数据发送给服务器。 args: - /etc/init.d/ilogtaild start; sleep 10; touch /tasksite/cornerstone; until [[ -f /tasksite/tombstone ]]; do sleep 1; done; sleep 10; /etc/init.d/ilogtaild stop; livenessProbe: exec: command: - /etc/init.d/ilogtaild - status initialDelaySeconds: 30 periodSeconds: 30 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 30Mi env: ##### base config # user id - name: ALIYUN_LOGTAIL_USER_ID value: "1023****3423" # user defined id - name: ALIYUN_LOGTAIL_USER_DEFINED_ID value: nginx-log-sidecar # config file path in logtail's container - name: ALIYUN_LOGTAIL_CONFIG value: /etc/ilogtail/conf/cn-hangzhou-internet/ilogtail_config.json ##### env tags config - name: "ALIYUN_LOG_ENV_TAGS" value: "_pod_name_|_pod_ip_|_namespace_|_node_name_|_node_ip_" - name: "_pod_name_" valueFrom: fieldRef: fieldPath: metadata.name - name: "_pod_ip_" valueFrom: fieldRef: fieldPath: status.podIP - name: "_namespace_" valueFrom: fieldRef: fieldPath: metadata.namespace - name: "_node_name_" valueFrom: fieldRef: fieldPath: spec.nodeName - name: "_node_ip_" valueFrom: fieldRef: fieldPath: status.hostIP volumeMounts: - name: nginx-log mountPath: /var/log/nginx - mountPath: /tasksite name: tasksite ##### share this volume volumes: - name: nginx-log emptyDir: {} - name: tasksite emptyDir: medium: Memory
-
CRD示例
创建两个Logtail配置用于采集Nginx访问日志和Nginx错误日志。
-
采集Nginx访问日志
重要
Sidecar模式下,需将dockerFile参数设置为false。
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 资源名称,在您的K8s集群中必须唯一。 name: nginx-log-access-example spec: # 设置Project名称。默认值为安装Logtail时所设置的Project。 project: k8s-nginx-sidecar-demo # 设置Logstore名称。如果您所指定的Logstore不存在,日志服务会自动创建。 logstore: nginx-access # 设置机器组名称,需与您在安装Sidecar时设置的${your_machine_group_user_defined_id}的值一致。 machineGroups: - nginx-log-sidecar # 设置Logtail配置。 logtailConfig: # 设置采集的数据源类型,通过Sidecar-CRD方式只支持采集文本日志,即需要设置为file。 inputType: file # 设置Logtail配置的名称,必须与资源名(metadata.name)相同。 configName: nginx-log-access-example inputDetail: # 指定通过完整正则模式采集容器文本日志。 logType: common_reg_log # 设置日志文件所在路径。 logPath: /var/log/nginx # 设置日志文件的名称。支持通配符星号(*)和半角问号(?),例如log_*.log。 filePattern: access.log # sidecar模式下,需设置dockerFile为false。 dockerFile: false # 设置用于匹配日志行首的行首正则表达式。如果为单行模式,设置成'.*'。 logBeginRegex: '.*' # 设置正则表达式,用于提取日志内容。请根据实际情况设置。 regex: '(\S+)\s(\S+)\s\S+\s\S+\s"(\S+)\s(\S+)\s+([^"]+)"\s+(\S+)\s(\S+)\s(\d+)\s(\d+)\s(\S+)\s"([^"]+)"\s.*' # 设置提取的字段列表。 key : ["time", "ip", "method", "url", "protocol", "latency", "payload", "status", "response-size",user-agent"]
-
采集Nginx错误日志
重要
Sidecar模式下,需将dockerFile参数设置为false。
# config for error log apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 设置资源名,在当前Kubernetes集群内唯一。 name: nginx-log-error-example spec: # 设置Project名称。默认值为安装Logtail时所设置的Project。 project: k8s-nginx-sidecar-demo # 设置Logstore名称。如果您所指定的Logstore不存在,日志服务会自动创建。 logstore: nginx-error # 设置机器组名称,需与您在安装Sidecar时设置的${your_machine_group_user_defined_id}的值一致。 machineGroups: - nginx-log-sidecar # 设置Logtail配置。 logtailConfig: # 设置采集的数据源类型,通过Sidecar-CRD方式只支持采集文本日志,即需要设置为file。 inputType: file # 设置Logtail配置名称,必须与资源名(metadata.name)相同。 configName: nginx-log-error-example inputDetail: # 指定通过完整正则模式采集容器文本日志。 logType: common_reg_log # 设置日志文件的路径。 logPath: /var/log/nginx # 设置日志文件的名称。支持通配符星号(*)和半角问号(?),例如log_*.log。 filePattern: error.log # sidecar模式下,需设置dockerFile为false。 dockerFile: false
-
多目录
通过Sidecar-CRD方式采集本地IDC上自建Kubernetes集群中nginx-log-demo容器的文本日志(存储在不同目录下的Nginx访问日志)。基本信息如下:
-
日志服务所在地域为华东1(杭州),需要通过公网采集。
-
待挂载的卷的名称为nginx-log和nginx-logs,挂载方式为emptyDir。将nginx-log卷分别挂载到nginx-log-demo容器和Logtail容器的/var/log/nginx目录下。将nginx-logs卷分别挂载到nginx-log-demo容器和Logtail容器的/var/log/nginxs目录下。
-
一个日志文件的路径为/var/log/nginx/access.log ,另一个日志文件的路径为/var/log/nginxs/access.log。
-
用于存储Nginx访问日志的目标Logstore为nginx-access。
配置示例如下:
-
Sidecar示例
apiVersion: batch/v1 kind: Job metadata: name: nginx-log-sidecar-demo namespace: default spec: template: metadata: name: nginx-log-sidecar-demo spec: restartPolicy: Never containers: # 主容器 - name: nginx-log-demo image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest command: ["/bin/sh", "-c"] # 主业务进程等待Logtail开始采集后启动,防止开头日志丢失。使用/tasksite/cornerstone接受通知。 # 主业务进程退出后,通知采集容器退出,使用/tasksite/tombstone发送通知。 args: - until [[ -f /tasksite/cornerstone ]]; do sleep 1; done; /bin/mock_log --log-type=nginx --stdout=false --stderr=true --path=/var/log/nginx/access.log --total-count=100 --logs-per-sec=100; retcode=$?; touch /tasksite/tombstone; exit $retcode resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 30Mi volumeMounts: - name: nginx-log mountPath: /var/log/nginx - mountPath: /tasksite name: tasksite # Logtail sidecar容器 - name: logtail # 新的镜像版本,请参见https://cr.console.aliyun.com/repository/cn-hangzhou/log-service/logtail/images。 # 请按业务需求修改地址。 image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:v1.5.1.0-aliyun command: ["/bin/sh", "-c"] # 第一个`sleep 10`等待Logtail开始采集。开始采集前需要先从服务器拉取Logtail配置。 # 第二个`sleep 10`等待Logtail完成采集,防止结尾日志丢失。完成采集时需先确保已将所有数据发送给服务器。 args: - /etc/init.d/ilogtaild start; sleep 10; touch /tasksite/cornerstone; until [[ -f /tasksite/tombstone ]]; do sleep 1; done; sleep 10; /etc/init.d/ilogtaild stop; livenessProbe: exec: command: - /etc/init.d/ilogtaild - status initialDelaySeconds: 30 periodSeconds: 30 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 30Mi env: ##### base config # user id - name: ALIYUN_LOGTAIL_USER_ID value: "1023****3423" # user defined id - name: ALIYUN_LOGTAIL_USER_DEFINED_ID value: nginx-log-sidecar # config file path in logtail's container - name: ALIYUN_LOGTAIL_CONFIG value: /etc/ilogtail/conf/cn-hangzhou-internet/ilogtail_config.json ##### env tags config - name: "ALIYUN_LOG_ENV_TAGS" value: "_pod_name_|_pod_ip_|_namespace_|_node_name_|_node_ip_" - name: "_pod_name_" valueFrom: fieldRef: fieldPath: metadata.name - name: "_pod_ip_" valueFrom: fieldRef: fieldPath: status.podIP - name: "_namespace_" valueFrom: fieldRef: fieldPath: metadata.namespace - name: "_node_name_" valueFrom: fieldRef: fieldPath: spec.nodeName - name: "_node_ip_" valueFrom: fieldRef: fieldPath: status.hostIP volumeMounts: - name: nginx-log mountPath: /var/log/nginx - mountPath: /tasksite name: tasksite ##### share this volume volumes: - name: nginx-log emptyDir: {} - name: tasksite emptyDir: medium: Memory
-
CRD示例
创建两个Logtail配置用于采集不同目录下的Nginx访问日志。
-
采集/var/log/nginx/access.log下的Nginx访问日志
重要
Sidecar模式下,需将dockerFile参数设置为false。
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 设置资源名,在当前Kubernetes集群内唯一。 name: nginx-log-access-example spec: # 设置Project名称。默认值为安装Logtail时所设置的Project。 project: k8s-nginx-sidecar-demo # 设置Logstore名称。如果您所指定的Logstore不存在,日志服务会自动创建。 logstore: nginx-access # 设置机器组名称,需与您在安装Sidecar时设置的${your_machine_group_user_defined_id}的值一致。 machineGroups: - nginx-log-sidecar # 设置Logtail配置。 logtailConfig: # 设置采集的数据源类型,通过Sidecar-CRD方式只支持采集文本日志,即需要设置为file。 inputType: file # 设置Logtail配置的名称,必须与资源名(metadata.name)相同。 configName: nginx-log-access-example inputDetail: # 指定通过完整正则模式采集文本日志。 logType: common_reg_log # 设置日志文件的路径。 logPath: /var/log/nginx # 设置日志文件的名称。支持通配符星号(*)和半角问号(?),例如log_*.log。 filePattern: access.log # sidecar模式下,需设置dockerFile为false。 dockerFile: false # 设置用于匹配日志行首的行首正则表达式。如果为单行模式,设置成'.*'。 logBeginRegex: '.*' # 设置正则表达式,用于提取日志内容。 regex: '(\S+)\s(\S+)\s\S+\s\S+\s"(\S+)\s(\S+)\s+([^"]+)"\s+(\S+)\s(\S+)\s(\d+)\s(\d+)\s(\S+)\s"([^"]+)"\s.*' # 提取的字段列表。 key : ["time", "ip", "method", "url", "protocol", "latency", "payload", "status", "response-size",user-agent"]
-
采集/var/log/nginxs/access.log下的Nginx访问日志
重要
Sidecar模式下,需将dockerFile参数设置为false。
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # 设置资源名,在当前Kubernetes集群内唯一。 name: nginxs-log-access-example spec: # 设置Project名称。默认值为安装Logtail时所设置的Project。 project: k8s-nginx-sidecar-demo # 设置Logstore名称。如果您所指定的Logstore不存在,日志服务会自动创建。 logstore: nginxs-access # 设置机器组名称,需与您在安装Sidecar时设置的${your_machine_group_user_defined_id}的值一致。 machineGroups: - nginx-log-sidecar # Logtail配置。 logtailConfig: # 设置采集的数据源类型,通过Sidecar-CRD方式只支持采集文本日志,即需要设置为file。 inputType: file # 设置Logtail配置的名称,必须与资源名(metadata.name)相同。 configName: nginxs-log-access-example inputDetail: # 指定通过完整正则模式采集文本日志。 logType: common_reg_log # 设置日志文件的路径。 logPath: /var/log/nginxs # 设置日志文件的名称。支持通配符星号(*)和半角问号(?),例如log_*.log。 filePattern: access.log # 在sidecar模式下,需设置dockerFile为false。 dockerFile: false # 设置用于匹配日志行首的行首正则表达式。如果为单行模式,设置成'.*'。 logBeginRegex: '.*' # 设置正则表达式,用于提取日志内容。 regex: '(\S+)\s(\S+)\s\S+\s\S+\s"(\S+)\s(\S+)\s+([^"]+)"\s+(\S+)\s(\S+)\s(\d+)\s(\d+)\s(\S+)\s"([^"]+)"\s.*' # 提取的字段列表。 key : ["time", "ip", "method", "url", "protocol", "latency", "payload", "status", "response-size",user-agent"]
-
问题排查
当您使用Logtail采集容器(标准容器、Kubernetes)日志遇到异常情况时,您可以参见如下内容进行排查。
- 如何排查容器日志采集异常
- 如何使用Logtail容器快速诊断工具
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/162453.html