Ein Syslog -Server mit integrierter Volltext -Suche über eine JSON -API und eine Web -Benutzeroberfläche.
Um schnell loszulegen, führen Sie einfach die Containerversion von Raftman aus:
sudo docker run --rm --name raftman
-v /tmp:/var/lib/raftman
-p 514:514/udp
-p 5514:5514
-p 8181:8181
-p 8282:8282
pierredavidbelanger/raftman
Dies beginnt Raftman mit allen Standardoptionen. Es hört Port 514 (UDP) und 5514 (TCP) auf dem Host für eingehende RFC5424 -Syslog -Pakete an und speichert sie in einer SQLite -Datenbank, die in /tmp/logs.db auf dem Host gespeichert ist. Es enthält auch die JSON -API auf http: // localhost: 8181/api/und die Web UI unter http: // localhost: 8282/.
Zeit, unsere Datenbank zu füllen. Der einfachste Weg ist, LogSpout einfach zu starten und ihn auf Raftmans Syslog -Port zu verweisen:
docker run --rm --name logspout
-v /var/run/docker.sock:/var/run/docker.sock:ro
--link raftman
gliderlabs/logspout
syslog://raftman:514
In diesem letzten Container wird andere Container -Ausgabestellen erfasst und sie als Syslog -Paket an den konfigurierten Syslog -Server (dh unser verknüpfter Raftman -Container) senden.
Jetzt müssen wir auch eine Ausgabe generieren. Dies wird den Job vorerst erledigen:
docker run --rm --name test
alpine
echo 'Can you see me'
Dann können wir unsere Protokolle visualisieren:
Mit der Raftman -API:
curl http://localhost:8181/api/list
-d '{"Limit": 100, "Message": "see"}'
oder pop die Web -Benutzeroberfläche unter http: // localhost: 8282/
Alle Raftman -Konfigurationsoptionen werden als Argumente in der Befehlszeile festgelegt.
Hier ist beispielsweise, wie die Befehlszeile aussehen würde, wenn wir alle Standardwerte explizit festlegen:
raftman
-backend sqlite:///var/lib/raftman/logs.db?insertQueueSize=512&queryQueueSize=16&timeout=5s&batchSize=32&retention=INF
-frontend syslog+udp://:514?format=RFC5424&queueSize=512&timeout=0s
-frontend syslog+tcp://:5514?format=RFC5424&queueSize=512&timeout=0s
-frontend api+http://:8181/api/
-frontend ui+http://:8282/