Сервер Syslog с интегрированным полным текстовым поиском через JSON API и веб -интерфейс.
Чтобы начать быстро, просто запустите контейнерную версию 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
Это начнет Raftman со всеми параметрами по умолчанию. Он прослушивает порт 514 (UDP) и 5514 (TCP) на хосте для входящих пакетов Syslog RFC5424 и хранит их в базе данных SQLITE, хранящейся в /tmp/logs.db на хосте. Он также выставляет JSON API на http: // localhost: 8181/api/и веб -интерфейс на http: // localhost: 8282/.
Время заполнить нашу базу данных. Самый простой способ - просто запустить logspout и сказать ей указать на порт системного журнала Raftman:
docker run --rm --name logspout
-v /var/run/docker.sock:/var/run/docker.sock:ro
--link raftman
gliderlabs/logspout
syslog://raftman:514
Этот последний контейнер будет захватывать другие контейнеры вывода и отправлять их в качестве пакета системного журнала на настроенный сервер системного журнала (т.е. наш связанный контейнер Raftman).
Теперь нам также необходимо генерировать некоторые выходные данные. Это сделает работу на данный момент:
docker run --rm --name test
alpine
echo 'Can you see me'
Тогда мы можем визуализировать наши журналы:
с API Raftman:
curl http://localhost:8181/api/list
-d '{"Limit": 100, "Message": "see"}'
Или выпить веб -интерфейс по адресу http: // localhost: 8282/
Все параметры конфигурации Raftman устанавливаются в качестве аргументов в командной строке.
Например, вот как будет выглядеть командная строка, если мы явно установим все значения по умолчанию:
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/