خادم syslog مع بحث نصي كامل متكامل عبر واجهة برمجة تطبيقات JSON و Web UI.
للبدء بسرعة ، ما عليك سوى تشغيل النسخة الحاوية من 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 على المضيف. كما أنه يعرض API JSON على http: // localhost: 8181/API/و web ui على http: // localhost: 8282/.
حان الوقت لملء قاعدة البيانات الخاصة بنا. الطريقة الأكثر سهولة هي البدء في تسجيل الدخول وإخبارها بالإشارة إلى منفذ Syslog في Raftman:
docker run --rm --name logspout
-v /var/run/docker.sock:/var/run/docker.sock:ro
--link raftman
gliderlabs/logspout
syslog://raftman:514
ستستحوذ هذه الحاوية الأخيرة على خطوط إخراج الحاويات الأخرى وإرسالها كحزمة syslog إلى خادم syslog المكون (أي: حاوية 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/