rsyslog 是一個開源命令行軟件,一個守護程序,它提供舊syslogd實用程序的增強和多線程版本。實際上,它是原始syslogd的直接替代品,適用於所有GNU / Linux操作系統。它的名字是火箭快速系統的首字母縮寫,用於日誌處理。
功能一目了然
主要功能包括模塊化設計,支持按需磁盤緩衝,電子郵件警報,線上消息壓縮,支持所有GNU / Linux操作系統,支持主流架構,最先進的技術安全性,高性能,以及將文本文件轉換為syslog格式的能力。
在其他功能中,我們可以提到多線程支持,過濾系統日誌消息的任何部分的能力,以及通過TCP(傳輸控制協議),TLS(傳輸層安全性),SSL(安全套接字層)支持syslog )和RELP(可靠事件記錄協議)協議。
此外,該程序支持MySQL,Oracle和PostgreSQL數據庫服務器,提供完全可配置的輸出格式,適用於企業級中繼鏈。它被開發商稱為伐木軍刀。
每秒發送超過一百萬條消息
當有限的處理生效時,rsyslog軟件能夠每秒向本地目的地提供超過一百萬條消息。還支持遠程目標,並且rsyslog是一項非常出色的工作。
rsyslog入門
要使用該應用程序,您必須首先在GNU / Linux系統上安裝它,方法是使用在Softoware上免費分發的通用源存檔或從您的發行版的默認軟件存儲庫中預構建的二進制包。
安裝完成後,您可以通過運行’ rsyslogd”來啟動rsyslog守護程序。終端仿真器中的命令(不帶引號),後跟一個可用選項。要查看支持的選項,請運行“rsyslogd --help”命令,沒有引號。
此版本中的新功能:
- 添加了無鑰匙簽名基礎設施(KSI)的新簽名提供商
- 構建系統:重新啟用“make distcheck”
- bugfix imfile:正則表達式多行模式忽略了escapeLF選項
- bugfix omkafka:修復了幾個並發問題,其中大多數都與動態主題有關。
- 錯誤修正:execonlywhenpreviousissuspended無法正常工作。使用操作隊列配置具有此屬性的操作時,這尤其會導致問題。
- bugfix核心引擎:確保全局變量原子性。這可能會導致RainerScript出現問題,也可能導致在rsyslog中使用全局變量的其他區域出現問題。我不會說它可能導致段錯誤。
- bugfix imfile:由於空日誌行而使用startmsg.regex時出現段錯誤
- 錯誤修正:在Solaris上構建問題
- 錯誤修正:即使現在沒有提供兼容功能,也使用了構建系統strndup。這在Solaris版本中出現了。
版本中的新功能:
- omkafka:添加對動態主題和自動分區的支持。感謝Tait Clarridge的補丁。
- imtcp / imptcp:支持損壞的Cisco ASA TCP syslog框架
- omfwd:UDP發送錯誤時更詳細的錯誤消息
- TLS syslog:啟用打開GnuTLS調試日誌記錄的功能。這為難以診斷的案例提供了更好的診斷功能,尤其是當GnuTLS對證書非常挑剔時。
- 錯誤修正:$ AbortOnUncleanConfig不起作用
- 使用元信息版本號改進rsyslogd -v輸出和錯誤消息現在包含在版本輸出中的錯誤消息和構建平台中。這有助於擺脫通常的“哪個版本”。郵件列表,支持論壇等問題......
- bugfix imtcp:octet-counting framing無法關閉
- 錯誤修正:在Illuminos上構建問題。感謝Andrew Stormont的補丁
- 錯誤修正:iMaxLine全局屬性的數據大小無效。它被定義為int,但在配置系統中它被聲明為大小類型,它使用int64_t。使用遺留配置語句,這可能會導致錯誤操作,這通常意味著另一個配置變量被覆蓋(取決於內存佈局)。關閉https://github.com/rsyslog/rsyslog/issues/205
- 錯誤修正:允許使用maxMessageSize全局參數的負值
版本8.7.0中的新功能:
- 添加消息元數據" system"到msg對象。這允許在消息旁邊存儲元數據
- imfile:添加對“filename”的支持元數據。這在使用通配符的情況下很有用
- imptcp:make stats計數器名稱與imudp一致,imtcp使用
- 添加了新模塊“omkafka”支持寫入Apache Kafka
- omfwd:添加新的“udp.senddelay”參數
- mmnormalize增強功能。感謝Janmejay Singh的補丁。
- RainerScript" foreach"迭代器和數組讀取支持。感謝Janmejay Singh的補丁。
- 現在需要liblognorm> = 1.0.2
- 添加對systemd> = 209庫名稱的支持
- BSD" ntp"過濾器現在也支持facility(值12)。感謝Iteris公司的道格拉斯·K·蘭德(Douglas K. Rand)的補丁。注意:此補丁是在ASL 2.0下發布的(請參閱電子郵件對話)。
- 錯誤修正:所有模塊中未遵守global(localHostName =" xxx")
- 錯誤修正:在config-file-not-found上發出正確的錯誤消息。關閉https://github.com/rsyslog/rsyslog/issues/173
- 錯誤修正:impstats發出無效的JSON格式(如果選擇了JSON)
- 錯誤修正:omfile的outchannel代碼中的(小)內存洩漏。感謝Koral Ilgun報告此問題。
- 錯誤修正:imuxsock沒有停用平台不支持的一些代碼。在潛在的其他問題中,這導致Solaris下的構建失敗。請注意,此構建問題只是一個更廣泛的問題出現,到目前為止始終存在,但不可見。關閉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的新增和增強插件。這些目前是實驗性的。
- 感謝Brian Knox提供模塊並且是他們的作者。
- 允許使用空規則集。它們不再引發語法錯誤。
- 添加參數-N3以啟用部分配置文件的配置檢查
- 用於配置包含文件。禁止檢查 是否存在任何操作
- 所有
- rsyslogd -e選項最終被刪除
- 多年來一直在進行修復。
- testbench改進
- Testbench現在更強大,並且還有其他測試。
- testbench現在默認已禁用
- 要啟用它,請使用-enable-testbench。這是完成的,因為測試平台現在可以更好地檢查是否存在所需的模塊,這反過來會導致配置錯誤消息,如果我們在默認情況下將-enable-testbench保持為啟用狀態,則會發生以前的錯誤消息。因此,我們已將其關閉。這對於那些少數測試平台用戶來說應該不是問題。
- 添加新的RainerScript函數warp()和replace()
- 感謝Singh Janmejay補丁。
- mmnormalize現在也可以處理變量
- 感謝Singh Janmejay補丁。
- 日期序號和周數的新屬性日期選項
- 感謝github用戶arrjay補丁
- 刪除-enable-zlib配置選項,我們總是要求它
- 很難設想沒有zlib的系統,所以我們關閉它
- 關閉https://github.com/rsyslog/rsyslog/issues/76
- 輕微的源樹重構:貢獻的模塊現在位於自己的./contrib目錄中。我們的想法是讓最終用戶更清楚rsyslog項目支持哪些插件(./plugins中的插件)。
- 錯誤修正:當使用多個線程 時,imudp使rsyslog在關閉時掛起
- 關閉https://github.com/rsyslog/rsyslog/issues/126
- 錯誤修正:並非自動後台啟動時關閉所有文件
- 未在systemd下運行時可能會發生這種情況。在這種情況下,一些低編號的fds沒有關閉。
- 錯誤修正:隊列配置參數中的拼寫錯誤使參數無法使用
- 感謝Bojan Smojver的補丁。
- 錯誤修正:主機名生成中的單位化緩衝區逐個錯誤
- DNS緩存使用未初始化的內存,這可能導致無效的主機名生成。
- 感謝Jarrod Sayers提醒我們並提供分析和補丁建議。
- bugfix imuxsock:當SysSock.Use =" off" 時可能出現段錯誤
- 感謝alexjfisher報告此問題。
- 關閉https://github.com/rsyslog/rsyslog/issues/140
- 錯誤修正:RainerScript:在規則集定義期間接受了無效的規則集名稱,但當然可以在例如調用規則集。
- 重要提示:這可能會導致現有配置在啟動時出錯,因為它們也可以使用無效名稱,例如:在分配規則集時。
- 錯誤修正:沒有為所有模塊調用某些模塊入口點如endCnfLoad()主要是為輸入模塊調用回調。這已得到糾正。請注意,此錯誤修復具有一定的回歸潛力。
- bugfix omlibdbi:連接錯誤的線程
- 這可能會產生影響,具體取決於所使用的驅動程序。一般來說,它看起來更像是化妝品問題。例如,使用MySQL會導致內存不足,但也會導致有關線程未正確拆除的惱人信息。
- imttcp被刪除,因為它是一個未完成的實驗模塊
- pmrfc3164sd,因為它是一個無人使用的自定義模塊
- 我們過去常常把它作為樹中的樣本,但是想要查看它的人可以查看git中的舊版本
- omoracle被刪除,因為它是孤兒,並沒有建立/工作很多年,沒有人有興趣修復它
版本8.4.2中的新功能:
- 錯誤修正:CVE-2014-3634的修復程序未處理所有情況。現在已經糾正了。另見:CVE-2014-3683
- 修復了某些平台上的構建問題。感謝Olaf的補丁
- 行為改變:" msg"將PRI設置為“rawmsg”的無效消息。當PRI無效時,標題的其餘部分無效。因此,我們將所有內容移至MSG,並且不要嘗試解析它。請注意,這與安全問題沒有直接關係,而是因為它最有意義。
7.6.0版中的新功能:
- 修正:由於復制和粘貼錯誤,不接受imuxsock輸入參數。
- 感謝Andy Goldstein的修復。
- 添加了ProcessInternalMessages全局系統參數
- 這允許將rsyslog狀態消息注入* another * main syslogd或journal。
- 新依賴項:liblogging-stdlog(用於提交到外部記錄器)
- 修正:json模板創建不當
- Strings錯過終止NUL角色,這顯然會導致各種各樣的問題。
- 另請參閱:https://github.com/rsyslog/rsyslog/issues/27
- 感謝Alain的分析和補丁。
- ompgsql錯誤修正:不正確處理自動後台模式
- 如果rsyslog設置為自動後臺本身(默認代碼行為,但許多發行版現在將其關閉是有充分理由的),ompgsql無法正常連接。這甚至可能導致段錯誤。核心原因是PG會話句柄在fork上保持打開狀態,這在PG API中是明確禁止的。
- 感謝Alain的分析和補丁。
7.4.9版中的新功能:
- 添加了ProcessInternalMessages全局系統參數
- 這允許將rsyslog狀態消息注入* another * main syslogd或journal。
- 錯誤修正:由於復制和粘貼錯誤,不接受imuxsock輸入參數。感謝Andy Goldstein的解決方案。
- 錯誤修正:如果左側操作數是JSON對象而右側操作數是非轉換為數字的非字符串(例如,它可能是另一個JSON),則RainerScript中的潛在雙重自由等同比較發生對象,可能是在實踐中可能發生的唯一情況)。這種情況不太可能被觸發。
- 錯誤修正:某些RainerScript Json(變量)/字符串比較錯誤
8.1.4版中的新功能:
- 添加exec_template()RainerScript函數
- imrelp:支持TCP KEEPALIVE添加
- 將librelp依賴性提升至1.2.2以支持新的KEEPALIVE功能
- 添加指令以數字指定GID / UID
- 已存在的指令(FileOwner,FileGroup,DirOwner,DirGroup)將名稱轉換為數字ID,這取決於rsyslog啟動期間可用的用戶信息。如果通過網絡或SSSD等服務獲取信息,則可能會失敗。新指令提供了一種直接指定數字ID並繞過查找的方法。
- 感謝Tomas Heinrich的補丁。
- 錯誤修正:操作commitTransaction()處理沒有正確處理暫停的操作
- 錯誤修正:omelasticsearch fail.es stats counter is notperly matained
7.4.8版中的新功能:
- rsgtutil在未完成的簽名塊上提供更好的錯誤消息
- 錯誤修正:防範內部(錯誤)消息中的控製字符
- 感謝Ahto Truu警告我們。
- 錯誤修正:immark確實在kern。= info而不是syslog。= info 下發出消息
- 請注意,他可能會破壞依賴於immark發送為kern。= info的現有配置。不幸的是,我們不能保持這種不固定,因為我們永遠不應該在kern協會下發出消息
7.4.7版中的新功能:
- 錯誤修正:限制隊列磁盤空間無法正常工作
- queue.maxdiskspace實際初始化queue.maxfilesize
- 未針對磁盤輔助隊列的queue.maxdiskspace檢查隊列文件的總大小。
- 錯誤修正:linux內核類似的速率限制器無法正常使用所有輸入(例如,它無法與imdup一起使用)。原因是使用了PRI值,但需要解析消息,這太晚了。
- 錯誤修正:如果$ WorkDirectory被多次更改,則磁盤隊列在錯誤的工作目錄中創建文件,所有隊列僅使用最後設置的值。
- 錯誤修正:遺產指令$ ActionQueueWorkerThreads沒有兌現
- 錯誤修正:使用某些腳本構造時啟動時的段錯誤
- e.g。 “如果不是$ msg ......”
- 錯誤修正:imuxsock:UseSysTimeStamp配置參數無法正常工作
- 感謝Tomas Heinrich提醒我們並提出解決方案建議。
- 錯誤修正:$ SystemLogUseSysTimeStamp / $ SystemLogUsePIDFromSystem無法正常工作
- 感謝Tomas Heinrich的補丁。
- 在啟動時改進了對隊列配置參數的檢查
- 錯誤修正:使用異步隊列調用規則集時不使用隊列
- 關閉:http://bugzilla.adiscon.com/show_bug.cgi?id = 443
- 錯誤修正:如果加載imtcp並且沒有配置監聽器(這是不常見的),rsyslog在關機期間崩潰。
版本8.1.2中的新功能:
- 添加了對liblognorm1的支持 - 從而提高了性能
- 通過-enable-jemalloc 添加對jemalloc的支持
- 隊列默認值已更改:
- 高水位標記現在是隊列大小的90%
- 低水位makr現在動態佔隊列大小的70%
- queue.discardMark現在是動態98%的隊列大小
- queue.workerThreadMinimumMessage設置為queue.size / num workers
- 對於隊列非常低的隊列.maxSize(< 100),“emergency”等。將使用默認值。
- 請注意,構建系統在此階段是實驗性的。
- 修正:磁盤隊列在錯誤的工作目錄中創建文件
- 如果$ WorkDirectory多次更改,則所有隊列僅使用最後設置的值。
- 修正:遺留指令$ ActionQueueWorkerThreads未兌現
- 修正:mmrfc5424addhmac:" key"參數未正確處理
評論沒有發現