Files
ljwx-k8s/loki-values.yaml
2026-02-20 22:50:45 +08:00

228 lines
5.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Loki Stack 配置(适用于 OrbStack 单节点环境)
# 完整日志采集和存储方案
loki:
enabled: true
isDefault: true
# 持久化存储配置
persistence:
enabled: true
size: 10Gi
storageClassName: "" # 使用默认 StorageClass
# 资源限制(针对本地开发环境优化)
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
# Loki 配置
config:
auth_enabled: false
ingester:
chunk_idle_period: 3m
chunk_block_size: 262144
chunk_retain_period: 1m
max_transfer_retries: 0
lifecycler:
ring:
kvstore:
store: inmemory
replication_factor: 1
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
max_entries_limit_per_query: 5000
max_streams_per_user: 0
max_global_streams_per_user: 0
ingestion_rate_mb: 10
ingestion_burst_size_mb: 20
schema_config:
configs:
- from: 2024-01-01
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
server:
http_listen_port: 3100
grpc_listen_port: 9095
storage_config:
boltdb_shipper:
active_index_directory: /data/loki/boltdb-shipper-active
cache_location: /data/loki/boltdb-shipper-cache
cache_ttl: 24h
shared_store: filesystem
filesystem:
directory: /data/loki/chunks
chunk_store_config:
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: false
retention_period: 0s
compactor:
working_directory: /data/loki/boltdb-shipper-compactor
shared_store: filesystem
promtail:
enabled: true
# 资源限制
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
# Promtail 配置
config:
# 日志位置(适配 OrbStack)
clients:
- url: http://loki:3100/loki/api/v1/push
positions:
filename: /run/promtail/positions.yaml
scrape_configs:
# 采集所有 pod 日志
- job_name: kubernetes-pods
pipeline_stages:
- cri: {}
- json:
expressions:
timestamp: time
message: log
level: level
trace_id: trace_id
span_id: span_id
- labels:
level:
trace_id:
span_id:
- timestamp:
source: timestamp
format: RFC3339Nano
- output:
source: message
kubernetes_sd_configs:
- role: pod
relabel_configs:
# 只采集 running 状态的 pod
- source_labels:
- __meta_kubernetes_pod_phase
action: keep
regex: Running
# 添加 namespace 标签
- source_labels:
- __meta_kubernetes_pod_namespace
target_label: namespace
# 添加 pod 名称标签
- source_labels:
- __meta_kubernetes_pod_name
target_label: pod
# 添加 container 名称标签
- source_labels:
- __meta_kubernetes_pod_container_name
target_label: container
# 添加 app 标签
- source_labels:
- __meta_kubernetes_pod_label_app
target_label: app
# 添加 node 标签
- source_labels:
- __meta_kubernetes_pod_node_name
target_label: node
# 构造日志文件路径
- source_labels:
- __meta_kubernetes_pod_uid
- __meta_kubernetes_pod_container_name
target_label: __path__
separator: /
replacement: /var/log/pods/*$1/*.log
# 采集 systemd 日志(可选)
- job_name: systemd-journal
journal:
path: /var/log/journal
max_age: 12h
labels:
job: systemd-journal
relabel_configs:
- source_labels:
- __journal__systemd_unit
target_label: unit
- source_labels:
- __journal__hostname
target_label: hostname
# 挂载主机日志目录
volumeMounts:
- name: varlog
mountPath: /var/log
readOnly: true
- name: varlibdockercontainers
mountPath: /var/lib/docker/containers
readOnly: true
- name: run
mountPath: /run/promtail
volumes:
- name: varlog
hostPath:
path: /var/log
- name: varlibdockercontainers
hostPath:
path: /var/lib/docker/containers
- name: run
hostPath:
path: /run/promtail
# DaemonSet 配置(在每个节点上运行)
tolerations:
- effect: NoSchedule
operator: Exists
serviceMonitor:
enabled: false
# 禁用不需要的组件
grafana:
enabled: false
prometheus:
enabled: false
fluent-bit:
enabled: false
filebeat:
enabled: false
logstash:
enabled: false