Linux上實現rsyslog+mysql+loganalyz進行日志收集

在我們的運維工作中,常常會對系統上的日志進行收集,手動管理少量的幾臺服務器的日志收集沒有太大難度,但是企業當中批量的管理成千上萬臺服務器的時候,這時候想一臺臺的收集日志未免太浪費時間了,這時候我們需要一個批量管理日志的系統來解決這一難題,今天我給大家帶來的使用

1、syslog介紹

        日志服務在Centos5上位syslog,隨著系統版本的升級之后,日志服務改為rsyslog,rsyslog是syslog的升級版,提供了許多高級的特性。syslog由klogd和syslogd組成,klogd記錄的是kernel產生的日志信息,而syslogd是系統上的一些普通信息,rsyslog和syslog的整體框架相同,只不過是rsyslog有了一些高級的特性。

2、rsyslog的特性

      Multi-threading   支持多線程工作模型
      TCP, SSL, TLS, RELP   支持ssl加密
      MySQL, PostgreSQL, Oracle and more  可以將日志放入到數據庫當中
      Filter any part of syslog message     可以過濾日志信息的任何部分
      Fully configurable output format    完全可配置的輸出模式
      Suitable for enterprise-class relay chains  適用于企業級的中繼鏈

3、facility設施,從功能或程序上對日志進行分類,并有專門的工具負責記錄其日志

      auth  認證信息
      authpriv  授權信息
      cron   計劃任務信息
      daemon  守護進程信息
      kern   內核信息
      lpr    打印機信息
      mail  郵件信息
      mark  防火墻標記信息
      news  新聞組信息
      security (same as auth)  安全信息
      syslog  系統日志
      user   用戶相關信息
      uucp  unix間復制信息
      local0 through local7: 8 customed facility  用戶自定義的日志類,分為7個級別

 

4、priority:級別

      debug:調試級別,所有信息都會記錄

      info: 普通信息,比debug級別高

      notice  :通知信息,比info級別高

      warning,warn :警告信息

      err,error:錯誤信息,某個功能出現問題,不影響使用

      crit:某個功能出現問題,需及時處理

      alert:系統出現嚴重問題,不立即處理會有嚴重后果

      emerg:系統將要掛掉

注意:級別越低記錄的信息將會越詳細,占用的空間也將越大

4、target日志存放目標

      文件  如/var/log/messages

      用戶  *表示所有用戶,也可以發給指定的用戶

      日志服務器   @10.1.0.1

      管道  |command  交給特定的命令處理

      facility.priority        target
      mail.info              /var/log/maillog info及info以上的級別記錄
      mail.=info  僅info級別記錄
      mail.!=info  除了info級別以外的都記錄

      mail.!info  除了info級別以下的記錄其他都記錄

      *.info      所有設施的info級別記錄
      mail,news,info 兩個設施的info

5、rsyslog的配置

      rsyslog的配置文件在/etc/rsyslog.conf及/etc/rsysloge.d/*.conf

      /etc/rsyslog.conf分為四個區域

      MODULES          syslog的模塊

      GLOBAL             全局定義,記錄的格式等等

      RULES                記錄日志相關

      begin  forwarding rule     一些轉發的記錄信息

      我們主要關心的事RULES這個區域,要想使用rsyslog記錄特定類,級別的日志,就需要在RULES中定義

日志信息格式
    時間          主機         進程(PID)        事件
    Aug 30 10:14:16 server kernel: EXT4-fs (dm-7): mounted filesystem with ordered data     mode. Opts:

   通配機制

        *:所有級別

       ,:列表如a,b,c表示三個級別

      ?。喝》?/p>

loganalyzer的介紹

      loganalyzer是一塊web界面的日志分析工具,可以分析mysql中的日志信息,有php編寫,依賴于lamp平臺,要想將日志寫入到mysql中,需要安裝rsyslog-mysql工具,并啟用rsyslog的mmysql模塊

6、環境部署

      操作系統:CentOS6.8

      rsyslog:系統默認安裝

      loganalyzer:logananlyzer-3.6.4

      LAMP:httpd.2.4,mysql-5,1,php-5.3(我這里就直接二進制安裝)

  6.1、關閉selinux和iptables,默認這兩項都是開啟的

      setenforce 0

      service iptables stop

      如果不關閉iptables,寫下規則

      iptables -A INPUT -p udp –dport 514 -j ACCEPT

      iptables -P OUTPUT ACCEPT

      iptables -A  INPUT -p tcp –dport 80 -j ACCEPT

      iptables -P OUTPUT ACCEPT

  6.2、安LAMP

      yum -y install httpd  php  php-mysql mysql mysql-server

      啟動服務

      service  httpd  start

      service mysqld start

6.3、配置rsyslog

      #yum -y install rsyslog  rsyslog-mysql

      注:rsyslog-mysql為rsyslog將日志傳送到mysql數據庫的一個模塊,這里必須安裝

      mysql<   /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 導入數據庫就是在Syslog數據庫當中  創建兩張表

    創建rsyslog用戶在mysql下的相關權限

          mysql -uroot 

          mysql>GRANT ALL ON Syslog.* TO  'loguser'@'localhost' IDENTIFIED BY 'logpass';

          mysql>GRANT ALL ON Syslog.* TO  'loguser'@'127.0.0.1' IDENTIFIED BY 'logpass';

          mysql>FLUSH PRIVILEGES;

          mysql>quit

  配置服務支持rsyslog-mysql模塊,并開啟UDP服務端口獲取網內其他linux系統日志

      vim /etc/rsyslog.conf

      在#### MODULES ####下添加

      $Modload ommysql

    注意:模塊必須要寫在MODULES里不然最后結果一直出不來

          #### RULES ####z在下面添加要記錄的日志

          *.*              :ommysql:127.0.0.1,Syslog,loguser,logpass

    注:127.0.0.1本地回環地址,Syslog為數據庫名,loguser為數據庫用戶,logpass為數據庫用戶的密碼

      開啟以下幾行

          $ModLoad imudp
          $UDPServerRun 514

重啟服務

    service  rsyslog restart

7、配置loganalyzer

      7.1首先去官網下載安裝包

      #wget   http://download.adiscon.com/loganalyzer/loganalyzer-3.6.4.tar.gz

      7.2解壓

      #tar xf  loganalyzer-3.6.4.tar.gz

      #cd loganalyzer-3.6.4

      #mkdir /var/www/html/loganalyzer

      #mv src/* /var/www/html/loganalyzer/
      #mv contrib/*.sh /var/www/html/loganalyzer/
      #cd /var/www/html
     #chmod u+x   loganalyzer/*.sh
      #touch config.php 
      #chmod  666 config.php
      #chown -R apache.apache *
      刪除那兩個腳本

    注:兩個腳本的執行實際在改目錄下創建config.php文件

  7.3初始化

      在瀏覽器中輸入http://10.1.252.100/loganalyzer

    1、提示沒有配置文件,點擊here利用向導生成

wKiom1fGRVCQvIGIAAAvTFAdEiU297.jpg-wh_50

    2、next

wKioL1fGRV6jTLZnAACkviQrXiQ955.jpg-wh_50

    3、next

wKiom1fGRWvysYitAADSIv6-G_w684.jpg-wh_50

    注:若點擊next報錯,后臺執行如下命令繼續

    ln -s /var/lib/mysql/mysql.sock/tmp/mysql.sock

    4、開始寫入數據庫,next

wKioL1fGSP3xbwfRAADlFS05ZnA152.jpg-wh_50

    5、提示寫入成功,next

wKiom1fGSSPykHvbAADSCRg5CFk461.jpg-wh_50

    6、設置管理員賬戶,配置完畢next

wKiom1fGSTLBbpodAADn-D_V2A4306.jpg-wh_50

    7、設置監控日志保存到mysql數據庫中,按照如圖配置next

wKioL1fGSW3Ak3EkAADe6ISE1YA780.jpg-wh_50

wKioL1fGSZDAuABgAADGiHpfd-w081.jpg-wh_50

   

    8、完成配置

wKiom1fGSb-xTXlbAAA-tejUcOE578.jpg-wh_50

    9、進入登錄界面

wKiom1fGSdqjH0okAAA5oEcYfJE289.jpg-wh_50

    10、進入主界面

wKioL1fGSgfi4xh_AAC077G6REM799.jpg-wh_50

到此處整個安裝配置的過程就完成了,在此過程中需要注意的是在圖形安裝界面授權當中的用戶名、數據庫名、表名和密碼一定要和數據庫中的數據一致,否則會導致失敗。

至此,整個配置就完成 

原創文章,作者:fszxxxks,如若轉載,請注明出處:http://www.www58058.com/52733

(0)
fszxxxksfszxxxks
上一篇 2016-10-24
下一篇 2016-10-24

相關推薦

  • 詳解用戶,組,權限管理

    詳解用戶,組,權限管理 M21-陸東貴 測試環境:CentOS 7.2 內容介紹: 我們要使用操作系統進行工作,就需要人機交互操作,這時候計算機就需要創建用戶,通過用戶來實現操作,而且隨著用戶的增加需要給用戶分組,這時候就需要對文件進行權限管理。 需要使用的工具:       用戶相關工具:useradd; …

    Linux干貨 2016-10-25
  • linux網絡管理之二

     IP 地址由兩部分組成:                        網絡ID: 最前面連續位                …

    2017-03-18
  • CentOS下搭建LAMP

    實驗:centos7.3實現lamp應用wordpress環境 host1 httpd,php? host2 mariadb1 yum install httpd php php-mysqlyum install mariadb-serversystemctl start httpdsystemctl start mariadb 2 創建數據庫及用戶mysq…

    2017-10-16
  • 馬哥教育網絡第20期第八周課程練習

    1、 請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。在局域網內,大量主機之間的通信通過arp廣播來連接目的主機地址的,為減少在共享環境里的介質,網橋的作用是將廣播域劃分為多個小的沖突域,但廣播域沒有變。工作在OSI數據鏈路層,端口很少?;谲浖?梢蕴幚砩蠈邮聞?。 集線器:對接收到的信號進行再生整形放大,擴大網絡傳輸距離,工作在O…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班20期+第2周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cp復制, mv剪切, rm移除 語法格式: cp復制  cp [OPTION]… [-T] SOURCE DEST  常用選項: -i:交互式 -r: 遞歸復制目錄及內部的所有內容 -a: 歸檔   演示: …

    Linux干貨 2016-07-12
  • 文本處理工具練習及作業

    練習1: 1、找出ifconfig “網卡名” 命令結果中本機的IPv4地址 ifconfig |head -n 2 |tail -n 1|tr -s ” ” : |cut -d: -f4 2、查出分區空間使用率的最大百分比值 df|tr -s ‘ ‘ %|sort -t% -k5 -n|tail -n 1|c…

    2017-07-29
欧美性久久久久