285 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			285 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| apiVersion: v1
 | |
| kind: ConfigMap
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/instance: k8s
 | |
|     app.kubernetes.io/component: exporter
 | |
|     app.kubernetes.io/name: grafana-agent
 | |
|     app.kubernetes.io/managed-by: {{ $.Release.Service }}
 | |
|     app.kubernetes.io/part-of: {{ $.Chart.Name }}
 | |
|     app.kubernetes.io/version: {{ $.Chart.Version }}
 | |
|   name: grafana-agent
 | |
|   namespace: monitoring
 | |
| data:
 | |
|   agent.yaml: |
 | |
|     metrics:
 | |
|       wal_directory: /tmp/wal
 | |
| 
 | |
|     logs:
 | |
|       positions_directory: "/tmp"
 | |
| 
 | |
|       configs:
 | |
| 
 | |
|       - name: node-logs
 | |
|         clients:
 | |
|           - url: http://{{ .Values.nfc_monitoring.loki.service_name }}.{{ .Values.nfc_monitoring.loki.namespace }}.svc.{{ .Values.nfc_monitoring.kubernetes.cluster_dns_name }}:{{ .Values.nfc_monitoring.loki.service_port }}/loki/api/v1/push
 | |
|             backoff_config:
 | |
|               min_period: 10s
 | |
|               max_period: 5m
 | |
|               max_retries: 10
 | |
| 
 | |
|         limits_config:
 | |
|           readline_rate_enabled: true
 | |
|           readline_rate: 250
 | |
|           readline_burst: 750
 | |
|           readline_rate_drop: false
 | |
|           max_streams: 500
 | |
| 
 | |
|         scrape_configs:
 | |
| 
 | |
|           - job_name: systemd-journal
 | |
|             journal:
 | |
|               path: /host/root/run/log/journal
 | |
|               json: true
 | |
|               max_age: 24h
 | |
|             relabel_configs:
 | |
|                 
 | |
|             - source_labels:
 | |
|               - __journal__systemd_unit
 | |
|               target_label: systemd_unit
 | |
|             - source_labels:
 | |
|               - __journal__hostname
 | |
|               target_label: node
 | |
|             - source_labels:
 | |
|               - __journal_syslog_identifier
 | |
|               target_label: syslog_identifier
 | |
|             - target_label: "job"
 | |
|               replacement: "systemd-journal"
 | |
|             - target_label: "job_name"
 | |
|               replacement: "journal-logs"
 | |
|             - target_label: hostname
 | |
|               replacement: "${HOSTNAME}"
 | |
| 
 | |
|             pipeline_stages:
 | |
|               - json:
 | |
|                   expressions:
 | |
|                     pid: _PID
 | |
|                     userId: _UID
 | |
|                     application: _COMM
 | |
|                     priority: PRIORITY
 | |
| 
 | |
|               - labels:
 | |
|                   application:
 | |
|                   #level: 
 | |
|                   pid: 
 | |
|                   userId:
 | |
|                   priority:
 | |
|               - template:
 | |
|                   source: level
 | |
|                   template: '{{"{{"}} ToLower .Value {{"}}"}}'
 | |
|               - match:
 | |
|                   selector: '{priority="7"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'debug'
 | |
|               - match:
 | |
|                   selector: '{priority="6"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'info'
 | |
|               - match:
 | |
|                   selector: '{priority="5"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'notice'
 | |
|               - match:
 | |
|                   selector: '{priority="4"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'warning'
 | |
|               - match:
 | |
|                   selector: '{priority="3"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'error'
 | |
|               - match:
 | |
|                   selector: '{priority="2"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'crit'
 | |
|               - match:
 | |
|                   selector: '{priority="1"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'alert'
 | |
|               - match:
 | |
|                   selector: '{priority="0"}'
 | |
|                   stages:
 | |
|                   - template:
 | |
|                       source: level
 | |
|                       template: 'emerg'
 | |
|               - labels:
 | |
|                   level: 
 | |
| 
 | |
| 
 | |
|           - job_name: var-logs
 | |
|             static_configs:
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'aptitude'
 | |
|                   __path__: /var/log/apt/*.log
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'dpkg'
 | |
|                   __path__: /var/log/dpkg.log
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'messages'
 | |
|                   __path__: /var/log/messages
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'syslog'
 | |
|                   __path__: /var/log/syslog
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'kernlog'
 | |
|                   __path__: /var/log/kern.log
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'auth-log'
 | |
|                   __path__: /var/log/auth.log
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'boot-log'
 | |
|                   __path__: /var/log/boot.log
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'daemon-log'
 | |
|                   __path__: /var/log/daemon.log
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'faillog-log'
 | |
|                   __path__: /var/log/faillog
 | |
|               - targets: [localhost]
 | |
|                 labels:
 | |
|                   job_name: 'lastlog-log'
 | |
|                   __path__: /var/log/lastlog
 | |
| 
 | |
|             relabel_configs:
 | |
|               - target_label: hostname
 | |
|                 replacement: "${HOSTNAME}"
 | |
|               - target_label: job
 | |
|                 replacement: log-files
 | |
|               - target_label: node
 | |
|                 replacement: "${HOSTNAME}"
 | |
| 
 | |
|             pipeline_stages:
 | |
|               - timestamp:
 | |
|                   format: RFC3339
 | |
|                   source: time
 | |
| 
 | |
| 
 | |
| 
 | |
|           - job_name: pod-logs
 | |
|             kubernetes_sd_configs:
 | |
|               - role: pod
 | |
| 
 | |
|             pipeline_stages:
 | |
|               - cri: {}
 | |
| 
 | |
|               - regex:
 | |
|                   expression: '(\s|\t|level=)?(?P<level>trace|debug|info|warn|error|TRACE|DEBUG|INFO|WARN|ERROR)(\s|\t)'
 | |
| 
 | |
|               - labels:
 | |
|                   level:
 | |
| 
 | |
|             relabel_configs:
 | |
|               - source_labels:
 | |
|                   - __meta_kubernetes_pod_node_name
 | |
|                 target_label: __host__
 | |
|               - action: labelmap
 | |
|                 regex: __meta_kubernetes_pod_label_(.+)
 | |
|               - action: replace
 | |
|                 source_labels:
 | |
|                   - __meta_kubernetes_namespace
 | |
|                 target_label: namespace
 | |
|               - target_label: job
 | |
|                 replacement: kubernetes_sd
 | |
|               - action: replace
 | |
|                 source_labels:
 | |
|                   - __meta_kubernetes_pod_name
 | |
|                 target_label: pod
 | |
|               - action: replace
 | |
|                 source_labels:
 | |
|                   - __meta_kubernetes_pod_container_name
 | |
|                 target_label: container
 | |
|               - replacement: /var/log/pods/*$1/*.log
 | |
|                 separator: /
 | |
|                 source_labels:
 | |
|                   - __meta_kubernetes_pod_uid
 | |
|                   - __meta_kubernetes_pod_container_name
 | |
|                 target_label: __path__
 | |
|               - target_label: "job_name"
 | |
|                 replacement: "kubernetes-logs"
 | |
|               - target_label: hostname
 | |
|                 replacement: "${HOSTNAME}"
 | |
|               - target_label: node
 | |
|                 source_labels:
 | |
|                   - __meta_kubernetes_pod_node_name
 | |
| 
 | |
| 
 | |
|     integrations:
 | |
| 
 | |
|       node_exporter:
 | |
|         enabled: true
 | |
|         rootfs_path: /host/root
 | |
|         sysfs_path: /host/sys
 | |
|         procfs_path: /host/proc
 | |
|         udev_data_path: /host/root/run/udev/data
 | |
| 
 | |
|         # collector.filesystem.ignored-mount-points: ^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/pods/.+|/run/containerd/io.containerd.+)($|/)
 | |
|         filesystem_mount_points_exclude: "^/(dev|proc|sys|var/lib/docker/.+|/run/containerd/io.containerd.+)($|/)"
 | |
|         #filesystem_fs_types_exclude: "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|shm|squashfs|sysfs|tracefs)$"
 | |
|         filesystem_fs_types_exclude: "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|ugfs|devpts|devtmpfs|tmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|ocfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
 | |
| 
 | |
| 
 | |
|         netclass_ignored_devices: "^(veth.*|cali.*|[a-f0-9]{15})$"
 | |
|         netdev_device_exclude: "^(veth.*|cali.*|[a-f0-9]{15})$"
 | |
| 
 | |
|         scrape_integration: true
 | |
| 
 | |
|         include_exporter_metrics: true
 | |
|         enable_collectors:
 | |
|           - uname
 | |
| 
 | |
| 
 | |
|   syslog_server.yaml: |
 | |
|     # REF: https://grafana.com/docs/loki/latest/send-data/promtail/configuration/#example-syslog-config
 | |
|     server:
 | |
|       http_listen_port: 9080
 | |
|       grpc_listen_port: 0
 | |
| 
 | |
|     positions:
 | |
|       filename: /tmp/syslog_server_positions.yaml
 | |
| 
 | |
|     clients:
 | |
|       - url: http://{{ .Values.nfc_monitoring.loki.service_name }}.{{ .Values.nfc_monitoring.loki.namespace }}.svc.{{ .Values.nfc_monitoring.kubernetes.cluster_dns_name }}:{{ .Values.nfc_monitoring.loki.service_port }}/loki/api/v1/push
 | |
| 
 | |
|     scrape_configs:
 | |
|       - job_name: syslog
 | |
|         syslog:
 | |
|           listen_address: 0.0.0.0:1514
 | |
|           labels:
 | |
|             job: "syslog"
 | |
|         relabel_configs:
 | |
|           - source_labels: ['__syslog_message_hostname']
 | |
|             target_label: 'host'
 |