我在kubernetes (1.21)集群中设置了Grafana、Prometheus和loki (2.6.1):
helm upgrade --install promtail grafana/promtail -n monitoring -f monitoring/promtail.yaml
helm upgrade --install prom prometheus-community/kube-prometheus-stack -n monitoring --values monitoring/prom.yaml
helm upgrade --install loki grafana/loki -n monitoring --values monitoring/loki.yaml通过以下方式:
# monitoring/loki.yaml
loki:
schemaConfig:
configs:
- from: 2020-09-07
store: boltdb-shipper
object_store: s3
schema: v11
index:
prefix: loki_index_
period: 24h
storageConfig:
aws:
s3: s3://eu-west-3/cluster-loki-logs
boltdb_shipper:
shared_store: filesystem
active_index_directory: /var/loki/index
cache_location: /var/loki/cache
cache_ttl: 168h
# monitoring/promtail.yaml
config:
serverPort: 80
clients:
- url: http://loki:3100/loki/api/v1/push
# monitoring/prom.yaml
prometheus:
prometheusSpec:
serviceMonitorSelectorNilUsesHelmValues: false
serviceMonitorSelector: {}
serviceMonitorNamespaceSelector:
matchLabels:
monitored: "true"
grafana:
sidecar:
datasources:
defaultDatasourceEnabled: true
additionalDataSources:
- name: Loki
type: loki
url: http://loki.monitoring:3100我从容器中获取数据,但是,每当我以json格式进行容器日志记录时,我就无法访问嵌套字段:
{app="product", namespace="api-dev"} | unpack | json产量:

例如,我的目标是通过log.severity进行过滤
发布于 2022-08-29 16:57:54
实际上,在this answer之后,出现了一个promtail刮伤问题。
当前(promtail-6.3.1 / 2.6.1)舵图的默认设置是将cri作为管道的阶段,这需要这样的日志:
"2019-04-30T02:12:41.8443515Z stdout xx message"我应该使用docker,它期望json,因此,我的promtail.yaml更改为:
config:
serverPort: 80
clients:
- url: http://loki:3100/loki/api/v1/push
snippets:
pipelineStages:
- docker: {}https://stackoverflow.com/questions/73517741
复制相似问题