Send log data to Loki
There are a number of different clients available to send log data to Loki. While all clients can be used simultaneously to cover multiple use cases, which client is initially picked to send logs depends on your use case.
Grafana Clients
The following clients are developed and supported (for those customers who have purchased a support contract) by Grafana Labs for sending logs to Loki:
- Grafana Alloy - Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. Alloy offers native pipelines for OTel, Prometheus, Pyroscope, Loki, and many other metrics, logs, traces, and profile tools. In addition, you can use Alloy pipelines to do different tasks, such as configure alert rules in Loki and Mimir. Alloy is fully compatible with the OTel Collector, Prometheus Agent, and Promtail. You can use Alloy as an alternative to either of these solutions or combine it into a hybrid system of multiple collectors and agents. You can deploy Alloy anywhere within your IT infrastructure and pair it with your Grafana LGTM stack, a telemetry backend from Grafana Cloud, or any other compatible backend from any other vendor.
Caution
Grafana Alloy is the new name for our distribution of the OTel collector. Grafana Agent has been deprecated and is in Long-Term Support (LTS) through October 31, 2025. Grafana Agent will reach an End-of-Life (EOL) on November 1, 2025. Read more about why we recommend migrating to Grafana Alloy. - Grafana Agent - The Grafana Agent is a client for the Grafana stack. It can collect telemetry data for metrics, logs, traces, and continuous profiles and is fully compatible with the Prometheus, OpenTelemetry, and Grafana open source ecosystems.
- Promtail - Promtail can be configured to automatically scrape logs from Kubernetes pods running on the same node that Promtail runs on. Promtail and Prometheus running together in Kubernetes enables powerful debugging: if Prometheus and Promtail use the same labels, users can use tools like Grafana to switch between metrics and logs based on the label set. Promtail can be configured to tail logs from all files given a host path. It is the easiest way to send logs to Loki from plain-text files (for example, things that log to
/var/log/*.log
). Promtail works well if you want to extract metrics from logs such as counting the occurrences of a particular message.Note
Promtail is feature complete. All future feature development will occur in Grafana Alloy. - xk6-loki extension - The k6-loki extension lets you perform load testing on Loki.
OpenTelemetry Collector
Loki natively supports ingesting OpenTelemetry logs over HTTP. For more information, see Ingesting logs to Loki using OpenTelemetry Collector.
Third-party clients
The following clients have been developed by the Loki community or other third-parties and can be used to send log data to Loki.
Note
Grafana Labs cannot provide support for third-party clients. Once an issue has been determined to be with the client and not Loki, it is the responsibility of the customer to work with the associated vendor or project for bug fixes to these clients.
The following are popular third-party Loki clients:
- Docker Driver - When using Docker and not Kubernetes, the Docker logging driver for Loki should be used as it automatically adds labels appropriate to the running container.
- Fluent Bit - The Fluent Bit plugin is ideal when you already have Fluentd deployed
and you already have configured
Parser
andFilter
plugins. - Fluentd - The Fluentd plugin is ideal when you already have Fluentd deployed
and you already have configured
Parser
andFilter
plugins. Fluentd also works well for extracting metrics from logs when using itsPrometheus plugin. - Lambda Promtail - This is a workflow combining the Promtail push-api scrape config and the lambda-promtail AWS Lambda function which pipes logs from Cloudwatch to Loki. This is a good choice if you’re looking to try out Loki in a low-footprint way or if you wish to monitor AWS lambda logs in Loki
- Logstash - If you are already using logstash and/or beats, this will be the easiest way to start. By adding our output plugin you can quickly try Loki without doing big configuration changes.
These third-party clients also enable sending logs to 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)
- nextlog (Python 3)
- Rails Loki Exporter (Rails)
- Serilog-Sinks-Loki (C#)
- Vector Loki Sink
- winston-loki (JS)