rsyslog日志系統

一、前言

 什么是日志?

   日志就是歷史事件,按時間序列將發生的事件予以記錄;日志記錄信息記錄的是事件的發生時間以及事件內容

 Linux下記錄日志的系統:

   syslog:是CentOS 5.0系統上使用的日志系統,有兩類日志,分別是syslogd、klogd;

      syslogd:記錄系統進程相關的日志

      klogd:記錄內核相關的日志

  

   rsyslog:是CentOS 6.0系統使用的日志系統,與syslog日志系統相比,具有以下優點:

      ①支持多線程

      ②支持TCP、SSL、TLS、RELP等協議

      ③強大的過濾器,可實現過濾日志信息中的任意部分

      ④支持自定義輸出格式

      ⑤適用于企業級別日志記錄需求

      ⑥模塊化

二、rsyslog日志系統配置

1、配置文件,以及配置文件的定義格式

/etc/rsyslog.conf  \\配置文件
日志定義格式: facility.priority    Target
    facility: 設施,從功能或程序上對日志進行分類,并由專門的工具負責記錄日志;
      常用的facility:
              lpr: 打印相關的日志
              auth:認證相關的日志
              user:用戶相關的日志
              cron:計劃任務相關的日志
              kern:內核相關的日志
              mail:郵件相關的日志
              mark:標記相關的日志
              news:新聞相關的日志
              uucp:文件copy相關的日志
           daemon:系統服務相關的日志
           authpri: 授權相關的日志
           security:安全相關的日志
           local0-local7:自定義相關的日志信息(自定義時可以使用通配符)
                通配符:
                   *:所有
                   f1,f2,f3......:列表
                   ?。喝》?
               
      priority:日志級別
        常用的日志級別:
          debug:   調試
          info:   消息
          notice: 注意
        warn,warning: 警告
          err,error: 錯誤
          crit: 嚴重級別
          alert: 需要立即修改該的信息
          emerg,panic: 內核崩潰,內核恐慌等嚴重的信息
          
          通配符:
             *:所有日志級別
             none:沒有任何級別,也就是不記錄日志信息
            
     
       Target:文件路徑
            可以使用的有:
                ①/var/log/messages
                ②用戶:*當前登錄系統的所有用戶
                ③日志服務器:@SERAVER_IP
                ④管道:| COMMAND
         
舉例:
mail.info  /var/log/maillog:  比指定級別更高的日志級別,包括指定級別自身,保存到/var/log/maillog中
mail.=info  /var/log/maillog: 明確指定日志級別為info,保存至/var/log/maillog
mail.!info  /var/log/maillog: 除了指定的日志級別(info)所有日志級別信息,保存至/var/log/maillog
*.info      /var/log/maillog: 所有facility的info級別,保存至/var/log/maillog
mail.*     /var/log/maillog:  mail的所有日志級別信息,都保存至/var/log/maillog
mail.notice;news.info  /var/log/maillog: mail的notice以上記得日志級別和news的info以上的級別保存至/var/log/maillog
mail,news.crit  -/var/log/maillog:  mail和news的crit以上的日志級別保存/var/log/maillog中;“-”代表異步模式

 

 日志信息格式: 時間    主機   進程(pid)   事件

1.png

    

2、啟用日志服務器功能,接收其他服務的日志

  ①編輯/etc/rsyslog.conf,修改以下信息

   2.png

 ②重啟rsyslog服務,查看監聽端口  3.png

③在另一臺測試機中編輯/etc/rsyslog.conf,將日志信息發送到此服務器,重啟rsyslog服務

  4.png

 

④在測試機中安裝vsftpd,安裝完成后再rsyslog服務器中查看日志

   5.png

 ⑤至此rsyslog日志服務器已經可以正常工作了

3、配置將日志信息存儲到數據庫

  ①安裝數據庫,啟動數據庫

# yum -y install mysql-server
#  service  mysqld  start

  ②安裝rsyslog-mysql驅動

# yum -y install rsyslog-mysql

 ③查看rsyslog-msyql生成的文件

# rpm -ql rsyslog-mysql
/lib64/rsyslog/ommysql.so \\rsyslog連接mysql的驅動模塊
/usr/share/doc/rsyslog-mysql-5.8.10 \\ rsyslog的文檔
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql  \\rsyslog的數據庫以及表的各項定義,直接導入數據即可使用

 ④將生成的createDB.sql導入mysql數據庫

# mysql -uroot -p </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
Syslog  \\生成的數據庫名稱
 SystemEvents  \\存放日志文件的數據庫表
 SystemEventsProperties \\ 生成的日志數據庫表

 ⑤授權rsyslog用戶對到導入的數據庫有所有權限

mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'syslogpass'; \\用戶授權
mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'syslogpass';\\用戶授權
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;   \\進行權限刷新
Query OK, 0 rows affected (0.00 sec)

 ⑥編輯/etc/rsyslog.conf配置文件,加載ommysql模塊,定義將日志信息存儲到mysql數據庫

#### MODULES ####
$ModLoad ommysql

#### RULES ####
*.info;mail.none;authpriv.none;cron.none   :ommysql:127.0.0.1,Syslog,rsyslog,syslogpass
                       :模塊驅動:數據庫地址,數據庫名稱,數據用戶,用戶密碼

 ⑦重啟rsyslog服務

# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

 ⑧在本機上安裝vsftpd,在mysql中查看日志信息

# yum -y install vsftpd   \\安裝vsftpd服務
# mysql -uroot -p  \\進入數據庫
Enter password:    \\數據密碼,默認root用戶的密碼為空

mysql> SELECT * FROM Syslog.SystemEvents\G;  查看日志命令,輸出信息如下:

 *************************** 4. row ***************************
                ID: 4
        CustomerID: NULL
        ReceivedAt: 2014-12-16 11:51:42
DeviceReportedTime: 2014-12-16 11:51:42
          Facility: 1
          Priority: 6
          FromHost: localhost
           Message:  Installed: vsftpd-2.2.2-13.el6_6.1.x86_64
        NTSeverity: NULL
        Importance: NULL
       EventSource: NULL
         EventUser: NULL
     EventCategory: NULL
           EventID: NULL
   EventBinaryData: NULL
      MaxAvailable: NULL
         CurrUsage: NULL
          MinUsage: NULL
          MaxUsage: NULL
        InfoUnitID: 1
         SysLogTag: yum[2605]:
      EventLogType: NULL
   GenericFileName: NULL
          SystemID: NULL
4 rows in set (0.00 sec)

 ⑨到此為止,日志信息已經成功的存儲于數據庫中,可以便捷的查詢相關的日志信息啦

  

4、配置loganalyzer日志分析工具,便于日常維護

 ①安裝LAMP平臺

 # yum -y install httpd php php-mysql   \\數據庫已安裝,現在只安裝httpd,php即可

 ②啟動相關的服務,測試LAMP是否可以正常提供服務

# service httpd start  \\啟動httpd服務

 ③測試web服務正常訪問6.png

  ④配置loganalyzer

 # tar xf loganalyzer-3.6.5.tar.gz   \\解壓loganalyzer到當前目錄
 # mkdir /var/www/html/log\\在httpd的DocumentRoot目錄中創建log目錄,用于存儲loganalyzer相關頁面
 # cp -r  loganalyzer-3.6.5/src/* /var/www/html/log \\復制loganalyzer目錄中的src目錄中的所有文件到剛剛創建的/var/www/html/log目錄中
 # cp loganalyzer-3.6.5/contrib/* /var/www/html/log \\復制loganalyzer目錄中的contrib目錄中的腳本文件到剛剛創建的/var/html/www/log目中中
 # cd /var/www/html/log   \\cd 到/var/www/html/log目錄中
 # chmod +x configure.sh secure.sh   \\給剛剛復制過來的腳本添加執行權限
 # ./configure.sh   \\執行腳本
 # ./secure.sh      \\執行腳本
 # chown -R apache.apache . \\更改當前目錄的屬主屬組為apache,使用rpm安裝的httpd,默認用戶是apache
 # chmod 666 config.php  \\ 設置config.php配置文件具有寫權限

上述配置完成后,訪問http://192.168.10.120/log便可以進行相關的配置

  7.png  8.png

9.png

10.png

11.png

12.png

13.png

可能會遇到的問題 

 1、如果安裝完成后提示連接不到數據庫,則將第五步中的127.0.0.1改為localhost便可以解決問題

 2、使用中出現以下問題 14.png

# yum -y install php-gd  \\安裝php-gd
# service httpd restart  \\重啟httpd服務

 刷新頁面,便可以恢復正常訪問

15.png77

原創文章,作者:馬行空,如若轉載,請注明出處:http://www.www58058.com/5257

(2)
馬行空馬行空
上一篇 2015-06-15 16:22
下一篇 2015-06-15 16:25

相關推薦

  • 第一周博客作業-Linux發行版歷史、哲學思想、FHS、命令格式、幫助等

    All + All – 第一周作業 1.計算機組成及功能 計算機組成 硬件 馮諾依曼體系 CPU 運算器 對數據做算暖蘇運算和邏輯運算 控制器 寄存器等 程序的運行,是CPU通過調用硬盤中的程序至內存中執行來實現的 存儲器 內存 ROM RAM 外存 硬盤 光盤 輸入設備 鼠標、麥克風等 實現指令和參數的輸入 輸出設備 顯示器、打印機等 實現結果…

    Linux干貨 2017-07-02
  • Ubuntu 葵花寶典入門篇——要練此功,可能得自宮?

        此文章給初入ubuntu的小伙伴們寫一篇裝機篇和使用心得。第二期會給小伙伴介紹軟件安裝篇。如題目所說,烏班圖確實是葵花寶典,練好了天下無敵。只是如果要安裝UBUNTU系統,只是在虛擬機上跑跑是不夠的,你必須在實際的桌面環境和服務器環境上才能體會到它的運行方式,而桌面環境和服務器環境幾乎差不多。所以安裝桌面版可以更好的理解…

    Linux干貨 2017-03-26
  • N25—-第三周作業

    1、 列出當前系統上所有已登錄用戶的用戶名。只顯示一次    who | cut -d' ' -f1 | sort -u 2、 取出最后登錄到當前系統的用戶的相關信息。   last | h…

    Linux干貨 2016-12-19
  • crm命令行命令詳解

    crm -status 顯示當前集群狀態 -configure 配置集群 a.show xml 顯示當前集群配置信息(xml格式) b.property 顯示集群可用的全局屬性(鍵入之后按兩下Tab) -verifiy 校驗 -commit 提交 -node a.online 設置當前節點上線 b.show 顯示當前節點狀態 c.standby 將當前節點設…

    Linux干貨 2017-11-04
  • 簡述計算機網絡數據鏈路層

    數據鏈路層    數據鏈路層是什么?      數據鏈路層工作在七層網絡模型的第二層,它定義了在單個鏈路上如何傳輸數據。 數據鏈路層:是為了提供功能上和規程上的方法,以便建立、維護和釋放網絡實體間的數據鏈路 。 物理鏈路(物理線路):是由傳輸介質與設備組成的。原始的物理傳輸線路是指沒有采用高層差錯控…

    Linux干貨 2017-05-15
  • Tomcat基礎及常見使用入門

    Tomcat的簡單介紹,安裝,以及簡單的配置運用

    2017-09-11
欧美性久久久久