Skip to content

Commit

Permalink
feat(logging): single loki
Browse files Browse the repository at this point in the history
  • Loading branch information
drag0n141 authored Feb 19, 2025
1 parent 484598d commit 45217af
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 136 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ spec:
type: loki
uid: loki
access: proxy
url: http://loki-gateway.monitoring.svc.cluster.local:80
url: http://loki-headless.observability.svc.cluster.local:3100
- name: Alertmanager
type: alertmanager
uid: alertmanager
Expand Down
163 changes: 42 additions & 121 deletions kubernetes/main/apps/monitoring/loki/app/helmrelease.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ metadata:
name: loki
spec:
interval: 30m
timeout: 15m
chart:
spec:
chart: loki
Expand All @@ -14,151 +13,73 @@ spec:
kind: HelmRepository
name: grafana
namespace: flux-system
install:
crds: Skip
upgrade:
crds: Skip
values:
deploymentMode: SimpleScalable
deploymentMode: SingleBinary
loki:
auth_enabled: false
analytics:
reporting_enabled: false
server:
log_level: info
grpc_server_max_recv_msg_size: 8388608
grpc_server_max_send_msg_size: 8388608
storage:
type: s3
s3:
s3ForcePathStyle: true
insecure: true
commonConfig:
replication_factor: 1
compactor:
working_directory: /var/loki/compactor/retention
delete_request_store: s3
delete_request_store: filesystem
retention_enabled: true
frontend:
max_outstanding_per_tenant: 4096
ingester:
chunk_encoding: snappy
query_scheduler:
max_outstanding_requests_per_tenant: 4096
limits_config:
ingestion_burst_size_mb: 128
ingestion_rate_mb: 64
max_query_parallelism: 100
per_stream_rate_limit: 64M
per_stream_rate_limit_burst: 128M
reject_old_samples: true
reject_old_samples_max_age: 168h
retention_period: 14d
shard_streams:
enabled: true
split_queries_by_interval: 1h
storage:
type: filesystem
schemaConfig:
configs:
- from: "2024-04-01"
- from: "2024-04-01" # quote
store: tsdb
object_store: s3
object_store: filesystem
schema: v13
index:
prefix: loki_index_
period: 24h
rulerConfig:
enable_api: true
enable_alertmanager_v2: true
alertmanager_url: http://alertmanager.monitoring.svc.cluster.local:9093
storage:
type: local
local:
directory: /rules
rule_path: /rules/fake
gateway:
replicas: 3
enabled: true
image:
registry: ghcr.io
repository: nginxinc/nginx-unprivileged
tag: 1.27-alpine@sha256:6c456958218fed889c1059f215362344664adee6907575aff8d0e68af918d8a1
deploymentStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 50%
maxSurge: 50%
topologySpreadConstraints:
- maxSkew: 2
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: loki
app.kubernetes.io/component: gateway
ingress:
enabled: true
ingressClassName: traefik-internal
annotations:
external-dns.alpha.kubernetes.io/target: "internal.${SECRET_DOMAIN_INTERNAL}"
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
traefik.ingress.kubernetes.io/router.middlewares: "networking-traefik-middleware-chain-no-auth@kubernetescrd"
hosts:
- host: &host "loki.${SECRET_DOMAIN_INTERNAL}"
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- *host
secretName: "${SECRET_DOMAIN/./-}-production-tls"
write:
replicas: 3
structuredConfig:
ruler:
enable_api: true
enable_alertmanager_v2: true
alertmanager_url: http://alertmanager.monitoring.svc.cluster.local:9093
storage:
type: local
local:
directory: /rules
rule_path: /rules/fake
singleBinary:
replicas: 1
persistence:
size: 20Gi
storageClass: openebs-hostpath
read:
replicas: 3
enabled: true
storageClass: ceph-block
size: 50Gi
gateway:
replicas: 0
backend:
replicas: 3
persistence:
size: 20Gi
storageClass: openebs-hostpath
monitoring:
dashboards:
annotations:
grafana_folder: Loki
rules:
enabled: false
serviceMonitor:
enabled: false
metricsInstance:
enabled: false
selfMonitoring:
enabled: false
grafanaAgent:
installOperator: false
replicas: 0
read:
replicas: 0
write:
replicas: 0
chunksCache:
enabled: false
resultsCache:
enabled: false
lokiCanary:
enabled: false
test:
enabled: false
sidecar:
image:
repository: ghcr.io/kiwigrid/k8s-sidecar
rules:
searchNamespace: ALL
folder: /rules/fake
lokiCanary:
enabled: false
test:
enabled: false
valuesFrom:
- targetPath: loki.storage.bucketNames.chunks
kind: ConfigMap
name: loki-bucket
valuesKey: BUCKET_NAME
- targetPath: loki.storage.bucketNames.ruler
kind: ConfigMap
name: loki-bucket
valuesKey: BUCKET_NAME
- targetPath: loki.storage.s3.endpoint
kind: ConfigMap
name: loki-bucket
valuesKey: BUCKET_HOST
- targetPath: loki.storage.s3.accessKeyId
kind: Secret
name: loki-bucket
valuesKey: AWS_ACCESS_KEY_ID
- targetPath: loki.storage.s3.secretAccessKey
kind: Secret
name: loki-bucket
valuesKey: AWS_SECRET_ACCESS_KEY
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./objectbucketclaim.yaml
- ./helmrelease.yaml
configMapGenerator:
- name: loki-alerting-rules
Expand Down

This file was deleted.

6 changes: 2 additions & 4 deletions kubernetes/main/apps/monitoring/loki/ks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@ spec:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: kube-prometheus-stack
namespace: monitoring
- name: openebs
namespace: storage
- name: rook-ceph-cluster
namespace: rook-ceph
path: ./kubernetes/main/apps/monitoring/loki/app
prune: true
sourceRef:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ spec:
fullnameOverride: *app
config:
clients:
- url: http://loki-gateway.monitoring.svc.cluster.local:80/loki/api/v1/push
- url: http://loki-headless.observability.svc.cluster.local:3100/loki/api/v1/push
serviceMonitor:
enabled: true

0 comments on commit 45217af

Please sign in to comment.