日志量大、成本敏感、已有 Grafana/Prometheus,且主要按标签+时间检索日志时,从 Elasticsearch/Logstash/Kibana 迁移到 Loki。
curl -s 'http://es:9200/_cat/indices?v'
# 导出 Kibana saved objects
curl -s 'http://kibana:5601/api/saved_objects/_export' -X POST
# Loki 配置要点
auth_enabled: false
server:
http_listen_port: 3100
storage_config:
boltdb_shipper:
active_index_directory: /loki/index
cache_location: /loki/cache
filesystem:
directory: /loki/chunks
{namespace="prod", app="api", level="error"}
不要使用请求 ID、用户 ID 等高基数字段作为标签。
{app="api"} |= "error"
{app="api"} | json | status >= 500
sum by (level) (count_over_time({app="api"} | json [5m]))
logcli — Loki 查询logstash / filebeat — 旧采集elasticsearch / kibana — 旧存储与界面