feat: initial codebase
This commit is contained in:
46
applications/logging/helmfile.yaml
Normal file
46
applications/logging/helmfile.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
repositories:
|
||||
- name: grafana
|
||||
url: https://grafana.github.io/helm-charts
|
||||
- name: elastic
|
||||
url: https://helm.elastic.co
|
||||
|
||||
releases:
|
||||
- name: elasticsearch
|
||||
namespace: {{ .Values.namespace | default "logging" }}
|
||||
chart: elastic/elasticsearch
|
||||
version: 7.17.10
|
||||
values:
|
||||
- values/elasticsearch-values.yaml
|
||||
- ../common-config.yaml
|
||||
|
||||
- name: filebeat
|
||||
namespace: {{ .Values.namespace | default "logging" }}
|
||||
chart: elastic/filebeat
|
||||
version: 7.17.10
|
||||
values:
|
||||
- values/filebeat-values.yaml
|
||||
- ../common-config.yaml
|
||||
|
||||
- name: loki
|
||||
namespace: {{ .Values.namespace | default "logging" }}
|
||||
chart: grafana/loki
|
||||
version: 5.8.3
|
||||
values:
|
||||
- values/loki-values.yaml
|
||||
- ../common-config.yaml
|
||||
|
||||
- name: promtail
|
||||
namespace: {{ .Values.namespace | default "logging" }}
|
||||
chart: grafana/promtail
|
||||
version: 6.11.3
|
||||
values:
|
||||
- values/promtail-values.yaml
|
||||
- ../common-config.yaml
|
||||
|
||||
- name: grafana
|
||||
namespace: {{ .Values.namespace | default "logging" }}
|
||||
chart: grafana/grafana
|
||||
version: 6.50.7
|
||||
values:
|
||||
- values/grafana-values.yaml
|
||||
- ../common-config.yaml
|
||||
16
applications/logging/values/elasticsearch-values.yaml
Normal file
16
applications/logging/values/elasticsearch-values.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
replicas: 3
|
||||
minimumMasterNodes: 2
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: "100m"
|
||||
memory: "1Gi"
|
||||
limits:
|
||||
cpu: "1000m"
|
||||
memory: "2Gi"
|
||||
|
||||
volumeClaimTemplate:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 30Gi
|
||||
12
applications/logging/values/filebeat-values.yaml
Normal file
12
applications/logging/values/filebeat-values.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
daemonset:
|
||||
enabled: true
|
||||
|
||||
filebeatConfig:
|
||||
filebeat.yml: |
|
||||
filebeat.inputs:
|
||||
- type: container
|
||||
paths:
|
||||
- /var/log/containers/*.log
|
||||
|
||||
output.elasticsearch:
|
||||
hosts: ['${ELASTICSEARCH_HOST:elasticsearch-master:9200}']
|
||||
62
applications/logging/values/grafana-values.yaml
Normal file
62
applications/logging/values/grafana-values.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 10Gi
|
||||
|
||||
datasources:
|
||||
datasources.yaml:
|
||||
apiVersion: 1
|
||||
datasources:
|
||||
- name: Loki
|
||||
type: loki
|
||||
url: http://loki.{{ .Release.Namespace }}.svc.cluster.local:3100
|
||||
access: proxy
|
||||
isDefault: false
|
||||
- name: Elasticsearch
|
||||
type: elasticsearch
|
||||
url: http://elasticsearch-master.{{ .Release.Namespace }}.svc.cluster.local:9200
|
||||
access: proxy
|
||||
isDefault: true
|
||||
|
||||
dashboardProviders:
|
||||
dashboardproviders.yaml:
|
||||
apiVersion: 1
|
||||
providers:
|
||||
- name: 'default'
|
||||
orgId: 1
|
||||
folder: ''
|
||||
type: file
|
||||
disableDeletion: false
|
||||
editable: true
|
||||
options:
|
||||
path: /var/lib/grafana/dashboards
|
||||
|
||||
dashboards:
|
||||
default:
|
||||
loki-logs:
|
||||
gnetId: 12611
|
||||
revision: 1
|
||||
datasource: Loki
|
||||
elasticsearch-logs:
|
||||
gnetId: 4358
|
||||
revision: 1
|
||||
datasource: Elasticsearch
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||
hosts:
|
||||
- grafana.{{ .Release.Namespace }}.{{ .Values.global.hosts.domain }}
|
||||
tls:
|
||||
- secretName: grafana-tls
|
||||
hosts:
|
||||
- grafana.{{ .Release.Namespace }}.{{ .Values.global.hosts.domain }}
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 256Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
33
applications/logging/values/loki-values.yaml
Normal file
33
applications/logging/values/loki-values.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
config:
|
||||
schema_config:
|
||||
configs:
|
||||
- from: 2020-10-24
|
||||
store: boltdb-shipper
|
||||
object_store: filesystem
|
||||
schema: v11
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
|
||||
storage:
|
||||
type: filesystem
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 200m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
cpu: 400m
|
||||
memory: 512Mi
|
||||
|
||||
service:
|
||||
port: 3100
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 10Gi
|
||||
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
namespace: logging
|
||||
interval: 30s
|
||||
74
applications/logging/values/promtail-values.yaml
Normal file
74
applications/logging/values/promtail-values.yaml
Normal file
@@ -0,0 +1,74 @@
|
||||
config:
|
||||
lokiAddress: "http://loki.{{ .Release.Namespace }}:3100/loki/api/v1/push"
|
||||
snippets:
|
||||
extraScrapeConfigs: |
|
||||
- job_name: kubernetes-pods
|
||||
kubernetes_sd_configs:
|
||||
- role: pod
|
||||
relabel_configs:
|
||||
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
|
||||
action: keep
|
||||
regex: true
|
||||
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
|
||||
action: replace
|
||||
target_label: __metrics_path__
|
||||
regex: (.+)
|
||||
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
|
||||
action: replace
|
||||
regex: ([^:]+)(?::\d+)?;(\d+)
|
||||
replacement: $1:$2
|
||||
target_label: __address__
|
||||
- action: labelmap
|
||||
regex: __meta_kubernetes_pod_label_(.+)
|
||||
- source_labels: [__meta_kubernetes_namespace]
|
||||
action: replace
|
||||
target_label: kubernetes_namespace
|
||||
- source_labels: [__meta_kubernetes_pod_name]
|
||||
action: replace
|
||||
target_label: kubernetes_pod_name
|
||||
- job_name: kubernetes-pods-logs
|
||||
kubernetes_sd_configs:
|
||||
- role: pod
|
||||
relabel_configs:
|
||||
- action: keep
|
||||
regex: {{ .Release.Namespace }}
|
||||
source_labels:
|
||||
- __meta_kubernetes_namespace
|
||||
- action: replace
|
||||
source_labels:
|
||||
- __meta_kubernetes_pod_name
|
||||
target_label: pod
|
||||
- action: replace
|
||||
source_labels:
|
||||
- __meta_kubernetes_namespace
|
||||
target_label: namespace
|
||||
- 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__
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 256Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
operator: Exists
|
||||
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
namespace: {{.Release.Namespace}}
|
||||
interval: 30s
|
||||
Reference in New Issue
Block a user