1.下载安装Grafana

官网:https://grafana.com/grafana/download?platform=windows
image.png
使用安装版本即可,自动创建windows服务。
安装完成之后,配置文件在相对路径./conf下面,一般情况下默认即可。

2.下载安装 promtail和loki

安装文档:https://grafana.com/docs/loki/latest/installation/local/
安装包发布地址:https://github.com/grafana/loki/releases
选择Windows版本进行下载。


2.1.loki配置文件

新建loki-local-config.yaml

  1. auth_enabled: false
  2. server:
  3. http_listen_port: 3100
  4. ingester:
  5. lifecycler:
  6. address: 127.0.0.1
  7. ring:
  8. kvstore:
  9. store: inmemory
  10. replication_factor: 1
  11. final_sleep: 0s
  12. chunk_idle_period: 5m
  13. chunk_retain_period: 30s
  14. max_transfer_retries: 0
  15. schema_config:
  16. configs:
  17. - from: 2020-06-22
  18. store: boltdb
  19. object_store: filesystem
  20. schema: v11
  21. index:
  22. prefix: index_
  23. period: 168h
  24. storage_config:
  25. boltdb:
  26. directory: D:\pulish\grafana-loki\tmp\loki\index
  27. filesystem:
  28. directory: D:\pulish\grafana-loki\tmp\loki\chunks
  29. limits_config:
  30. enforce_metric_name: false
  31. reject_old_samples: true
  32. reject_old_samples_max_age: 168h
  33. chunk_store_config:
  34. max_look_back_period: 0s
  35. table_manager:
  36. retention_deletes_enabled: false
  37. retention_period: 0s

配置文件:https://grafana.com/docs/loki/latest/configuration/

2.2.promtail配置文件

新建promtail-local-config.yaml

  1. server:
  2. http_listen_port: 9080
  3. grpc_listen_port: 0
  4. positions:
  5. filename: D:\pulish\grafana-loki\tmp\positions.yaml
  6. clients:
  7. - url: http://localhost:3100/loki/api/v1/push
  8. scrape_configs:

配置文件:
https://grafana.com/docs/loki/latest/getting-started/get-logs-into-loki/
https://grafana.com/docs/loki/latest/clients/promtail/configuration/

2.3.安装

在对应的安装目录下,使用cmd命令行工具直接加载配置启动即可

loki
loki-windows-amd64.exe --config.file=loki-local-config.yaml
promtail
promtail-windows-amd64.exe --config.file=promtail-local-config.yaml

但是,这样可能重启就不行,我们做成windows服务,这样更好一点。
使用**winsw**工具将exe制作成服务。
通过https://github.com/winsw/winsw/releases)下载对应的版本。
image.png
promteil实例配置,命名为promtail-windows-server.xml

  1. <service>
  2. <id>promtail</id>
  3. <name>promtail</name>
  4. <description>promtail</description>
  5. <executable>promtail-windows-amd64.exe</executable>
  6. <arguments> --config.file=promtail-local-config.yaml</arguments>
  7. </service>

然后将下载下来的WinSw-X64.exe重命名为promtail-windows-server.exe
在此路径下启动cmd命令行工具
输入promtail-windows-server.exe install即可安装服务
image.png
image.png
可以制作成.bat文件,使用installstart命令快捷启动。
image.png
更多命令见:https://github.com/winsw/winsw#usage

3.启动程序和配置数据源

通过http://localhost:3000/即可进入首页。首次登录默认账号密码都是admin
image.png
ConfigurationData sources配置loki
image.png
image.png
image.png
配置完成之后,进入Explore即可查看。
image.png

4.使用.NET Core使用Serilog将日志发送到Loki

通过Nuget
安装
Serilog.AspNetCore
Serilog.Sinks.Grafana.Loki

  1. public static IHostBuilder CreateHostBuilder(string[] args) =>
  2. Host.CreateDefaultBuilder(args)
  3. .ConfigureWebHostDefaults(webBuilder =>
  4. {
  5. webBuilder.UseStartup<Startup>();
  6. }).UseSerilog((context, config) =>
  7. {
  8. config.Enrich.FromLogContext()
  9. .Enrich.WithProperty("app", context.HostingEnvironment.ApplicationName)
  10. .WriteTo.GrafanaLoki("http://localhost:3100")
  11. .WriteTo.Console();
  12. });