rsyslog配置詳解,結合mysql+loganalyzer展現

    環境:Centos7.2

前言:系統日日夜夜不停地運行著,有這么一個守護進程,兢兢業業地不斷記錄它運行產生的日志,有不起眼的閑言碎語,值得管理員撇一眼的系統報錯,也默默地接收來自進程的嚴厲警告,甚至在內核崩潰前夕,同樣不遺余力記錄著當時發生的情形。他是無言的記錄者,沒有特別的修辭,但他的記錄的文字卻擲地有聲。本文的主角——rsyslog。

官方介紹rsyslog是增強型的,多線程的syslog守護進程。rsyslogd – reliable and extended syslogd.

一、rsyslog

rsyslog特性:

    1.多線程

    2.支持MySQL,PGSQL,Oracle等關系型數據庫存儲

    3.強大的過濾器,實現過濾日志信息中任何部分的內容

    4.自定義輸出格式

yum install rsyslog 即可安裝

主配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

rsyslog記錄日志,分為若干信道,每個信道有細分多個信息等級

信道-facility:

     auth 認證

    authpriv 認證(私有的)

    cron 計劃任務

    daemon 守護進程

    kern 內核

    lpr 打印服務

    mail 郵件

    mark 防火墻標記

    news 新聞組

    security    安全

    user 用戶相關

    uucp Unix主機之間拷貝文件

    syslog 自身的記錄

    local0-local7    自定義的信道

信息等級-priority:越向下級別越嚴格

    debug    有調式信息的,日志信息最多,最詳細的信息

    info 一般信息的日志

    notice 具有重要性意義的普通信息

    warn(warning) 警告信息,需要注意

    err(error) 嚴重錯誤,模塊不能正常工作

    crit(critical) 臨界預警,服務或系統不能正常運行

    alert 告警信息,需要馬上修改的錯誤

    emerg(panic)    嚴重告警,內核級別錯誤,系統馬上崩潰

配置文件分為三部分,需嚴格安裝配置段位置添加配置

    #### MODULES #### 模塊配置

    #### GLOBAL DIRECTIVES #### 全局指令

    #### RULES #### 記錄規則

其中RULES 配置段:

     基本格式:facility.priority    target

        facility可選內容:

            前面所介紹的值

            * :表示通配所有facility

        priority可選內容:

            前面所介紹的值

            * :表示通配所有級別

            none :不記錄日志

        facility.priority 可用特別組合:

            1)f1,f2,f3.pri    代表f1-f3指定的級別為pri

            2)f1.pri1,f2.pri2,f3.pri3    代表分開指定級別pri

        target可選內容

               文件:將日志信息記錄到指定的文件中;文件路徑之前的“-”表示異步寫入之意;

               用戶:將日志事件通知給指定的用戶;一般指登錄到當前系統上的所有用戶的終端;

               日志服務器:@rsyslog_server,把日志信息發往指定的日志服務器;

               管道:|COMMAND

二、配置一臺rsyslog收集服務器,負責記錄其他主機日志

  服務端:修改配置文件啟用udp,tcp模塊

    

    #### modules ####

     …………

     # Provides UDP syslog reception

     $ModLoad imudp

     $UDPServerRun 514

    

     # Provides TCP syslog reception

     $ModLoad imtcp

     $InputTCPServerRun 514

    修改完成,重啟服務。

systemctl restart rsyslog

客戶端

    facility.priority    @server_ip

三、配置rsyslog記錄日志于mysql

首先準備好mysql數據庫服務

    (1) 安裝rsyslog連接至mysql server的驅動模塊;

     yum install rsyslog-mysql

    (2) 在mysql server準備rsyslog專用的用戶賬號;

    mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'%.cutemsyu' IDENTIFIED BY 'rsyslogpass';

    //數據庫名Syslog需固定,后面mysql語句會創建該庫。授權地址依照實際情況添加。

    (3) 生成所需要的數據庫和表;

mysql -ursyslog -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
#模塊自帶的sql語句

    (4) 配置rsyslog使用ommysql模塊

        #### MODULES ####

        ……

        $ModLoad ommysql 

    (5) 配置RULES,將所期望的日志信息記錄于mysql中;

facility.priority     :ommysql:DBHOST,DB,DBUSER,DBUSERPASS

//例如: *.info,authpriv.none    :ommysql:node-02.cutemsyu,Syslog,rsyslog,rsyslogpass

    (6) 重啟rsyslog服務;

四、結合loganalyzer頁面顯示

loganalyzer 用于顯示日志的web GUI頁面,php編寫。需要amp環境。

準備amp環境,mysql數據庫前面已經配置好

yum install httpd php php-mysql php-gd      #php-gd 為繪圖所用庫
tar xf loganalyzer-4.1.5.tar.gz        #解壓項目包
cd  loganalyzer-4.1.5
cp -a src    /var/www/html/log    #拷貝項目下src目錄至web server 目錄下
cd /var/www/html/log
touch config.php    #后續安裝所需的配置文件
chmod 666 config.php

現在打開瀏覽器,輸入http://web_server_ip/log  準備配置loganalyzer。

初次打開,如果配置正確,出現缺少配置文件的錯誤,屬于正常情況,點擊繼續配置

一路可按需修改,next

到下圖頁面,

source type:MYSQL Native

table type:Monitor Ware

database name 和table name 是固定的

圖像 002.png

配置完成后,安全起見把配置文件權限做嚴格一些

chmod 644 config.php

至此大功告成!blob.png

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

(0)
cutemsyucutemsyu
上一篇 2016-10-25
下一篇 2016-10-25

相關推薦

  • 運維架構之httpd

    Web Service 傳輸層:提供進程地址 Port number tcp:傳輸控制協議,面向連接,通信前需建立虛擬鏈路,結束后拆除;0-65535 udp:用戶數據報協議,無連接;0-65535 IANA 0-1023:眾所周知,永久分配給固定應用使用;22/tcp(ssh)、80/tcp(http)、443/tcp(https) 1024-41951:…

    系統運維 2018-06-04
  • 小型網站MYSQL問題二:Percona Xtrabackup實現數據庫備份和恢復

    故事背景:前面大膽的選擇了innodb,接下來就要考慮數據庫的備份和恢復。俗話說“常在河邊走,哪能不濕鞋“,自從接觸數據這塊,使我一直對它保持敬畏之心。在這里使用了percona公司的xtrabckup工具來實現數據庫備份和恢復。操作步驟記錄如下: 1、安裝軟件倉庫(不要問我為什么不用源碼安裝,好吧,其實我懶。) wget https://www.…

    數據庫運維 2015-12-19
  • Hadoop HDFS分布式文件系統設計要點與架構

    Hadoop簡介:一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有著高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件…

    Linux干貨 2015-04-13
  • RHEL6.4 yum訪問HTTPS源時出錯

    在RHEL6.4上安裝OpenStack時,使用epel的源,但源是https的,進行安裝時,總報下面的錯誤。     https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/repodata/repomd.xml:  …

    Linux干貨 2016-02-28
  • Hadoop實戰實例

     Hadoop 是Google MapReduce的一個Java實現。MapReduce是一種簡化的分布式編程模式,讓程序自動分布到一個由普通機器組成的超大集群上并發執行。就如同java程序員可以不考慮內存泄露一樣, MapReduce的run-time系統會解決輸入數據的分布細節,跨越機器集群的程序執行調度,處理機器…

    Linux干貨 2015-04-13
  • 推薦-Centos的網絡配置命令和文件

    一、ifcongfig     Centos6之前最常用的配置網絡命令就是ifconfig,使用ifconfig命令時最好切換到root用戶的身份     1、直接使用ifconfig可以查看當前配置的網絡設備的信息      &…

    Linux干貨 2016-03-27
欧美性久久久久