fluentd-gcp: Add kube-apiserver-audit.log.

This commit is contained in:
Anthony Yeh 2017-02-10 12:19:50 -08:00
parent da8f68e013
commit 257a8745e3
4 changed files with 28 additions and 6 deletions

View File

@ -2,19 +2,19 @@
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: fluentd-gcp-v1.37 name: fluentd-gcp-v1.38
namespace: kube-system namespace: kube-system
labels: labels:
k8s-app: fluentd-gcp k8s-app: fluentd-gcp
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
version: v1.37 version: v1.38
spec: spec:
template: template:
metadata: metadata:
labels: labels:
k8s-app: fluentd-gcp k8s-app: fluentd-gcp
kubernetes.io/cluster-service: "true" kubernetes.io/cluster-service: "true"
version: v1.37 version: v1.38
# This annotation ensures that fluentd does not get evicted if the node # This annotation ensures that fluentd does not get evicted if the node
# supports critical pod annotation based priority scheme. # supports critical pod annotation based priority scheme.
# Note that this does not guarantee admission on the nodes (#40573). # Note that this does not guarantee admission on the nodes (#40573).
@ -23,7 +23,7 @@ spec:
spec: spec:
containers: containers:
- name: fluentd-gcp - name: fluentd-gcp
image: gcr.io/google_containers/fluentd-gcp:1.37 image: gcr.io/google_containers/fluentd-gcp:1.38
# If fluentd consumes its own logs, the following situation may happen: # If fluentd consumes its own logs, the following situation may happen:
# fluentd fails to send a chunk to the server => writes it to the log => # fluentd fails to send a chunk to the server => writes it to the log =>
# tries to send this message to the server => fails to send a chunk and so on. # tries to send this message to the server => fails to send a chunk and so on.

View File

@ -26,7 +26,7 @@
.PHONY: build push .PHONY: build push
PREFIX=gcr.io/google_containers PREFIX=gcr.io/google_containers
TAG = 1.37 TAG = 1.38
build: build:
docker build --pull -t $(PREFIX)/fluentd-gcp:$(TAG) . docker build --pull -t $(PREFIX)/fluentd-gcp:$(TAG) .

View File

@ -174,6 +174,28 @@
tag kube-apiserver tag kube-apiserver
</source> </source>
# Example:
# 2017-02-09T00:15:57.992775796Z AUDIT: id="90c73c7c-97d6-4b65-9461-f94606ff825f" ip="104.132.1.72" method="GET" user="kubecfg" as="<self>" asgroups="<lookup>" namespace="default" uri="/api/v1/namespaces/default/pods"
# 2017-02-09T00:15:57.993528822Z AUDIT: id="90c73c7c-97d6-4b65-9461-f94606ff825f" response="200"
<source>
type tail
format multiline
multiline_flush_interval 5s
format_firstline /^\S+\s+AUDIT:/
# Fields must be explicitly captured by name to be parsed into the record.
# Fields may not always be present, and order may change, so this just looks
# for a list of key="\"quoted\" value" pairs separated by spaces.
# Unknown fields are ignored.
# Note: We can't separate query/response lines as format1/format2 because
# they don't always come one after the other for a given query.
# TODO: Maybe add a JSON output mode to audit log so we can get rid of this?
format1 /^(?<time>\S+) AUDIT:(?: (?:id="(?<id>(?:[^"\\]|\\.)*)"|ip="(?<ip>(?:[^"\\]|\\.)*)"|method="(?<method>(?:[^"\\]|\\.)*)"|user="(?<user>(?:[^"\\]|\\.)*)"|groups="(?<groups>(?:[^"\\]|\\.)*)"|as="(?<as>(?:[^"\\]|\\.)*)"|asgroups="(?<asgroups>(?:[^"\\]|\\.)*)"|namespace="(?<namespace>(?:[^"\\]|\\.)*)"|uri="(?<uri>(?:[^"\\]|\\.)*)"|response="(?<response>(?:[^"\\]|\\.)*)"|\w+="(?:[^"\\]|\\.)*"))*/
time_format %FT%T.%L%Z
path /var/log/kube-apiserver-audit.log
pos_file /var/log/gcp-kube-apiserver-audit.log.pos
tag kube-apiserver-audit
</source>
# Example: # Example:
# I0204 06:55:31.872680 5 servicecontroller.go:277] LB already exists and doesn't need update for service kube-system/kube-ui # I0204 06:55:31.872680 5 servicecontroller.go:277] LB already exists and doesn't need update for service kube-system/kube-ui
<source> <source>

View File

@ -15,7 +15,7 @@ spec:
dnsPolicy: Default dnsPolicy: Default
containers: containers:
- name: fluentd-cloud-logging - name: fluentd-cloud-logging
image: gcr.io/google_containers/fluentd-gcp:1.37 image: gcr.io/google_containers/fluentd-gcp:1.38
# If fluentd consumes its own logs, the following situation may happen: # If fluentd consumes its own logs, the following situation may happen:
# fluentd fails to send a chunk to the server => writes it to the log => # fluentd fails to send a chunk to the server => writes it to the log =>
# tries to send this message to the server => fails to send a chunk and so on. # tries to send this message to the server => fails to send a chunk and so on.