2021/04/24

本來是想在synology直接使用loki的docker

但碰到的問題是docker如果升級時資料會遺失

看來這是所有docker的問題

除非可以在docker裡直接升級而不必重新下載

目前就直接安裝一台 oracle linux 8 直接跑執行檔

記得 loki-local-config.yaml 有些參數要改

因為資料預設是放在 /tmp

我是直接 mkdir  /loki 然後改成如下


auth_enabled: false


server:

  http_listen_port: 3100

  grpc_listen_port: 9096


ingester:

  wal:

    enabled: true

    dir: /loki/wal

  lifecycler:

    address: 127.0.0.1

    ring:

      kvstore:

        store: inmemory

      replication_factor: 1

    final_sleep: 0s

  chunk_idle_period: 1h       # Any chunk not receiving new logs in this time will be flushed

  max_chunk_age: 1h           # All chunks will be flushed when they hit this age, default is 1h

  chunk_target_size: 1048576  # Loki will attempt to build chunks up to 1.5MB, flushing first if chunk_idle_period or max_chunk_age is reached first

  chunk_retain_period: 30s    # Must be greater than index read cache TTL if using an index cache (Default index read cache TTL is 5m)

  max_transfer_retries: 0     # Chunk transfers disabled


schema_config:

  configs:

    - from: 2020-10-24

      store: boltdb-shipper

      object_store: filesystem

      schema: v11

      index:

        prefix: index_

        period: 24h


storage_config:

  boltdb_shipper:

    active_index_directory: /loki/boltdb-shipper-active

    cache_location: /loki/boltdb-shipper-cache

    cache_ttl: 24h         # Can be increased for faster performance over longer query periods, uses more disk space

    shared_store: filesystem

  filesystem:

    directory: /loki/chunks


compactor:

  working_directory: /loki/boltdb-shipper-compactor

  shared_store: filesystem


limits_config:

  reject_old_samples: true

  reject_old_samples_max_age: 168h


chunk_store_config:

  max_look_back_period: 0s


table_manager:

  retention_deletes_enabled: false

  retention_period: 0s


ruler:

  storage:

    type: local

    local:

      directory: /loki/rules

  rule_path: /loki/rules-temp

  alertmanager_url: http://localhost:9093

  ring:

    kvstore:

      store: inmemory

  enable_api: true


2021/04/23

最近在試grafana的loki

這個專案已經釋出有一段時間了

只是一直沒去試

這几天試了一下

發現還不錯

如果沒有太複雜的需求

是一個不錯的選擇


稍微簡單說一下

目前在github上可以看到相關的程式有4個


logcli

command line 搜尋工具

如果不想用這個工具 也可以直接使用curl


curl -G -s "http://10.0.0.1:3100/loki/api/v1/query_range" --data-urlencode 'query={job="abc"}' --data-urlencode 'step=3000'|jq


loki-canary

效能檢視工具


loki

主程式


promtail

把資料拋回loki的client程式


最簡單的方式就是直接執行

loki 跟 promtail這二支程式

完全不需要安裝

在執行前注意要先把二個yaml檔定義好

loki 如果使用預設的yaml 要記得修改資料存放的路徑 預設是放在 /tmp

promtail預設收log file的路徑要記得改 如果有多個檔案要收

記得要增加如藍色的那段


scrape_configs:

- job_name: system

  static_configs:

  - targets:

      - localhost

    labels:

      job: varlogs

      __path__: /var/log/*

  - targets:

      - localhost

    labels:

      job: nginxlogs

      __path__: /var/log/nginx/*


如果想使用網頁介面進行搜尋

就可以在grafana進行設定


https://grafana.com/docs/loki/latest/overview/

https://www.cnblogs.com/fsckzy/p/13231696.html

https://my.oschina.net/xiaominmin/blog/3300964