rsyslog هو برنامج سطر أوامر مفتوح المصدر ، وهو برنامج خفي يوفر إصدارًا محسنًا ومتعدد الإصدارات من أداة syslogd القديمة. في الواقع ، هو بديل في استبدال syslogd الأصلي ، ومناسبة لجميع أنظمة التشغيل جنو / لينكس. اسمها هو اختصار من نظام صاروخي سريع لمعالجة السجلات.
الميزات في لمحة
تتضمن الميزات الأساسية تصميمًا معياريًا ، ودعم التخزين المؤقت للقرص عند الطلب ، والتنبيه عبر البريد الإلكتروني ، وضغط الرسائل عبر الأسلاك ، ودعم جميع أنظمة التشغيل جنو / لينكس ، ودعم البنى السائدة ، وأحدث التقنيات الأمان والأداء العالي ، فضلاً عن القدرة على تحويل الملفات النصية إلى تنسيق سجل النظام.
من بين الميزات الأخرى ، يمكن أن نذكر دعم تعدد المسارات ، والقدرة على تصفية أي جزء من رسالة سجل النظام ، ودعم syslog عبر بروتوكول التحكم في الإرسال (TCP) (بروتوكول التحكم بالإرسال) ، طبقة النقل الآمنة (TLS) ، طبقة المقابس الآمنة (SSL) ) وبروتوكولات RELP (بروتوكول موثوق لتسجيل الأحداث).
بالإضافة إلى ذلك ، يدعم البرنامج خوادم قواعد بيانات MySQL و Oracle و PostgreSQL ، ويوفر نسق إخراج قابل للتكوين بالكامل ، وهو مناسب لسلاسل الترحيل من فئة المؤسسات. يطلق عليها مطوروها كسكين الجيش السويسري من قطع الأشجار.
توفر أكثر من مليون رسالة في الثانية
عندما تكون المعالجة المحدودة سارية المفعول ، فإن برنامج rsyslog قادر على توصيل أكثر من مليون رسالة في الثانية إلى الوجهات المحلية. يتم أيضًا دعم الوجهات البعيدة و rsyslog هذه وظيفة جيدة مذهلة.
الشروع في العمل مع rsyslog
لاستخدام التطبيق ، يجب عليك أولاً تثبيته على نظام جنو / لينكس الخاص بك ، إما باستخدام أرشيف المصادر العالمية الموزع مجانًا على Softoware أو الحزم الثنائية المعدة مسبقًا من مستودعات البرامج الافتراضية للتوزيع.
بعد التثبيت ، يمكنك بدء تشغيل rsyslog الخفي عن طريق تشغيل & ldquo؛ rsyslogd & rdquo؛ أمر (بدون علامتي الاقتباس) في محاكي طرفية ، اتبع أحد الخيارات المتاحة. للاطلاع على الخيارات المدعومة ، قم بتشغيل & ldquo؛ rsyslogd --help & rdquo؛ الأمر ، بدون علامات اقتباس.
ما هو الجديد في هذا الإصدار:
تمت إضافة مزود توقيع جديد للبنية الأساسية بدون مفتاح (KSI)
نظام الإنشاء: إعادة تمكين استخدام & quot؛ إجراء التحقق من صحة & quot؛
bugfix imfile: reggex multiline mode تجاهل خيار escapeLF
bugfix omkafka: إصلاح العديد من مشكلات التوافق ، معظمها متعلق بمواضيع ديناميكية.
bugfix: execonlywhenpreviousissuspended لا يعمل بشكل صحيح. هذا يسبب مشاكل خاصة عندما تم تكوين إجراء مع هذه السمة مع طابور عمل.
المحرك الأساسي bugfix: مضمون العالمي atomicity متغير. هذا يمكن أن يؤدي إلى مشاكل في RainerScript ، وكذلك ربما في مناطق أخرى حيث يتم استخدام المتغيرات العالمية داخل rsyslog. أنا لا يمكن أن ينقض يمكن أن يؤدي إلى segfaults.
bugfix imfile: segfault عند استخدام startmsg.regex بسبب سطر السجل الفارغ
علة: بناء المشكلة على سولاريس
bugfix: تم استخدام بناء نظام strndup حتى لو لم تكن موجودة الآن وظيفة التوافق المضافة. جاء هذا على بنى سولاريس.
ما هو الجديد في الإصدار:
omkafka: يمكنك إضافة دعم للموضوعات الديناميكية والتقسيم التلقائي. شكرا لتيت كلردج للرقع.
imtcp / imptcp: دعم لتأطير syslog لـ Cisco ASA TCP المتقطع
omfwd: المزيد من رسائل الخطأ detailled في حالة إرسال UDP خطأ
TLS syslog: تمكين إمكانية تشغيل تسجيل تصحيح GnuTLS. وهذا يوفر تشخيصًا أفضل في الحالات التي يصعب تشخيصها ، خاصة عندما يكون GnuTLS أكثر إرضاءً بشأن الشهادات.
bugfix: $ AbortOnUncleanConfig لم تنجح
تحسين خرج rsyslogd -v ورسالة خطأ مع رقم إصدار معلومات التعريف موجود الآن في رسالة الخطأ وإنشاء النظام الأساسي في إخراج الإصدار. يساعد هذا في التخلص من المعتاد & quot؛ أي إصدار & quot؛ سؤال على القائمة البريدية ، منتديات الدعم ، الخ ...
bugfix imtcp: لا يمكن إيقاف تشغيل الإطارات التي لا تحتوي على ثماني مرات
تصحيح: بناء المشاكل على Illuminos. شكرًا على Andrew Stormont للحصول على التصحيح
bugfix: حجم بيانات غير صالح للخاصية العمومية iMaxLine. تم تعريفه على أنه int ، ولكن داخل نظام التهيئة ، تم الإعلان عنه كنوع حجم ، والذي يستخدم int64_t. باستخدام عبارات التهيئة القديمة ، قد يؤدي ذلك إلى سوء الفهم ، وهو ما يعني عادةً أنه تم الكتابة فوق متغير تهيئة آخر (اعتمادًا على تخطيط الذاكرة). يغلق https://github.com/rsyslog/rsyslog/issues/205
bugfix: تم السماح بالقيم السالبة للمعلمة العمومية maxMessageSize
ما هو الجديد في الإصدار 8.7.0:
إضافة بيانات وصفية & quot؛ النظام & quot؛ إلى كائن msg. هذا يسمح لتخزين البيانات الوصفية إلى جانب الرسالة
imfile: إضافة دعم لـ & quot؛ اسم الملف & quot؛ البيانات الوصفية. هذا مفيد في الحالات التي يتم فيها استخدام أحرف البدل
imptcp: جعل أسماء عداد احصائيات تتفق مع ما imudp ، imtcp يستخدم
إضافة وحدة نمطية جديدة & quot؛ omkafka & quot؛ لدعم الكتابة إلى Apache Kafka
omfwd: إضافة & quot؛ udp.senddelay & quot؛ معامل
تحسينات غير طبيعية. شكرا ل Janmejay Singh للتصحيح.
RainerScript & quot؛ foreach & quot؛ المكرر ودعم الصفيف القراءة. شكرا ل Janmejay Singh للتصحيح.
يتطلب الآن liblognorm & gt؛ = 1.0.2
إضافة دعم لـ systemd & gt؛ = 209 مكتبة
BSD & quot؛ ntp & quot؛ مرفق الآن (قيمة 12) ويدعم أيضا في مرشح. شكراً لدوغلاس ك. راند من شركة Iteris، Inc. ملاحظة: تم إصدار هذا التصحيح تحت ASL 2.0 (راجع محادثة البريد الإلكتروني).
bugfix: global (localHostName = & quot؛ xxx & quot؛) لم يتم احترامها في جميع الوحدات
bugfix: تنبعث رسالة خطأ صحيحة على config-file-not-found. يغلق https://github.com/rsyslog/rsyslog/issues/173
bugfix: impstats إصدار JSON غير صالح (إذا تم تحديد JSON)
bugfix: (صغير) حدوث تسرب للذاكرة في رمز outfhannel الخاص بـ omfile. شكرا لك Koral Ilgun للإبلاغ عن هذه القضية.
bugfix: لم يقم imuxsock بإلغاء تنشيط بعض الكودات غير المدعوم من قبل النظام الأساسي. بين مشاكل أخرى محتملة ، هذا تسبب في فشل البناء تحت سولاريس. لاحظ أن مشكلة الإنشاء هذه قد تسببت في ظهور مشكلة أوسع نطاقًا كانت موجودة دائمًا ولكنها لم تكن مرئية. يغلق https://github.com/rsyslog/rsyslog/issues/185
ما هو الجديد في الإصدار 8.6.0:
خيارات سطر الأوامر rsyslogd لإعداد الإعداد التي تم إيقافها
بالنسبة لمعظمهم ، هناك الآن كائنات التكوين الصحيح. سوف يتم إسقاط بعض من هذا العدد إذا لم يصر عليها أحد. معلومات إضافية في
http://blog.gerhards.net/2014/11/phasing-out-legacy-command-line-options.html
الإضافات الجديدة والمحسّنة لـ 0mq. هذه التجارب حاليا.
شكرا لبرايان نوكس الذي ساهم في الوحدات وهو مؤلفها.
وقد تم السماح قواعد فارغة. لم تعد تثير خطأ في بناء الجملة.
إضافة المعلمة -N3 لتمكين التحقق من التكوين من ملف التكوين الجزئي
استخدام للتكوين تشمل الملفات. تعطيل التحقق من وجود أي إجراء في
الكل.
تمت إزالة الخيار rsyslogd -e أخيرًا
يتم تصفيته منذ سنوات عديدة.
تحسينات testbench
Testbench الآن أكثر قوة ولديه اختبارات إضافية.
يتم الآن تعطيل testbench افتراضيًا
إضافة وظائف RainerScript جديدة () واستبدال ()
شكراً لسينج جانميجي على التصحيح.
يمكن الآن mnnormalize العمل على متغير
شكراً لسينج جانميجي على التصحيح.
خيارات تاريخ خاصية جديدة لليوم ترتيبي ورقم الأسبوع
شكرا لجيتبوب المستخدم arrjay للتصحيح
إزالة الخيار تكوين-تمكين-زليب ، نحن دائماً تتطلب ذلك
من الصعب تصور نظام بدون zlib ، لذا نوقفه
يغلق https://github.com/rsyslog/rsyslog/issues/76
إعادة هيكلة بسيطة لشجرة المصدر: ساهمت الوحدات النمطية الآن في دليلها الخاص ./controller. والفكرة هي جعلها أكثر وضوحًا للمستخدم النهائي الذي يتم دعم المكونات الإضافية من خلال مشروع rsyslog (في .plugins).
bugfix: imudp يجعل rsyslog يتعطل عند إيقاف التشغيل عند استخدام أكثر من مؤشر ترابط واحد
يغلق https://github.com/rsyslog/rsyslog/issues/126bugfix: ليست كل الملفات مغلقة في بدء التشغيل التلقائي للخلفية
هذا يمكن أن يحدث عندما لا تعمل تحت systemd. لم يتم إغلاق بعض fds ذات الأرقام المنخفضة في هذه الحالة.
bugfix: الخطأ المطبعي في معلمة تكوين قائمة الانتظار جعل المعلمة غير قابلة للاستخدام
بفضل Bojan Smojver للحصول على التصحيح.
bugfix: وحدة تحكم المخزن المؤقت unitialized off-by-one في جيل hostname
استخدم ذاكرة التخزين المؤقت لنظام أسماء النطاقات ذاكرة غير مهيأة ، مما قد يؤدي إلى إنشاء اسم مضيف غير صالح.
شكرا ل Jarrod Sayers لتنبيهنا وإثارة تحليل وتوصيات التصحيح.
bugfix imuxsock: ممكن segfault عندما SysSock.Use = & quot؛ إيقاف & quot؛
شكرا ل alexjfisher للإبلاغ عن هذه القضية.
يغلق https://github.com/rsyslog/rsyslog/issues/140
bugfix: RainerScript: تم قبول أسماء القواعد غير الصالحة أثناء تعريف مجموعة القواعد ، ولكن بالطبع لا يمكن استخدامها عندما يكون على سبيل المثال. استدعاء مجموعة.
مهم: قد يتسبب هذا في تكوين التهيئات الحالية عند بدء التشغيل ، حيث يمكن أيضًا استخدام الأسماء غير الصالحة ، على سبيل المثال. عند تعيين القواعد.
bugfix: لم يتم استدعاء بعض نقاط إدخال الوحدة النمطية لجميع عمليات الاسترجاعات مثل استدعاء endCnfLoad () بشكل أساسي لوحدات الإدخال. لقد تم تصحيح هذا. لاحظ أن هذا bugfix لديه بعض إمكانيات الانحدار.
bugfix omlibdbi: تم حذف الاتصال في مؤشر ترابط خاطئ
هذا قد يكون له عواقب اعتمادًا على برنامج التشغيل المستخدم. بشكل عام ، يبدو أكثر مثل قضية مستحضرات التجميل. على سبيل المثال ، مع MySQL يؤدي إلى ذاكرة صغيرة ولكن أيضا رسالة مزعجة حول موضوع لم يتم هدمها بشكل صحيح.
تمت إزالة imttcp لأنه كان وحدة تجريبية غير كاملة
pmrfc3164sd لأنه كان لا أحد يستخدم وحدة مخصصة
اعتدنا أن نحتفظ بها كعينة داخل الشجرة ، ولكن من يريد النظر إليها يمكنه التحقق من الإصدارات القديمة داخل git
تمت إزالة omoracle لأنه كان أيتاما ولم تبني / تعمل لسنوات عديدة ، ولا أحد مهتمة في إصلاحه
ما هو الجديد في الإصدار 8.4.2:
إصلاح خطأ: لم يتم حل مشكلات CVE-2014-3634 في جميع الحالات. يتم تصحيح هذا الآن. انظر أيضا: CVE-2014-3683
إصلاح مشكلة بناء على بعض المنصات. شكرا لأولاف للتصحيح
تغيير السلوك: & quot؛ msg & quot؛ من الرسائل التي تحتوي على PRI غير صالح تم تعيينها على & quot؛ rawmsg & quot ؛. عندما يكون PRI غير صالح ، لا يمكن أن يكون باقي الرأس صحيحًا. لذلك نحن ننقل كل ذلك إلى MSG ولا نحاول تحليله. لاحظ أن هذا ليس مرتبطًا بشكل مباشر بمشكلة الأمان ، بل يتم ذلك نظرًا لأنه أكثر منطقية.
ما هو الجديد في الإصدار 7.6.0:
تصحيح الخطأ: لم يتم قبول معلمات الإدخال imuxsock نظرًا لحدوث خطأ في النسخ واللصق.
شكرا لاندي غولدشتاين لإصلاح.
وأضاف ProcessInternalMessages المعلمة النظام العالمي
هذا يسمح لضخ رسائل الحالة rsyslog إلى * syslogd * آخر * آخر أو مجلة.
اعتمادية جديدة: liblogging-stdlog (لإرسالها إلى المسجل الخارجي)
Bugfix: يتم إنشاء قوالب json بشكل غير صحيح
تفشل السلاسل في إنهاء الحرف NUL ، والذي من الواضح أنه قد يؤدي إلى جميع أنواع المشاكل.
انظر أيضًا: https://github.com/rsyslog/rsyslog/issues/27
بفضل آلان للتحليل والتصحيح.
ompgsql bugfix: معالجة غير صحيحة لوضع الخلفية في الخلفية
إذا تم تعيين rsyslog على خلفية تلقائية نفسها (سلوك التعليمة البرمجية الافتراضية ، ولكن العديد من التوزيعات الآن إيقاف تشغيله لسبب وجيه) ، تعذر الاتصال ompgsql بشكل صحيح. هذا يمكن أن يؤدي إلى segfault. كان السبب الأساسي هو أن مقبض جلسة PG ظل مفتوحًا على مفترق الطرق ، وهو أمر محظور تمامًا في واجهة برمجة تطبيقات PG.
بفضل آلان للتحليل والتصحيح.
ما هو الجديد في الإصدار 7.4.9:
أضافت معلمة النظام العمومية ProcessInternalMessages
هذا يسمح لضخ رسائل الحالة rsyslog إلى * syslogd * آخر * آخر أو مجلة.
bugfix: لم يتم قبول معلمات الإدخال imuxsock بسبب خطأ نسخ ولصق. شكرا لاندي غولدشتاين لإصلاح.
bugfix: احتمال مزدوج مجاني في المقارنة المتساوية RainerScript يحدث إذا كان المعامل الأيسر هو كائن JSON والمعامل الأيمن عبارة عن سلسلة غير قابلة للتحويل إلى رقم (على سبيل المثال ، يمكن أن يكون كائن JSON آخر ، على الأرجح الحالة الوحيدة التي يمكن أن تحدث في الممارسة). من غير المحتمل أن يتم إطلاق ذلك.
bugfix: كانت بعض مقارنات RainerScript Json (متغير) / سلسلة خاطئة
ما هو الجديد في الإصدار 8.1.4:
أضف exec_template () وظيفة RainerScript
imrelp: تمت إضافة دعم لبرنامج TCP KEEPALIVE
صدم التبعية Librelp إلى 1.2.2 لدعم ميزة KEEPALIVE جديدة
إضافة توجيهات لتحديد GIDs / UIDs رقميًا
التوجيهات الموجودة بالفعل (FileOwner ، FileGroup ، DirOwner ، DirGroup) تقوم بترجمة الأسماء إلى معرفات رقمية ، والتي تعتمد على معلومات المستخدم المتاحة أثناء بدء تشغيل rsyslog. يمكن أن يفشل ذلك إذا تم الحصول على المعلومات عبر شبكة أو من خدمة مثل SSSD. توفر التوجيهات الجديدة طريقة لتحديد معرفات رقمية مباشرة وتجاوز البحث.
شكرا لتوماس هاينريش للتصحيح.
تصحيح خطأ: معالجة actionTransaction () معالجة غير صحيح معالجة الإجراءات المعلقة
bugfix: omelasticsearch fail.es احصائيات العداد كان maitained بشكل غير صحيح
ما هو الجديد في الإصدار 7.4.8:
يوفر rsgtutil رسائل خطأ أفضل على كتل التوقيع غير المنتهية
bugfix: حارس ضد أحرف التحكم في رسائل داخلية (خطأ)
بفضل Ahto Truu لتنبيهنا.
bugfix: immark قام بإرسال رسائل تحت kern. = معلومات بدلاً من syslog. = info
لاحظ أنه يمكن أن يكسر تكوينات exisiting التي تعتمد على إرسال immark مثل kern. لسوء الحظ ، لا يمكننا ترك هذا غير مثبّت لأنه لا ينبغي لنا أبداً أن نبعث رسائل تحت تسهيل kern
ما هو الجديد في الإصدار 7.4.7:
bugfix: لا يعمل تحديد مساحة القرص في قائمة الانتظار بشكل صحيح
queue.maxdiskspace بالفعل تهيئة queue.maxfilesize
لم يتم التحقق من الحجم الإجمالي لملفات قائمة الانتظار مقابل queue.maxdiskspace لقوائم الانتظار بمساعدة القرص.
bugfix: لم يعمل linel kernel-like ratelimiter بشكل صحيح مع جميع المدخلات (على سبيل المثال ، لم يعمل مع imdup). كان السبب في ذلك هو استخدام قيمة PRI ، ولكن ذلك كان بحاجة إلى تحليل الرسالة ، والذي تم بعد فوات الأوان.
bugfix: إنشاء قوائم القرص في ملفات دليل العمل الخطأ إذا تم تغيير WorkDirectory $ عدة مرات ، استخدام كافة قوائم الانتظار فقط مجموعة القيمة الأخيرة.
bugfix: legacy directive $ ActionQueueWorkerThreads was was honored
bugfix: segfault عند بدء التشغيل عند استخدام بنى نصوص معينة
مثلا & quot؛ إذا لم يكن $ msg ... & quot؛
bugfix: imuxsock: لم يعمل معلمة config UseSysTimeStamp بشكل صحيح
شكرا لتوماس هاينريش لتنبيهنا وتقديم اقتراح الحل.
bugfix: $ SystemLogUseSysTimeStamp / $ لم يعمل SystemLogUsePIDFromSystem
شكرا لتوماس هاينريش للتصحيح.
تحسين التحقق من معلمات التكوين قائمة الانتظار عند بدء التشغيل
bugfix: لم تستدعي استدعاء مجموعة قواعد مع قائمة انتظار متزامنة قائمة الانتظار
إغلاق: http://bugzilla.adiscon.com/show_bug.cgi؟id=443
bugfix: إذا تم تحميل imtcp ولم يتم تكوين أي مستمعين (وهو أمر غير شائع) ، تعطل rsyslog أثناء الاغلاق.
ما هو الجديد في الإصدار 8.1.2:
دعم إضافة liblognorm1 - النتائج في تحسينات الأداء
دعم ل jemalloc المضافة عبر jemalloc -enable
تم تغيير الإعدادات الافتراضية لقائمة الانتظار:
علامة مائية عالية الآن بشكل حيوي 90 ٪ من حجم قائمة الانتظار
makr المياه منخفضة الآن بشكل حيوي 70 ٪ من حجم قائمة الانتظار
queue.discardMark الآن ديناميكي 98٪ من حجم قائمة الانتظار
queue.workerThreadMinimumMessage مضبوط على queue.size / num workers
لقوائم الانتظار مع queue.maxSize منخفض جدًا (& lt؛ 100) ، & quot؛ الطوارئ & quot؛ سيتم استخدام الافتراضات.
لاحظ أن نظام الإنشاء تجريبي في هذه المرحلة.
تصحيح خطأ: طوابير القرص إنشاء ملفات في دليل العمل الخطأ
إذا تم تغيير WorkDirectory $ عدة مرات ، تستخدم كافة قوائم الانتظار فقط مجموعة القيمة الأخيرة.
Bugfix: التوجيه القديم $ ActionQueueWorkerThreads لم يتم تكريمه
Bugfix: mmrfc5424addhmac: & quot؛ key & quot؛ لم يتم معالجة المعلمة بشكل صحيح
لم يتم العثور على التعليقات