有各种不同的工具支持传输日志到Loki,有Grafana开发和第三方开发的工具。
Grafana 开发的工具:
- Grafana Agent
Grafna 技术栈推荐客户端,支持收集度量、日志、跟踪和持续性能分析的遥测数据,跟Prometheus、OpenTelemetry、Grafana开源生态系统完全兼容
- Promtail
K8s首选的客户端,能够自动从运行的同节点的pods上抓取日志。Promtail 和 Prometheus一起运行在K8s中,可以实现强大的调试功能:如果Promtail 和 Prometheus使用相同的标签,用户可以使用Grafana等工具根据标签集在度量和日志之间切换 Promtail也是裸机上的首选客户端,它可以配置为跟踪给定主机路径的所有文件中的日志。这是向Loki发送纯文本文件的最简单方法(比如,日志路径指向为:/var/log/*.log)。最后,如果您想从日志中提取度量,例如计算特定消息的出现次数,那么Promtail可以很好地工作
- xk6-loki extension
k6-loki 扩展允许你在Loki上进行负载测试
一些热门第三方客户端:
- Docker Driver - 当使用Docker而不是Kubernetes时,应该使用Loki的Docker日志驱动程序,因为它会自动添加适合运行容器的标签
- Fluent Bit - 当您已经部署了Fluent,并且已经配置了Parser和Filter插件时,Fluent Bit插件是理想的选择
- Fluentd - 当您已经部署了Fluentd并且已经配置了Parser和Filter插件时,Fluentd插件是理想的选择。Fluentd在使用其Prometheus插件时也能很好地从日志中提取度量
- Lambda Promtail - 这是一个结合了Promtail推送api刮取配置和lambda Promtail AWS lambda函数的工作流,该函数将日志从Cloudwatch管道传输到Loki。如果您希望以低资源占用的方式试用Loki,或者希望在Loki中监控AWS lambda日志,这是一个不错的选择
- Logstash - 如果你已经在使用logstash和/或beats,这将是最简单的开始方式。通过添加我们的输出插件,您可以快速尝试Loki,而无需进行大的配置更改
其他第三方客户端:
- Cribl Loki Destination
- ilogtail (Go)
- Log4j2 appender for Loki (Java)
- loki-logback-appender (Java)
- LokiLogger.jl (Julia)
- mjaron-tinyloki-java (Java)
- NLog-Targets-Loki (C#)
- promtail-client (Go)
- push-to-loki.py (Python 3)
- python-logging-loki (Python 3)
- Serilog-Sinks-Loki (C#)
- Vector Loki Sink
- winston-loki (JS)
原文:https://grafana.com/docs/loki/latest/send-data/