自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用syslog-ng可靠地記錄物聯(lián)網事件

系統(tǒng) Linux 物聯(lián)網應用
現(xiàn)在,物聯(lián)網設備和嵌入式系統(tǒng)越來越多。對于許多連接到因特網或者一個網絡的設備來說,記錄事件很有必要,因為你需要知道這些設備都做了些什么事情,這樣你才能夠解決可能出現(xiàn)的問題。

[[229624]]

現(xiàn)在,物聯(lián)網設備和嵌入式系統(tǒng)越來越多。對于許多連接到因特網或者一個網絡的設備來說,記錄事件很有必要,因為你需要知道這些設備都做了些什么事情,這樣你才能夠解決可能出現(xiàn)的問題。

可以考慮去使用的一個監(jiān)視工具是開源的 syslog-ng 應用程序,它是一個強化的、致力于可移植的、中心化的日志收集守護程序。它可以從許多不同種類的來源、進程來收集日志,并且可以對這些日志進行處理和過濾,也可以存儲或者路由它們,以便于做進一步的分析。syslog-ng 的大多數(shù)代碼是用高效率的、高可移植的 C 代碼寫成的。它能夠適用于各種場景,無論你是將它運行在一個處理能力很弱的設備上做一些簡單的事情,還是運行在數(shù)據中心從成千上萬的機器中收集日志的強大應用,它都能夠勝任。

你可能注意到在這個段落中,我使用了大量的溢美詞匯。為了讓你更清晰地了解它,我們來復習一下,但這將花費更多的時間,也了解的更深入一些。 

日志

首先解釋一下日志。日志logging是記錄一臺計算機上事件的東西。在一個典型的 Linux 機器上,你可以在 /var/log 目錄中找到這些信息。例如,如果你通過 SSH 登錄到機器中,你將可以在其中一個日志文件中找到類似于如下內容的信息:

  1. Jan 14 11:38:48 linux-0jbu sshd[7716]: Accepted publickey for root from 127.0.0.1 port 48806 ssh2

日志的內容可能是關于你的 CPU 過熱、通過 HTTP 下載了一個文檔,或者你的應用程序認為重要的任何東西。 

syslog-ng

正如我在上面所寫的那樣,syslog-ng 應用程序是一個強化的、致力于可移植性、和中心化的日志收集守護程序。守護程序的意思是,syslog-ng 是一個持續(xù)運行在后臺的應用程序,在這里,它用于收集日志信息。

雖然現(xiàn)在大多數(shù)應用程序的 Linux 測試是限制在 x86_64 的機器上,但是,syslog-ng 也可以運行在大多數(shù) BSD 和商業(yè) UNIX 變種版本上的。從嵌入式/物聯(lián)網的角度來看,這種能夠運行在不同的 CPU 架構(包括 32 位和 64 位的 ARM、PowerPC、MIPS 等等)的能力甚至更為重要。(有時候,我通過閱讀關于 syslog-ng 是如何使用它們的來學習新架構)

為什么中心化的日志收集如此重要?其中一個很重要的原因是易于使用,因為它放在一個地方,不用到成百上千的機器上挨個去檢查它們的日志。另一個原因是可用性 —— 即使一個設備不論是什么原因導致了它不可用,你都可以檢查這個設備的日志信息。第三個原因是安全性;當你的設備被黑,檢查設備日志可以發(fā)現(xiàn)攻擊的蹤跡。 

syslog-ng 的四種用法

syslog-ng 有四種主要的用法:收集、處理、過濾、和保存日志信息。

收集信息: syslog-ng 能夠從各種各樣的 特定平臺源 上收集信息,比如 /dev/log,journal,或者 sun-streams。作為一個中心化的日志收集器,傳統(tǒng)的(rfc3164)和最新的(rfc5424)系統(tǒng)日志協(xié)議、以及它們基于 UDP、TCP 和加密連接的各種變種,它都是支持的。你也可以從管道、套接字、文件、甚至應用程序輸出來收集日志信息(或者各種文本數(shù)據)。

處理日志信息: 它的處理能力幾乎是無限的。你可以用它內置的解析器來分類、規(guī)范,以及結構化日志信息。如果它沒有為你提供在你的應用場景中所需要的解析器,你甚至可以用 Python 來自己寫一個解析器。你也可以使用地理數(shù)據來豐富信息,或者基于信息內容來附加一些字段。日志信息可以按處理它的應用程序所要求的格式進行重新格式化。你也可以重寫日志信息 —— 當然了,不是篡改日志內容 —— 比如在某些情況下,需要滿足匿名要求的信息。

過濾日志: 過濾日志的用法主要有兩種:丟棄不需要保存的日志信息 —— 像調試級別的信息;和路由日志信息—— 確保正確的日志到達正確的目的地。后一種用法的一個例子是,轉發(fā)所有的認證相關的信息到一個安全信息與事件管理系統(tǒng)(SIEM)。

保存信息: 傳統(tǒng)的做法是,將文件保存在本地或者發(fā)送到中心化日志服務器;不論是哪種方式,它們都被發(fā)送到一個普通文件。經過這些年的改進,syslog-ng 已經開始支持 SQL 數(shù)據庫,并且在過去的幾年里,包括 HDFS、Kafka、MongoDB、和 Elasticsearch 在內的大數(shù)據存儲,都被加入到 syslog-ng 的支持中。 

消息格式

當在你的 /var/log 目錄中查看消息時,你將看到(如上面的 SSH 信息)大量的消息都是如下格式的內容:

  1. 日期 + 主機名 + 應用名 + 一句幾乎完整的英文信息

在這里的每個應用程序事件都是用不同的語法描述的,基于這些數(shù)據去創(chuàng)建一個報告是個痛苦的任務。

解決這種混亂信息的一個方案是使用結構化日志。在這種情況下,事件被表示為鍵-值對,而不是隨意的日志信息。比如,一個 SSH 日志能夠按應用程序名字、源 IP 地址、用戶名、認證方法等等來描述。

你可以從一開始就對你的日志信息按合適的格式進行結構化處理。當處理傳統(tǒng)的日志信息時,你可以在 syslog-ng 中使用不同的解析器,轉換非結構化(和部分結構化)的信息為鍵-值對格式。一旦你的日志信息表示為鍵-值對,那么,報告、報警、以及簡單查找信息將變得很容易。 

物聯(lián)網日志

我們從一個棘手的問題開始:哪個版本的 syslog-ng 最流行?在你回答之前,想想如下這些事實:這個項目啟動于 20 年以前,Red Hat 企業(yè)版 Linux EPEL 已經有了 3.5 版,而當前版本是 3.14。當我在我的演講中問到這個問題時,觀眾通?;卮鹗撬麄冇玫? Linux 發(fā)行版中自帶的那個。你們絕對想不到的是,正確答案竟然是 1.6 版最流行,這個版本已經有 15 年的歷史的。這什么這個版本是最為流行的,因為它是包含在亞馬遜 Kindle 閱讀器中的版本,它是電子書閱讀器,因為它運行在全球范圍內超過 1 億臺的設備上。另外一個在消費類設備上運行 syslog-ng 的例子是 BMW i3 電動汽車。

Kindle 使用 syslog-ng 去收集關于用戶在這臺設備上都做了些什么事情等所有可能的信息。在 BMW 電動汽車上,syslog-ng 所做的事情更復雜,基于內容過濾日志信息,并且在大多數(shù)情況下,只記錄最重要的日志。

使用 syslog-ng 的其它類別設備還有網絡和存儲。一些比較知名的例子有,Turris Omnia 開源 Linux 路由器和群暉 NAS 設備。在大多數(shù)案例中,syslog-ng 是在設備上作為一個日志客戶端來運行,但是在有些案例中,它運行為一個有豐富 Web 界面的中心日志服務器。

你還可以在一些行業(yè)服務中找到 syslog-ng 的身影。它運行在來自美國國家儀器有限公司(NI)的實時 Linux 設備上,執(zhí)行測量和自動化任務。它也被用于從定制開發(fā)的應用程序中收集日志。從命令行就可以做配置,但是一個漂亮的 GUI 可用于瀏覽日志。

最后,還有大量的項目,比如,汽車和飛機,syslog-ng 在它們上面既可以運行為客戶端,也可以運行為服務端。在這種使用案例中,syslog-ng 一般用來收集所有的日志和測量數(shù)據,然后發(fā)送它們到處理這些日志的中心化服務器集群上,然后保存它們到支持大數(shù)據的目的地,以備進一步分析。 

對物聯(lián)網的整體益處

在物聯(lián)網環(huán)境中使用 syslog-ng 有幾個好處。第一,它的分發(fā)性能很高,并且是一個可靠的日志收集器。第二,它的架構也很簡單,因此,系統(tǒng)、應用程序日志、以及測量數(shù)據可以被一起收集。第三,它使數(shù)據易于使用,因為,數(shù)據可以被解析和表示為易于使用的格式。最后,通過 syslog-ng 的高效路由和過濾功能,可以顯著降低處理程序的負載水平。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-03-09 09:15:16

Linuxsyslog-ng日志

2023-10-11 17:58:22

2009-11-09 09:11:17

2018-12-26 15:39:39

2022-07-03 17:55:53

HTTP頁面瀏覽器

2021-03-10 13:19:09

LinuxCPU程序

2022-03-24 14:49:57

HTTP前端

2018-04-12 07:24:00

2020-12-06 14:51:23

物聯(lián)網可靠性IOT

2021-01-22 11:35:19

物聯(lián)網人工智能編程

2024-02-28 10:26:04

物聯(lián)網數(shù)據存儲

2021-06-02 15:30:44

智能安防物聯(lián)網智能建筑

2020-04-06 22:48:51

自動駕駛物聯(lián)網無人機

2022-05-06 15:58:44

物聯(lián)網社區(qū)物聯(lián)網應用

2022-05-05 16:49:12

物聯(lián)網社區(qū)應急

2019-08-21 06:38:51

2014-01-22 11:12:18

2023-05-10 13:58:11

2023-05-10 14:22:47

2019-09-25 05:35:07

物聯(lián)網預測性維護IOT
點贊
收藏

51CTO技術棧公眾號