网站改版用新空间好吗,济南网络优化公司,呼和浩特网站建设SEO优化,网站推广怎么优化介绍Loki: like Prometheus, but for logs.Loki是一个轻量级的日志系统#xff0c;受到Prometheus项目的启发#xff0c;由Grafana团队设计和开发#xff0c;所以在Grafana中是原生支持的#xff0c;具有可水平扩展#xff0c;高度可用等特性#xff0c;通过存储压缩的、… 介绍Loki: like Prometheus, but for logs.Loki是一个轻量级的日志系统受到Prometheus项目的启发由Grafana团队设计和开发所以在Grafana中是原生支持的具有可水平扩展高度可用等特性通过存储压缩的、非结构化的日志以及仅索引元数据更加易于操作并且运行成本更低。github: https://github.com/grafana/loki组件•promtail 是代理负责收集日志并将其发送给Loki。•loki 是主服务器负责存储日志和处理查询。•Grafana 用于查询和显示日志。安装官方安装文档https://grafana.com/docs/loki/latest/installation/官网支持了几种常见的安装方式我这里主要使用 Docker Compose 安装。docker-compose.yamlversion: 3networks:loki:services:loki:image: grafana/loki:2.2.1ports:- 3100:3100command: -config.file/etc/loki/local-config.yamlnetworks:- lokipromtail:image: grafana/promtail:2.2.1volumes:- /var/log:/var/logcommand: -config.file/etc/promtail/config.ymlnetworks:- lokigrafana:image: grafana/grafana:latestports:- 3000:3000networks:- loki
执行下边命令下载docker-compose.yamlwget https://raw.githubusercontent.com/grafana/loki/v2.2.0/production/docker-compose.yaml -O docker-compose.yaml
启动容器docker-compose up -d
启动成功后运行 docker ps可以看到启动了3个服务,端口为3100的Grafana端口为3000的loki服务还有promtail代理。接下来访问 http://localhost:3000 到Grafana的页面首次登录需要初始化账号和密码然后找到左边菜单的 Configuration - Data Sources - Add Data Source - Loki配置数据源在url里填写loki服务的地址即可然后保存然后可以到 Explore 页面查看数据。在 .NET Core 中配置这里主要用到了 Serilog 的Loki扩展我新建了一个 webapi项目名字叫LogDemo然后需要通过Nuget安装以下几个组件。•Serilog•Serilog.AspNetCore•Serilog.Sinks.Grafana.Loki安装完成以后接着修改Program.cs 配置 Serilog。public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}).UseSerilog((context, config) {config.Enrich.FromLogContext().Enrich.WithProperty(app, context.HostingEnvironment.ApplicationName).WriteTo.GrafanaLoki(http://localhost:3100).WriteTo.Console();});
启动项目后刷新几次页面再回到 Grafana 的Explore 页面输出查询条件 {appLogDemo},然后就可以查询到webapi的日志。总结Grafana 原生支持体验也很好和其他日志系统ELK相比具有轻量级高可用高效率等特点是一个非常优秀的日志组件本文简单尝试使用 Loki 日志系统更多的介绍和配置请参照官方文档。https://grafana.com/oss/loki/