diff --git a/services/grafana/index.ts b/services/grafana/index.ts index 812d17a..9da57ea 100644 --- a/services/grafana/index.ts +++ b/services/grafana/index.ts @@ -2,6 +2,7 @@ import assert from "node:assert"; import { join } from "node:path"; import { Alpine } from "../../alpine.js"; import { Runit } from "../../runit/index.js"; +import { FluentBitParser, runitLokiLogger } from "../../software/fluentbit.js"; import { loadGrafanaSecretsFile } from "./secrets.js"; const provisioningDir = "/etc/grafana/provisioning/"; @@ -63,7 +64,8 @@ export GRAFANA_HOME=/var/lib/grafana cd "$GRAFANA_HOME" exec chpst -u grafana:grafana grafana-server -config /etc/grafana.ini -homepath /usr/share/grafana -` +`, + runitLokiLogger(FluentBitParser.Logfmt, "grafana") ); } diff --git a/software/fluentbit.ts b/software/fluentbit.ts index ed1b341..1adf923 100644 --- a/software/fluentbit.ts +++ b/software/fluentbit.ts @@ -30,6 +30,7 @@ exec chpst -u nobody:nobody /usr/local/bin/fluent-bit \ export enum FluentBitParser { Json = "json", + Logfmt = "logfmt", // Raw toma todo lo que haya en una lĂ­nea y lo guarda en `message`. No recomendado. Raw = "raw", @@ -43,6 +44,10 @@ async function saveParsers(alpine: Alpine): Promise { parsersPath, // https://rubular.com/ ` +[PARSER] + name logfmt + format logfmt + [PARSER] name raw format regex