轻量级日志采集系统Loki+grafana搭建
輕量級日志采集系統Loki+grafana搭建
一.Loki介紹
整體架構
Loki的架構非常簡單,使用了和prometheus一樣的標簽來作為索引,也就是說,你通過這些標簽既可以查詢日志的內容也可以查詢到監控的數據,不但減少了兩種查詢之間的切換成本,也極大地降低了日志索引的存儲。
Loki將使用與prometheus相同的服務發現和標簽重新標記庫,編寫了pormtail, 在k8s中promtail以daemonset方式運行在每個節點中,通過kubernetes api等到日志的正確元數據,并將它們發送到Loki。
下面是日志的存儲架構:
二.使用二進制包簡單搭建
使用docker-composer可能比較方便,我們這里采用二進制包安裝
1.安裝loki主程序包
loki-linux-amd64.zip
查看配置文件
[root@centos7 Loki]# cat loki-config.yaml
auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
address: 127.0.0.1
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30s
max_transfer_retries: 0
schema_config:
configs:
- from: 2018-04-15
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h
storage_config:
boltdb:
directory: /loki/index
filesystem:
directory: /loki/chunks
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
chunk_store_config:
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: false
指定配置文件,啟動服務
nohup ./loki -config.file=loki-config.yaml &
2.采集promtail節點配置
這里我們使用的是采集小米數據庫代理中間件gaea的日志為例,其他的日志只要寫好節點采集路徑及名稱就可以了
下載二進制包promtail-linux-amd64.zip
查看節點采集配置文件
[root@db promtail]# cat promtail-config.yaml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://*******:31000/loki/api/v1/push
scrape_configs:
-
job_name: system
static_configs:
- targets:
- localhost
labels:
job: 92-gaea
path: /data/gaea/logs/gaea.*
- localhost
- targets:
啟動采集服務
nohup ./promtail -config.file=promtail-config.yaml &
3.loki服務器端安裝展示模版grafana
下載包直接yum安裝即可,安裝完啟動服務
yum install -y grafana-7.0.5-1.x86_64.rpm
三.grafana展示查看數據
1.添加loki數據源
2.打開展示板
3.查看日志數據
四.查詢基本語法
= 完全相同。
!= 不平等。
=~ 正則表達式匹配。
!~ 不要正則表達式匹配。
{job=“mysql”} |= “error”
{name=“kafka”} |~ “tsdb-ops.*io:2017”
參考鏈接:
https://blog.51cto.com/anfishr/2511063
總結
以上是生活随笔為你收集整理的轻量级日志采集系统Loki+grafana搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【脚本整理】docker-compose
- 下一篇: 【收藏】最详细的cmder配置