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 09:09
下一篇 2016-10-24 09:09

相關推薦

  • 懶人本地YUM源設置

    一、掛載本地光盤到根目錄下/media。 [root@wing-PC ~]# mount -v /dev/sr0 /media/ 二、用mv 修改/etc/yum.repos.d下面的文件。 [root@wing-PC ~]# mv -v /etc/yum.repos.d/CentOS-Base.repo / CentOS-Base.repo.bak [ro…

    系統運維 2017-08-05
  • 日志管理

    rsyslogd的相關介紹,journalctl的相關介紹和日志的轉儲

    2018-02-05
  • linux學習總結-linux基礎(之一)

    一、計算機的組成及其功能 馮諾依曼結構的計算機由運算器、控制器、存儲器和輸入設備、輸出設備五部分組成。馮諾依曼理論的要點是:數字計算機的數制采用二進制;計算機應該按照程序順序執行。 控制器:控制程序執行; 存儲器:記憶程序和數據; 輸入設備:輸入數據和程序; 輸出設備:輸出處理結果。 二、Linux發行版 Linux的發型版本眾多,大體可以分為兩類,一類是商…

    Linux干貨 2016-09-23
  • 文本處理

    1 、查出分區空間使用率的最大百分比值   2、查出用戶UID最大值的用戶名、UID及shell類型   3、查出/tmp的權限,以數字方式顯示   4、統計當前連接本機的每個遠程主機IP的連接數,并按從大到小排序 5、顯示/proc/meminfo文件中以大小s開頭的行;(要求:使用兩種方式) 6、顯示/etc/passwd文…

    Linux干貨 2016-08-08
  • 軟件管理

    ldd   /path/to/binary_file       查看二進制所依賴的庫文件 ldconfig  -p  查看已緩存的庫文件名和文件路徑 配置文件 :/etc/ld.so.conf,   /etc/ld.so.conf.d/*.conf 緩存文件:/etc/ld.so.cac…

    Linux干貨 2017-06-11
  • 馬哥教育網絡班22期第四周課程練習1

    1.cp -r /etc/skel/ /home/tuser1 && chmod -R 600  /home/tuser1 2.max=`cat /etc/group |awk -F":" '{print $3}'|sort -nr| head -n1`|sed -i '$a had…

    Linux干貨 2016-09-05
欧美性久久久久