loki grafana 團隊開源的,相似Prometheus 的log 系統

Prometheus 主要面向的是metrics,可是loki 是log,這樣加上grafana 強大的可視化以及alert能力,
咱們能夠作好多事情,loki 的設計來源於Prometheus。git

組件說明

loki 包含三個組件github

  • loki 核心組件進行log 的查詢處理
  • promtail 一個agent 主要是進行log 的發送
  • grafana ui

環境準備

  • docker-compose 文件
 
version: "3"
services:
  loki:
    image: grafana/loki:master
    ports:
      - "3100:3100"
    volumes:
      - $PWD:/etc/loki
    command: -config.file=/etc/loki/loki-local-config.yaml
  promtail:
    image: grafana/promtail:make-images-static-26a87c9
    volumes:
      - $PWD:/etc/promtail
      - ./log:/var/log
    command: 
      -config.file=/etc/promtail/promtail-docker-config.yaml
  grafana:
    image: grafana/grafana:master
    ports:
      - "3000:3000"
    environment:
      GF_EXPLORE_ENABLED: "true"
 
 
  • 配置說明
    loki:
 
auth_enabled: false
server:
  http_listen_port: 3100
ingester:
  lifecycler:
    address: 127.0.0.1
    ring:
      store: inmemory
      replication_factor: 1
schema_config:
  configs:
  - from: 0
    store: boltdb
    object_store: filesystem
    schema: v9
    index:
      prefix: index_
      period: 168h
storage_config:
  boltdb:
    directory: /tmp/loki/index
  filesystem:
    directory: /tmp/loki/chunks
 
 

promtail agent 配置docker

server:
  http_listen_port: 0
  grpc_listen_port: 0
positions:
  filename: /tmp/positions.yaml
client:
  url: http://loki:3100/api/prom/push
scrape_configs:
- job_name: system
  entry_parser: raw
  static_configs:
  - targets:
      - localhost
    labels:
      job: varlogs
      __path__: /var/log
 
 

一個包含log 的文件 log/app.infoapi

啓動&&測試

  • 啓動
docker-compose up -d
 
  • 配置grafana ui
    很簡單,按照提示就能夠了,主要是添加loki 的datasource,和普通的操做是同樣的,注意ui 版本的問題
  • 查詢日誌
    須要啓用explorer的功能,在docker-compose 環境變量中咱們也能夠看出

說明

loki 也是剛開源出來,後邊的發展還有待看,可是從使用上來講,仍是很不錯的,同時對於k8s 的支持很不錯,咱們能夠用來
方便的手機k8s pod 的日誌。。。。app

參考資料

https://github.com/grafana/loki#getting-started
https://github.com/rongfengliang/grafana-loki-demo測試

相關文章
相關標籤/搜索