亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于rsyslog系統(tǒng)日志的收集與分析

        2012-08-06 12:51:58朱曉亮陳云芳陸有為
        關(guān)鍵詞:應(yīng)用層配置文件隊(duì)列

        朱曉亮 陳云芳 陸有為

        南京郵電大學(xué)物聯(lián)網(wǎng)學(xué)院 江蘇 210003

        0 引言

        本文研究一種基于rsyslog系統(tǒng)日志處理系統(tǒng),通過收集*nix系統(tǒng)里產(chǎn)生的各種log,分析并確定系統(tǒng)中的問題所在,最終以Web方式展示出來,方便的進(jìn)行檢索和分析,具有較高的理論和實(shí)用價(jià)值。

        1 *nix的日志處理

        1.1 *nix平臺(tái)下的日志

        對(duì)于*nix平臺(tái)來說,log主要包括應(yīng)用層的log、系統(tǒng)層的log以及虛擬機(jī)的log。

        應(yīng)用層的log:大部分應(yīng)用層的log默認(rèn)會(huì)存儲(chǔ)在/var/log/下面,如果通過ls列出/var/log/下面的目錄文件,我們會(huì)看到很多熟悉的名字,比如/var/log/apache2,則代表是由apache2服務(wù)產(chǎn)生的log文件;再比如/var/log/samba則代表是由Samba服務(wù)產(chǎn)生的log文件。

        系統(tǒng)層的log:系統(tǒng)的log信息主要是跟Ubuntu的系統(tǒng)信息相關(guān),跟應(yīng)用層的log關(guān)系不是很緊密,常見的包括用戶的認(rèn)證機(jī)制的日志信息,系統(tǒng)的daemon,系統(tǒng)的messages,以及系統(tǒng)所有的壓縮文件也就是其本身syslog。

        虛擬機(jī)的log:對(duì)于虛擬機(jī)來說,目前主流的包括xen以及KVM,其中前者使用范圍更為廣泛,同樣,在/var/log/下有xen/目錄,該目錄下會(huì)包含console/目錄,記錄通過console登錄的信息,domain-builder-ng.log文件記錄domU的信息,xen-debug文件以記錄xen虛擬機(jī)的debug信息等。而對(duì)于KVM來說,則包含/var/log/libvirt/目錄,該目錄下面的文件記錄的是KVM相關(guān)的log信息。

        1.2 Rsyslog日志處理協(xié)議

        Syslog是一個(gè)很著名的網(wǎng)絡(luò)協(xié)議,是一種在Unix和類Unix的計(jì)算機(jī)系統(tǒng)上使用的協(xié)議,它用于轉(zhuǎn)發(fā)以太網(wǎng)絡(luò)中的日志消息。它實(shí)施了基本的syslog協(xié)議,并且為syslog協(xié)議擴(kuò)增了基于內(nèi)容的過渡、豐富的過濾功能和靈活的配置選項(xiàng),還增添了一些重要功能,比如使用TCP進(jìn)行傳輸。

        (1) rsyslog的功能

        Rsyslog通過隊(duì)列來耦合兩個(gè)動(dòng)作,在隊(duì)列中,一方作為生產(chǎn)者,一方作為消費(fèi)者,生產(chǎn)者會(huì)生產(chǎn)一些東西,一般,“一些東西”通常是syslog信息,當(dāng)然,隊(duì)列也可以用于其他的目的。

        Rsyslog有一個(gè)主隊(duì)列和多個(gè)action(動(dòng)作)隊(duì)列,消息輸入模塊把消息pass到主隊(duì)列,再由主隊(duì)列根據(jù)rules分給各個(gè)action隊(duì)列。

        在配置文件里,可以通過MainMsg和Action分別用來設(shè)定主隊(duì)列和aciton隊(duì)列的參數(shù)。在隊(duì)列創(chuàng)建前,相同的參數(shù)可以指定多次,最后指定的優(yōu)先。

        主隊(duì)列,在解析完配置文件后,開始創(chuàng)建。Action隊(duì)列,在每次動(dòng)作選擇時(shí)被創(chuàng)建。

        Rsyslog支持多種模式,在配置文件里通過$queuetype來指定。目前有下面三種:

        ① 直接隊(duì)列,不排隊(duì)或緩存任何隊(duì)列元素,直接傳遞元素到下一個(gè)處理機(jī)制;

        ② 內(nèi)存隊(duì)列,將隊(duì)列緩存到內(nèi)存中,等到一定的觸發(fā)條件再傳遞;

        ③ 磁盤輔助內(nèi)存隊(duì)列,將隊(duì)列緩存到磁盤中,等到一定的觸發(fā)條件再傳遞。

        (2) rsyslog的使用

        在實(shí)際的使用過程中,我們可以通過配置文件和查看相應(yīng)的日志文件來使用rsyslog。然而,在許多應(yīng)用場景下,我們往往需要通過程序產(chǎn)生輸出信息并進(jìn)行記錄,也就是說要把一些信息寫成日志文件。正常情況下運(yùn)行程序的人不用關(guān)心日志里的內(nèi)容,只有在出現(xiàn)問題的時(shí)候才會(huì)查看日志文件里的內(nèi)容以確定問題所在。

        因此,下面設(shè)計(jì)通過rsyslog日志系統(tǒng)提供的API調(diào)用接口,來使用程序?qū)崿F(xiàn)對(duì)rsyslog的使用。

        常用的rsyslog系統(tǒng)調(diào)用包括如下四個(gè):

        ① void openlog(const char *ident, int option, int facility):打開日志設(shè)備;

        ② void syslog(int priority, const char *format,...):寫入日志;

        ③ void closelog(void):關(guān)閉日志設(shè)備;

        ④ vsyslog:它和syslog功能類此,只是有不同的參數(shù)。

        增加一條log信息的過程(如圖1):

        圖1 rsyslog系統(tǒng)調(diào)用

        我們可以通過下面一小段程序來熟悉這幾個(gè)系統(tǒng)調(diào)用:

        2 大規(guī)模日志收集系統(tǒng)的設(shè)計(jì)

        一個(gè)好的日志系統(tǒng),不但需要一個(gè)魯棒性很高的后端,還需要一個(gè)體驗(yàn)很高的前端。對(duì)于寫操作要求很高的日志系統(tǒng),我們選用 MySQL 作為我們log存儲(chǔ)的數(shù)據(jù)庫系統(tǒng),而使用 PHP 這門全球最流行的腳本語言來構(gòu)成前端。

        同時(shí)我們使用 MyISAM 作為數(shù)據(jù)庫的存儲(chǔ)引擎,也就是默認(rèn)的引擎,因?yàn)檫@里的應(yīng)用是不需要事務(wù)的,處理的基本的CRUD操作,而且以 insert 為主。

        接下來我們需要建立業(yè)務(wù)相關(guān)的數(shù)據(jù)庫了。數(shù)據(jù)庫的名字命名為 Syslog。這里需要建立表1、表2。

        SystemEvents,該表存放log的實(shí)際信息,包括惟一標(biāo)識(shí)號(hào) ID,log到達(dá)logserver 的時(shí)間,F(xiàn)acility級(jí)別,Priority級(jí)別,log的內(nèi)容 Message 等。

        SystemEventsProperties,該表存放 SystemEvents 的相關(guān)屬性,包括一個(gè)惟一的表示,同時(shí)也作為該表的主鍵 ID 號(hào),以及一些保留的字段等。

        表1 Syste5mEvents 表部分條目

        表2 SystemEventsProperties 表部分條目

        在完成建立表格之后,需要通知rsyslog以數(shù)據(jù)庫的方式來收集log信息:

        在完成了數(shù)據(jù)庫的設(shè)計(jì)之后,開始Web的設(shè)計(jì),這里主要包括6大模塊。它們分別是如下的:

        用戶登錄登出(Login/Logout);

        數(shù)據(jù)檢索(Search);

        事件展示(Show Events);

        數(shù)據(jù)分析報(bào)告(Statistics);

        用戶管理(Admin Center);

        數(shù)據(jù)庫讀寫 (DB I/O)。

        用戶管理則是對(duì)登錄該系統(tǒng)用戶的日常的操作維護(hù),包括用戶以及用戶組的權(quán)限等問題;數(shù)據(jù)檢索主要是通過關(guān)鍵詞來準(zhǔn)確匹配需要的搜索的內(nèi)容;事件展示是該log收集分析系統(tǒng)的主要界面,也就是進(jìn)入該系統(tǒng)的首頁面,會(huì)根據(jù)默認(rèn)的情況展示log收集的數(shù)據(jù),以及相應(yīng)的log信息的分類、劃分的等級(jí)等;報(bào)告生成主要是對(duì)log信息的分類統(tǒng)計(jì)。

        3 測(cè)試結(jié)果與分析

        3.1 log的收集測(cè)試

        這里通過手動(dòng)的測(cè)試,來測(cè)試寫入 /var/log/messages 的情況,我們需要一個(gè)簡單 logger 命令來測(cè)試(如圖2):

        $ logger -p local3.info "Msg"

        圖2 rsyslog測(cè)試示例

        第一行日志顯示: May 22 17:10:09 lvs-1 yunbg: 11其表示意思如下:第一列:日志產(chǎn)生時(shí)間;第二列:產(chǎn)生此日志的主機(jī)名稱;第三列:產(chǎn)生此日志的應(yīng)用程序或用戶名稱;第四列:日志的內(nèi)容。正如前面所說的,應(yīng)用程序的日志級(jí)別是由應(yīng)用程序所決定的。部分應(yīng)用程序可通過配置,定義其日志級(jí)別。例如,/etc/ssh/sshd_config。

        3.2 Web界面下log的檢索和展示

        這里根據(jù)“Other filters”包括“Syslog Facility”“Syslog Severity”等類別來進(jìn)行搜索,通過關(guān)鍵詞加上符號(hào)的形式來實(shí)現(xiàn),比如“facility:local0 severity: warning”這個(gè)則是搜索Facility為local0而severity為warning級(jí)別的內(nèi)容。檢索界面如圖3所示。

        圖3 log檢索

        通過檢索生成的報(bào)告中,包括 Date、Facility、Severity、Host、Syslogtag、Messagetype、Message 幾個(gè)欄目,分別表示日志到達(dá)的時(shí)間、其 Facility的值、嚴(yán)重等級(jí)程度、來自于哪臺(tái)主機(jī)、其 syslog 的 tag、信息的類型以及最重要的一項(xiàng)其顯示的消息,即如圖4所示。

        圖4 數(shù)據(jù)報(bào)告展示

        對(duì)于 Message 這一欄,如果點(diǎn)擊,可以得到更加詳細(xì)的消息信息。整個(gè)界面根據(jù)時(shí)間進(jìn)行排序,時(shí)間越早的排在前面,偏晚的則排在后面,這也符合我們的需求,設(shè)計(jì)日志系統(tǒng)的主要目的是用來發(fā)現(xiàn)問題解決問題的,因此我們可以通過查找過濾關(guān)鍵字來找到我們需要的日志信息。

        4 結(jié)束語

        本文介紹了 *nix 平臺(tái)下的log,歸納了應(yīng)用層、系統(tǒng)層以及虛擬機(jī)的log文件。熟悉rsyslog的功能以及其核心功能——隊(duì)列。在此基礎(chǔ)上,將log內(nèi)容收集到數(shù)據(jù)庫中并以Web的方式展現(xiàn)出來。保證了數(shù)據(jù)庫的讀寫效率和在出現(xiàn)系統(tǒng)問題的情況下,能很快通知并及時(shí)解決系統(tǒng)故障。同時(shí),文章也存在可以改進(jìn)和拓展的方面。在log的分析方面并不是很完善,可以通過一定的匹配算法實(shí)現(xiàn)自動(dòng)化的過濾、展示以及根據(jù)預(yù)定的閾值進(jìn)行報(bào)警,以便及時(shí)通過log發(fā)現(xiàn)系統(tǒng)中存在的問題,更好的體現(xiàn)log的作用。

        [1] 乃密斯.Linux系統(tǒng)管理技術(shù)手冊(cè).人民郵電出版社.2008.

        [2] 馬修.Linux程序設(shè)計(jì)-(第3版).人民郵電出版社.2007.

        [3] Rainer Gerhards, Adiscon GmbH. rsyslog: going up from 40K messages per second to 250K.

        [4] 張文江,吳慶波.Linux日志文件系統(tǒng)研究.計(jì)算機(jī)工程與應(yīng)用.2006.

        [5] 劉丹,賴鋒.系統(tǒng)安全中Linux日志的實(shí)用研究.世界電信.2003.

        [6] 李燕南,劉新等.主機(jī)日志分析與研究[J].中國高新技術(shù)企業(yè).2010.

        [7] R. Gerhards. The Syslog Protocol. RFC 5424 (Proposed Standard),March 2009.

        猜你喜歡
        應(yīng)用層配置文件隊(duì)列
        提示用戶配置文件錯(cuò)誤 這樣解決
        隊(duì)列里的小秘密
        基于多隊(duì)列切換的SDN擁塞控制*
        軟件(2020年3期)2020-04-20 00:58:44
        搭建簡單的Kubernetes集群
        互不干涉混用Chromium Edge
        在隊(duì)列里
        忘記ESXi主機(jī)root密碼怎么辦
        豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
        基于分級(jí)保護(hù)的OA系統(tǒng)應(yīng)用層訪問控制研究
        新一代雙向互動(dòng)電力線通信技術(shù)的應(yīng)用層協(xié)議研究
        免费毛片a线观看| 久久精品国产亚洲av夜夜| 性感美女脱内裤无遮挡| 含紧一点h边做边走动免费视频| 丰满少妇被猛男猛烈进入久久| 天天插视频| 成人爽a毛片免费网站中国| 日本孕妇潮喷高潮视频| 欧美 变态 另类 人妖| 国产精品无码无片在线观看3D| 久久久一本精品久久久一本| 日本在线观看一区二区三| 性大毛片视频| 亚洲日本va99在线| 一区二区三区在线观看高清视频| 亚洲视频一区二区三区视频| 看av免费毛片手机播放| 国产精品亚洲A∨天堂不卡| 日本高清一区二区三区色| 99噜噜噜在线播放| 久久水蜜桃亚洲av无码精品麻豆| 久久久国产精品福利免费| 偷拍熟女露出喷水在线91| 亚洲av午夜精品无码专区| 欧美熟妇色ⅹxxx欧美妇| 亚洲欧美日韩在线中文一| 日本视频一区二区三区在线| 色综合av综合无码综合网站| 中文在线√天堂| 亚洲天堂免费一二三四区| 极品一区二区在线视频观看| 国产成人aaaaa级毛片| 国产成人精品日本亚洲专区6| 精品日韩在线观看视频| 免费av一区二区三区无码| 又污又黄又无遮挡的网站| 亚洲伊人免费综合网站| 中文字幕一区二区精品视频| 久久亚洲色www成人欧美| 女同中的p是什么意思| 久久精品国产69国产精品亚洲|