本文介绍如何开通Ingress访问日志中心,将Ingress日志实时采集到日志服务中并进行可视化分析。
日志服务采集配置针对Kubernetes进行了CRD扩展,alibaba-log-controller组件会根据您定义的AliyunLogConfig CRD自动创建日志服务相关采集配置和报表资源。
如果您在应用了CRD配置后要更新组件版本,请在更新组件版本后,删除该CRD配置并重新应用。
log-format-upstream: $the_real_ip - [$the_real_ip] - $remote_user [$time_local] "$request" $status
$body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name]
$upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id $host
apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
# your config name, must be unique in you k8s cluster
name: k8s-nginx-ingress
spec:
# logstore name to upload log
logstore: nginx-ingress
# product code, only for k8s nginx ingress
productCode: k8s-nginx-ingress
# logtail config detail
logtailConfig:
inputType: plugin
# logtail config name, should be same with [metadata.name]
configName: k8s-nginx-ingress
inputDetail:
plugin:
inputs:
- type: service_docker_stdout
detail:
IncludeLabel:
io.kubernetes.container.name: nginx-ingress-controller
Stderr: false
Stdout: true
processors:
- type: processor_regex
detail:
KeepSource: false
Keys:
- client_ip
- x_forward_for
- remote_user
- time
- method
- url
- version
- status
- body_bytes_sent
- http_referer
- http_user_agent
- request_length
- request_time
- proxy_upstream_name
- upstream_addr
- upstream_response_length
- upstream_response_time
- upstream_status
- req_id
- host
- proxy_alternative_upstream_name
NoKeyError: true
NoMatchError: true
Regex: ^(\S+)\s-\s\[([^]]+)]\s-\s(\S+)\s\[(\S+)\s\S+\s"(\w+)\s(\S+)\s([^"]+)"\s(\d+)\s(\d+)\s"([^"]*)"\s"([^"]*)"\s(\S+)\s(\S+)+\s\[([^]]*)]\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s*(\S*)\s*\[*([^]]*)\]*.*
SourceKey: content
其中命名空间选择为您所在集群的默认命名空间。
参数 | 说明 |
---|---|
日志中心名称 | 配置日志中心名称。 |
项目Project | 选择您已创建的Project。 |
日志库Logstore | 选择您已创建的Logstore,该Logstore需与步骤1:部署Ingress采集配置中配置的Logstore保持一致。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交