使用Grafana+loki+promtail入门级部署分布式日志系统(windows环境)
环境
- 分布式项目部署在windows环境下,日志分布在多台windows服务器下,日志大、且查询不便。特此搭建分布式日志收集分析查询系统。
组件介绍
- 本套分布式日志查询系统使用loki、promtail、grafana
- Promtail是代理,负责收集日志并将其发送给Loki。
- Loki是主服务器,负责存储日志和处理查询。
- Grafana用于查询和显示日志。
在windows环境上搭建过程
1 安装Grafana
- 下载地址:https://grafana.com/grafana/download?platform=windows
- 下载【grafana-8.0.6.windows-amd64.zip】安装包即可,并解压到【D:\myprograms\logmanager\grafana-8.0.6】
- 进入【D:\myprograms\logmanager\grafana-8.0.6\bin】目录,双击【grafana-server.exe】启动
- 启动成功之后,http://localhost:3000/即可
- 初始登录账户:admin/admin
2 安装loki
- 安装可参考 https://grafana.com/docs/loki/latest/installation/local/
- 下载地址:https://github.com/grafana/loki/releases
- 下载【loki-windows-amd64.exe.zip】安装包,并进行解压到【D:\myprograms\logmanager\loki-windows-amd64】,解压得到【loki-windows-amd64.exe】
- 在【D:\myprograms\logmanager\loki-windows-amd64】目录下添加【loki-local-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: 2020-06-22
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h
storage_config:
boltdb:
directory: /tmp/loki/index
filesystem:
directory: /tmp/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
retention_period: 0s
- 打开cmd定位到exe目录,执行命令:.\loki-windows-amd64.exe --config.file=loki-local-config.yaml,loki服务启动成功。
- 启动命令:
.\loki-windows-amd64.exe --config.file=loki-local-config.yaml
3 安装promtail
- 安装说明:https://grafana.com/docs/loki/latest/clients/promtail/installation/
- 下载地址:https://github.com/grafana/loki/releases
- 下载【promtail-windows-amd64.exe.zip】安装包,并解压到【D:\myprograms\logmanager\promtail-windows-amd64】目录,得到【promtail-windows-amd64.exe】
- 在【D:\myprograms\logmanager\promtail-windows-amd64】目录下添加【promtail-local-config.yaml】文件,内容如下
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://localhost:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: viplogs
__path__: E:\logs\testlogs\*.log
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: viplogs
__path__: E:\logs\testlogs\*.log
- 打开cmd定位到exe目录,执行命令: .\promtail-windows-amd64.exe --config.file=promtail-local-config.yaml,loki服务启动成功。
- 启动命令:
.\promtail-windows-amd64.exe --config.file=promtail-local-config.yaml
4 设置数据源
- 进入Data Sources添加数据源,选择Loki,URL为loki的地址: http://127.0.0.1:3100 ,Name自己定义
- 然后进入Explore就可以搜索查询日志了。日志查询由两部分组成:日志流选择器和搜索表达式。出于性能原因,需要先通过选择日志标签来选择日志流。查询字段
Log labels
旁边的按钮显示了可用日志流的标签列表
- 标签匹配符:
=
完全相等。!=
不相等。=~
正则表达式匹配。!~
不进行正则表达式匹配。
例:{filename=“E:\logs\testlogs\1.log”}
- 搜索表达式:
|=
行包含字符串。!=
行不包含字符串。|~
行匹配正则表达式。!~
行与正则表达式不匹配。
例:{filename=“E:\logs\testlogs\1.log”} |~ “根据方案”