1.Grafana Alloy
config.alloy
local.file_match "app" {
path_targets = [{ __path__ = "/var/log/myapp/*.log", service = "myapp", env = "prod" }]
}
loki.source.file "app" {
targets = local.file_match.app.targets
forward_to = [loki.write.uptimeeye.receiver]
}
loki.write "uptimeeye" {
endpoint {
url = "https://logs.uptimeeye.com/v1/ingest/loki/api/v1/push"
bearer_token = sys.env("UPTIMEEYE_KEY")
}
external_labels = { host = constants.hostname }
}2.Promtail
promtail.yaml
clients:
- url: https://logs.uptimeeye.com/v1/ingest/loki/api/v1/push
bearer_token: ue_ingest_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
external_labels:
env: prod
scrape_configs:
- job_name: myapp
static_configs:
- targets: [localhost]
labels:
service: myapp
__path__: /var/log/myapp/*.log3.Suchen
Labels kommen als Felder und als Stream an: service:=myapp oder _stream:{service="myapp",env="prod"} für den schnellstmöglichen Filter.
Felder, die du bekommst
Diese Felder erscheinen im Panel „Felder“ und funktionieren in jedem Filter:
- jedes Loki-Label (
service,env,host,job,filename) - Structured Metadata, wenn deine Pipeline sie setzt
Tipps
- Halte die Kardinalität der Labels niedrig, genau wie bei Loki. Request-IDs und User-IDs gehören in die Zeile, nicht in Labels.
- Die
loki.process-Stages von Alloy (stage.multiline,stage.json) laufen vor dem Schreiben, so kommen extrahierte Felder auch bei UptimeEye als Felder an.
FAQ
Kann ich gleichzeitig an Loki und UptimeEye senden?
Ja. Trag in Promtail beide unter
clients: ein oder leite in Alloy an zwei loki.write-Komponenten weiter.Wo bekomme ich den Ingest-Key?
In der App unter API-Keys → Neuer API-Key → Typ „Log-Ingest“. Der Key beginnt mit
ue_ingest_ und wird nur einmal angezeigt. Management-Keys (ue_live_) lehnt der Ingest-Endpoint ab.Wie sehe ich, ob Logs ankommen?
Öffne Logs in der App, wähl den Zeitraum „15 Min.“ und such nach
service:=<your service>. Neue Zeilen sind nach etwa einer Sekunde durchsuchbar; Live-Tail zeigt sie mit etwa 6 s Verzögerung.Verwandte Seiten
DockerSchick die Logs aller Container eines Docker-Hosts an UptimeEye Logs: ein Vector-Container am Docker-Socket oder der Loki-Logging-Driver pro Container..VectorSammle mit Vector Logs aus Dateien, journald, Docker oder Kubernetes, form sie mit VRL um und schick sie mit Plattenpuffer an UptimeEye Logs..Log files / plain textSchick Klartext-Logs (Spring, log4j, nginx, syslog, jedes Pattern-Layout) ohne Agent an UptimeEye Logs.Logs durchsuchenJetzt, wo Zeilen ankommen: Filter, Felder, Zeiträume und Live-Tail.