diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2a6a657 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.history \ No newline at end of file diff --git a/template/stacks/core/ingress-apps/alloy.yaml b/template/stacks/core/ingress-apps/alloy.yaml new file mode 100644 index 0000000..e939823 --- /dev/null +++ b/template/stacks/core/ingress-apps/alloy.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: alloy + namespace: monitoring +spec: + ingressClassName: nginx + rules: + - host: {{{ .Env.DOMAIN }}} + http: + paths: + - backend: + service: + name: alloy + port: + number: 12345 + path: /alloy + pathType: Prefix diff --git a/template/stacks/monitoring/promtail.yaml b/template/stacks/monitoring/alloy.yaml similarity index 76% rename from template/stacks/monitoring/promtail.yaml rename to template/stacks/monitoring/alloy.yaml index 8f4af77..7d4d614 100644 --- a/template/stacks/monitoring/promtail.yaml +++ b/template/stacks/monitoring/alloy.yaml @@ -1,7 +1,7 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: promtail + name: alloy namespace: argocd labels: env: dev @@ -18,12 +18,12 @@ spec: name: in-cluster namespace: monitoring sources: - - repoURL: https://github.com/grafana/helm-charts - path: charts/promtail + - repoURL: https://github.com/grafana/alloy.git + path: operations/helm/charts/alloy targetRevision: HEAD helm: valueFiles: - - $values/stacks/monitoring/promtail/values.yaml + - $values/stacks/monitoring/alloy/values.yaml - repoURL: https://{{{ .Env.DOMAIN_GITEA }}}/giteaAdmin/edfbuilder targetRevision: HEAD ref: values \ No newline at end of file diff --git a/template/stacks/monitoring/alloy/values.yaml b/template/stacks/monitoring/alloy/values.yaml new file mode 100644 index 0000000..a2ac67d --- /dev/null +++ b/template/stacks/monitoring/alloy/values.yaml @@ -0,0 +1,78 @@ +alloy: + create: false + name: alloy-config + key: config.alloy + + uiPathPrefix: "/alloy" + + configMap: + content: |- + + logging { + level = "info" + format = "logfmt" + } + + loki.write "local_loki" { + endpoint { + url = "http://loki-loki-distributed-gateway/loki/api/v1/push" + } + } + + discovery.kubernetes "pod" { + role = "pod" + } + + discovery.kubernetes "nodes" { + role = "node" + } + + discovery.kubernetes "services" { + role = "service" + } + + discovery.kubernetes "endpoints" { + role = "endpoints" + } + + discovery.kubernetes "endpointslices" { + role = "endpointslice" + } + + discovery.kubernetes "ingresses" { + role = "ingress" + } + + discovery.relabel "pod_logs" { + targets = discovery.kubernetes.pod.targets + + rule { + source_labels = ["__meta_kubernetes_namespace"] + action = "replace" + target_label = "namespace" + } + + rule { + source_labels = ["__meta_kubernetes_pod_name"] + action = "replace" + target_label = "pod" + } + + rule { + source_labels = ["__meta_kubernetes_pod_node_name"] + action = "replace" + target_label = "node" + } + + rule { + source_labels = ["__meta_kubernetes_pod_container_name"] + action = "replace" + target_label = "container" + } + + } + + loki.source.kubernetes "all_pod_logs" { + targets = discovery.relabel.pod_logs.output + forward_to = [loki.write.local_loki.receiver] + } diff --git a/template/stacks/monitoring/kube-prometheus/dashboards/dashboard_loki_container.yaml b/template/stacks/monitoring/kube-prometheus/dashboards/dashboard_loki_container.yaml index 267bd90..e38896e 100644 --- a/template/stacks/monitoring/kube-prometheus/dashboards/dashboard_loki_container.yaml +++ b/template/stacks/monitoring/kube-prometheus/dashboards/dashboard_loki_container.yaml @@ -110,12 +110,12 @@ data: "uid": "P8E80F9AEF21F6940" }, "editorMode": "builder", - "expr": "{container=\"promtail\"} |= ``", + "expr": "{container=\"alloy\"} |= ``", "queryType": "range", "refId": "A" } ], - "title": "Logs: Container promtail", + "title": "Logs: Container alloy", "type": "logs" }, { diff --git a/template/stacks/monitoring/promtail/values.yaml b/template/stacks/monitoring/promtail/values.yaml deleted file mode 100644 index 49faadc..0000000 --- a/template/stacks/monitoring/promtail/values.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# -- Overrides the chart's name -nameOverride: null - -# -- Overrides the chart's computed fullname -fullnameOverride: null - -global: - # -- Allow parent charts to override registry hostname - imageRegistry: "" - # -- Allow parent charts to override registry credentials - imagePullSecrets: [] - -daemonset: - # -- Deploys Promtail as a DaemonSet - enabled: true - autoscaling: - # -- Creates a VerticalPodAutoscaler for the daemonset - enabled: false - -deployment: - # -- Deploys Promtail as a Deployment - enabled: false - -config: - enabled: true - logLevel: info - logFormat: logfmt - serverPort: 3101 - clients: - - url: http://loki-loki-distributed-gateway/loki/api/v1/push - scrape_configs: - - job_name: authlog - static_configs: - - targets: - - authlog - labels: - job: authlog - __path__: /logs/auth.log - - job_name: syslog - static_configs: - - targets: - - syslog - labels: - job: syslog - __path__: /logs/syslog \ No newline at end of file