Un servidor syslog con búsqueda de texto completo integrado a través de una API JSON y una interfaz de usuario web.
Para comenzar rápidamente, simplemente ejecute la versión contenedorizada de Raftman:
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
Esto comenzará a Raftman con todas las opciones predeterminadas. Escuche en el puerto 514 (UDP) y 5514 (TCP) en el host para los paquetes de syslog RFC5424 entrantes y guárdelos en una base de datos SQLite almacenada en /tmp/logs.db en el host. También expone la API JSON en http: // localhost: 8181/API/y la interfaz de usuario web en http: // localhost: 8282/.
Es hora de llenar nuestra base de datos. La forma más fácil es simplemente iniciar Logspout y decirle que señale el puerto Syslog de Raftman:
docker run --rm --name logspout
-v /var/run/docker.sock:/var/run/docker.sock:ro
--link raftman
gliderlabs/logspout
syslog://raftman:514
Este último contenedor obtendrá otros contenedores y las enviará como paquete Syslog al servidor syslog configurado (es decir: nuestro contenedor Raftman vinculado).
Ahora, también necesitamos generar alguna salida. Esto hará el trabajo por ahora:
docker run --rm --name test
alpine
echo 'Can you see me'
Entonces podemos visualizar nuestros registros:
Con la API Raftman:
curl http://localhost:8181/api/list
-d '{"Limit": 100, "Message": "see"}'
o explotar la interfaz de usuario web en http: // localhost: 8282/
Todas las opciones de configuración de Raftman se establecen como argumentos en la línea de comando.
Por ejemplo, aquí está cómo se vería la línea de comando si estableciéramos todos los valores predeterminados explícitamente:
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/