Linux syslog 系統日志管理

Linux系統上面,系統可以記錄從開機到當前系統上面何時發生了哪些事情,在centos 上表現為rsylog,由三部分組成

1)syslogd:主要記錄系統和網絡等服務的日志信息

2)klogd:主要記錄內核產生的各項信息

3)logretate:主要用來對日志文件進行切割循環記錄等

特點:

1)多線程工作

2)支持以TCP,UDP,SSL,TSL,RELP協議和加密完成遠程日志的記錄

3)支持在開源的關系型數據庫MYSQL,PGSQL等之上記錄日志信息

4)它還是一個強大的系統過濾器,可實現過濾系統信息的任意部分

5)使用與企業級別的日志記錄需求

6)自定義的輸出格式

rsyslog中的術語:

facility:

    是從功能或程序上對日志進行分類,并由專門的工具負責記錄相應的日志信息,同時在每一個facility上我們還要為其定義一個級別,叫做priority

    常用的facility有:

    

auth(authpriv) 與認證相關的信息
cron 周期性任務計劃cron、at等
daemon

與各個服務有關的信息

kern 內核產生的日志信息
lpr 與打印系統相關的信息
mail 與郵件系統相關的信息
news 與新聞相關的信息
security security與安全相關的信息
syslog syslogd程序自身產生的信息
user,uucp,local0-local7 系統本身產生的信息

priority:

    日志級別

等級 等級名稱 描述
1 info 僅僅是一些基本信息的說明
2 notice 比info更需要注意的一些說明
3 warning、warm 警告信息,但不至于影響應用程序的運行
4 err,error 一些重大的錯誤日志,已經影響了應用程序的運行
5 crit 比error還要重要的錯誤信息
6 alert 已經是有嚴重級別的錯誤信息了,比crit更嚴重
7 emerg,panic 要死機了,內核已出現了恐慌了
8 debug 調試信息,通常用于應用程序的調試過程
* 所有級別
none 沒有級別

rsyslog的配置文件

    /etc/rsyslog.conf,其規則為:

    facility.priority    target

    設施.級別            何處

target:日志信息發送的位置:

1、文件路徑,在文件路徑之前使用“-”,表示異步寫入

2、用戶,將日志信息通知指定用戶,*表示所有用戶

3、日志服務器地址 @SERVER,此時服務器必須要監聽在tvp或udp協議的514端口上提供服務

4、管道,可以通過管道命令送給某個命令進行處理 |COMMAND

日志文件記錄的格式:

時間產生的時間    主機    進程(PID)    事件

有些日志記錄二進制格式,例如:

1、成功登陸系統的日志:/var/log/wtmp

    查看命令:last 

2、失敗的登陸嘗試:/var/log/btmp

    查看命令:lastb

3、lastlog命令顯示當前同每個用戶各自最近一次的登錄信息

如果想讓本機成為日志服務器,打開rsyslog配置文件/etc/rsysog.conf中指定的模塊,讓其監聽在514端口上:

$ModLoad imudp

$UDPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

然后重啟服務

logrotate:循環切割日志

可以配合cron定期的對日志文件進行處理,只要通過/etc/cron.daily/logrotate程序來處理

    配置文件:

        /etc/logrotate.conf(主配置文件)

        /etc/logrotate.d/*

]# vi /etc/logrotate.conf 

    weekly  默認每周對登錄文件進行一次切割

    rotate 4  保留多少個登錄文件,默認是四個

    create    由于登錄文件被更名,因此創建一個新的來繼續記錄

    include /etc/logrotate.d    將這個目錄下的所有文件都讀過來。許多服務的主配置文件里都有這個

    /var/log/wtmp {

        monthly    每月一次

        create 0664 root utmp    指定新建文件的權限與所屬賬號/群組

     minsize 1M    文件容量超過1M后才切割

        rotate 1    僅保留一個,即僅有wtmp.1保留

    }

    /var/log/btmp {

        missingok 表示如果找不到log文件也 OK

        monthly

        create 0600 root utmp

        rotate 1

    }


實戰操作

rsyslog日志服務器+MySQL及管理工具的初級部署

環境要求:安裝有rsyslogMySQL、及管理工具(這里我們用loganalyzer-3.6.5

我的環境:centos 7

                    firewald.service 已關閉

                    selinux已禁用

1安裝程序包:

~]# yum -y install mariadb-server

MySQL配置

skip_name_resolve=ON

 

~]# yum -y install rsyslog  這個系統默認都安裝的呢

~]# yum -y install rsyslog-mysql  rsyslog連接MySQL的組件

loganalyzer-3.6.5.tar.gz 這個是一個管理日志的工具,如果沒有課自行到官網下載

2mysql server準備rsyslog專用的用戶賬號

GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';

GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY 'rsyslogpass';

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

mysql -ursyslog -h127.0.0.1 -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

后面的MySQL腳本是安裝rsyslog-mysql 生成的,可以用命令查看

rpm –ql rsyslog-mysql

4配置rsyslog使用ommysql模塊

~]# vi /etc/rsyslog.conf

#### MODULES ####下面添加一行

$ModLoad ommysql

5配置RULES,將你想要記錄的日志信息記錄于mysql

~]# vi /etc/rsyslog.conf

#### RULES #### 下面添加一行

 

*.*                             :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass

你想要記錄的信息類型                        模塊名             ip  數據庫名 用戶名  密碼

 

6配置lamp環境

安裝這些包:httpd php php-mysql php-gd

yum -y install httpd php php-mysql php-gd

7設置loganalyzer

~]# tar xf loganalyzer-3.6.5.tar.gz

解壓loganalyzer包,并將里面的src目錄復制到/var/www/html/loganalyzer-3.6.5

cp -a src/ /var/www/html/loganalyzer-3.6.5

]# ln -s loganalyzer-3.6.5 log 創建一個軟鏈接

]# cd log

]# touch config.php

]# chmod 666 config.php

]# systemctl start httpdhttpd啟動

8打開瀏覽器配置

http://10.1.253.4/log/

blob.png

點上面的here開始配置

第一步檢查依賴條件:默認

第二步檢查文件權限:默認

第三步基本配置選項:默認

第四步為管路工具添加一個源,也就是管理哪個日志

blob.png

blob.png

finish完成

9配置完成后將config.php文件的權限修改為644

chmod 644 config.php

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

(2)
cszdz123cszdz123
上一篇 2016-10-24
下一篇 2016-10-24

相關推薦

  • 計算機運維基礎知識 Linux版

    計算機系統由硬件系統和軟件系統組成 第一代計算機   電子管時代 第二代計算機   晶體管時代 第三代計算機   集成電路時代 第四代計算機   大規模集成電路時代 1964年,世界第一代計算機ENICA。用來計算彈道軌跡。 馮諾依曼  計算機之父 運算器,控制器,存儲器,輸入設備,輸出設備。 巨型計算機,大…

    Linux干貨 2016-08-04
  • iptables-防火,防盜,防老王

        防火墻,其實說白了將,就是用于實現linux下訪問控制的功能的,它分為兩種方式,硬件防火墻和軟件防火墻。不過無論是在哪個網絡中,防火墻工作的地方一定是在網絡的邊緣。而我們的任務就是需要去定義防火墻如何工作的,這就是防火墻的策略,規則,以達到讓它對出入網絡的IP,數據進行檢測。     目前市…

    Linux干貨 2017-05-02
  • 源碼包安裝Apache服務

    1、安裝development tools程序包組 安裝Apache服務器前需要解決依賴性問題,比如需要安裝GCC、GCC++、OPENSSL等等,因為是在虛擬機里做實驗,這里就通過直接安裝包組的方法解決依賴性問題。 (1)掛載安裝光盤,并安裝“Development tools”包組 [root@localhost ~]# mount&…

    Linux干貨 2016-08-24
  • N25期—第一周作業

    1、描述計算機的組成及其功能 計算機五大組成部件:運算器、控制器、存儲器、輸入設備和輸出設備。 運算器和控制器統稱中央處理器(CPU)。  存儲器分成內存儲器和外存儲器兩大類。  外存儲器、輸入設備和輸出設備統稱為外部設備。  中央處理器(CPU)  計算機的中央處理器又稱為CPU,它是計算機的核心部分。主要由運算器和…

    Linux干貨 2016-12-04
  • 文件相關操作練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限: 2、編輯/etc/group文件,添加組hadoop: 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop: 4、復制/etc/sk…

    2017-11-17
  • BIND(Berkeley Internet Name Domain) is an implementation of the DNS(Domain Name System) (Blob 12)

    正向解析區域、反向解析區域;主/從;子域;基本安全控制;

    2017-11-29
欧美性久久久久