forked from k-space/kube
		
	
							
								
								
									
										196
									
								
								logging/filebeat.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								logging/filebeat.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,196 @@ | |||||||
|  | --- | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: ConfigMap | ||||||
|  | metadata: | ||||||
|  |   name: filebeat-config | ||||||
|  |   namespace: logging | ||||||
|  | data: | ||||||
|  |   filebeat.yml: |- | ||||||
|  |     http.enabled: true | ||||||
|  |     filebeat.inputs: | ||||||
|  |     - type: container | ||||||
|  |       paths: | ||||||
|  |         - /var/log/containers/*.log | ||||||
|  |       processors: | ||||||
|  |         - add_kubernetes_metadata: | ||||||
|  |             in_cluster: true | ||||||
|  |             host: ${NODE_NAME} | ||||||
|  |             matchers: | ||||||
|  |             - logs_path: | ||||||
|  |                 logs_path: "/var/log/containers/" | ||||||
|  |     filebeat.autodiscover: | ||||||
|  |       providers: | ||||||
|  |         - type: kubernetes | ||||||
|  |           host: ${NODE_NAME} | ||||||
|  |           hints.enabled: true | ||||||
|  |           hints.default_config: | ||||||
|  |             type: container | ||||||
|  |             paths: | ||||||
|  |               - /var/log/containers/*${data.kubernetes.container.id}.log | ||||||
|  |     processors: | ||||||
|  |       - add_host_metadata: | ||||||
|  |       - drop_fields: | ||||||
|  |           fields: | ||||||
|  |             - stream | ||||||
|  |           ignore_missing: true | ||||||
|  |       - rename: | ||||||
|  |           fields: | ||||||
|  |             - from: "kubernetes.node.name" | ||||||
|  |               to: "source" | ||||||
|  |             - from: "kubernetes.pod.name" | ||||||
|  |               to: "pod" | ||||||
|  |             - from: "stream" | ||||||
|  |               to: "stream" | ||||||
|  |             - from: "kubernetes.labels.app" | ||||||
|  |               to: "app" | ||||||
|  |             - from: "kubernetes.namespace" | ||||||
|  |               to: "namespace" | ||||||
|  |           ignore_missing: true | ||||||
|  |       - drop_fields: | ||||||
|  |           fields: | ||||||
|  |             - agent | ||||||
|  |             - container | ||||||
|  |             - ecs | ||||||
|  |             - host | ||||||
|  |             - kubernetes | ||||||
|  |             - log | ||||||
|  |             - "@metadata" | ||||||
|  |           ignore_missing: true | ||||||
|  |     output.logstash: | ||||||
|  |       hosts: ["graylog-logstash:5044"] | ||||||
|  |     #output.console: | ||||||
|  |     #  pretty: true | ||||||
|  | --- | ||||||
|  | apiVersion: apps/v1 | ||||||
|  | kind: DaemonSet | ||||||
|  | metadata: | ||||||
|  |   name: filebeat | ||||||
|  |   namespace: logging | ||||||
|  | spec: | ||||||
|  |   updateStrategy: | ||||||
|  |     type: RollingUpdate | ||||||
|  |     rollingUpdate: | ||||||
|  |       maxUnavailable: 100% | ||||||
|  |   selector: | ||||||
|  |     matchLabels: | ||||||
|  |       app: filebeat | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       labels: | ||||||
|  |         app: filebeat | ||||||
|  |     spec: | ||||||
|  |       serviceAccountName: filebeat | ||||||
|  |       containers: | ||||||
|  |       - name: filebeat | ||||||
|  |         image: docker.elastic.co/beats/filebeat:7.17.6 | ||||||
|  |         args: | ||||||
|  |          - -c | ||||||
|  |          - /etc/filebeat.yml | ||||||
|  |          - -e | ||||||
|  |         securityContext: | ||||||
|  |           runAsUser: 0 | ||||||
|  |         env: | ||||||
|  |         - name: NODE_NAME | ||||||
|  |           valueFrom: | ||||||
|  |             fieldRef: | ||||||
|  |               fieldPath: spec.nodeName | ||||||
|  |         ports: | ||||||
|  |           - containerPort: 5066 | ||||||
|  |         resources: | ||||||
|  |           limits: | ||||||
|  |             memory: 200Mi | ||||||
|  |           requests: | ||||||
|  |             cpu: 100m | ||||||
|  |             memory: 100Mi | ||||||
|  |         volumeMounts: | ||||||
|  |         - name: filebeat-config | ||||||
|  |           mountPath: /etc/filebeat.yml | ||||||
|  |           readOnly: true | ||||||
|  |           subPath: filebeat.yml | ||||||
|  |         - name: data | ||||||
|  |           mountPath: /usr/share/filebeat/data | ||||||
|  |         - name: varlibdockercontainers | ||||||
|  |           mountPath: /var/lib/docker/containers | ||||||
|  |           readOnly: true | ||||||
|  |         - name: varlog | ||||||
|  |           mountPath: /var/log | ||||||
|  |           readOnly: true | ||||||
|  |       volumes: | ||||||
|  |       - name: filebeat-config | ||||||
|  |         configMap: | ||||||
|  |           defaultMode: 0600 | ||||||
|  |           name: filebeat-config | ||||||
|  |       - name: varlibdockercontainers | ||||||
|  |         hostPath: | ||||||
|  |           path: /var/lib/docker/containers | ||||||
|  |       - name: varlog | ||||||
|  |         hostPath: | ||||||
|  |           path: /var/log | ||||||
|  |       - name: data | ||||||
|  |         hostPath: | ||||||
|  |           path: /var/lib/filebeat-data | ||||||
|  |           type: DirectoryOrCreate | ||||||
|  |       tolerations: | ||||||
|  |       - operator: "Exists" | ||||||
|  |         effect: "NoExecute" | ||||||
|  |       - operator: "Exists" | ||||||
|  |         effect: "NoSchedule" | ||||||
|  | --- | ||||||
|  | apiVersion: rbac.authorization.k8s.io/v1 | ||||||
|  | kind: ClusterRoleBinding | ||||||
|  | metadata: | ||||||
|  |   name: filebeat | ||||||
|  | subjects: | ||||||
|  | - kind: ServiceAccount | ||||||
|  |   name: filebeat | ||||||
|  |   namespace: logging | ||||||
|  | roleRef: | ||||||
|  |   kind: ClusterRole | ||||||
|  |   name: filebeat | ||||||
|  |   apiGroup: rbac.authorization.k8s.io | ||||||
|  | --- | ||||||
|  | apiVersion: rbac.authorization.k8s.io/v1 | ||||||
|  | kind: ClusterRole | ||||||
|  | metadata: | ||||||
|  |   name: filebeat | ||||||
|  |   labels: | ||||||
|  |     app: filebeat | ||||||
|  | rules: | ||||||
|  | - apiGroups: | ||||||
|  |   - "" | ||||||
|  |   resources: | ||||||
|  |   - namespaces | ||||||
|  |   - pods | ||||||
|  |   - nodes | ||||||
|  |   verbs: | ||||||
|  |   - get | ||||||
|  |   - watch | ||||||
|  |   - list | ||||||
|  | --- | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: ServiceAccount | ||||||
|  | metadata: | ||||||
|  |   name: filebeat | ||||||
|  |   namespace: logging | ||||||
|  |   labels: | ||||||
|  |     app: filebeat | ||||||
|  | --- | ||||||
|  | apiVersion: networking.k8s.io/v1 | ||||||
|  | kind: NetworkPolicy | ||||||
|  | metadata: | ||||||
|  |   name: filebeat | ||||||
|  | spec: | ||||||
|  |   podSelector: | ||||||
|  |     matchLabels: | ||||||
|  |       app: filebeat | ||||||
|  |   policyTypes: | ||||||
|  |   - Ingress | ||||||
|  |   - Egress | ||||||
|  |   egress: | ||||||
|  |   - to: | ||||||
|  |     - podSelector: | ||||||
|  |         matchLabels: | ||||||
|  |           app: graylog | ||||||
|  |     ports: | ||||||
|  |     - protocol: TCP | ||||||
|  |       port: 5044 | ||||||
		Reference in New Issue
	
	Block a user