Luk*_*vko 13 grafana prometheus grafana-api grafana-loki
有没有一种方法可以直接将日志发送给 Loki,而无需使用其代理之一?
例如,如果我有一个 API,是否可以从 API 直接向 Loki 发送请求/响应日志,而不受 Promtail 等的干扰?
Mic*_*roń 17
Loki HTTP API允许将消息直接推送到 Grafana Loki 服务器:
POST /loki/api/v1/push
/loki/api/v1/push 是用于向 Loki 发送日志条目的端点。POST 正文的默认行为是快速压缩的 protobuf 消息:
或者,如果 Content-Type 标头设置为application/json,则可以按以下格式发送JSON 帖子正文:
Run Code Online (Sandbox Code Playgroud){ "streams": [ { "stream": { "label": "value" }, "values": [ [ "<unix epoch in nanoseconds>", "<log line>" ], [ "<unix epoch in nanoseconds>", "<log line>" ] ] } ] }您可以设置 Content-Encoding: gzip 请求标头并发布 gzipped JSON。
例子:
Run Code Online (Sandbox Code Playgroud)curl -v -H "Content-Type: application/json" -XPOST -s "http://localhost:3100/loki/api/v1/push" --data-raw \ '{"streams": [{ "stream": { "foo": "bar2" }, "values": [ [ "1570818238000000000", "fizzbuzz" ] ] }]}'
因此,可以轻松创建带有日志的 JSON 格式字符串并将其发送到 Grafana Loki。
有一些库实现了多种 Grafana Loki 协议。
还有(我的)纯Java 1.8中的零依赖库,它实现了将JSON格式的日志推送到Grafana Loki。适用于 Java SE 和 Android 平台:
上述 API 不支持此处编写的任何访问限制- 通过公共网络使用时,请考虑使用来自Certbot的 HTTPS和基本身份验证配置 Nginx 代理。
| 归档时间: |
|
| 查看次数: |
23798 次 |
| 最近记录: |