php利用syslog做日誌備份或訊息傳送

2021-09-25 18:55:47 字數 2731 閱讀 3198

centos 6開始,日誌服務由syslogd變成了rsyslogd,在配置rsyslogd前需要了解下系統日誌的8個級別:

0 emerg(緊急):可能導致系統不可用的情況

1 alert(警報):必須馬上解決的問題

2 crit(嚴重錯誤):比較嚴重的情況

3 err(錯誤):執行出現錯誤

4 warning(警告):可能會影響系統功能的情況

5 notice(注意):普通提示資訊,不影響系統

6 info(普通資訊):一般資訊

7 debug(除錯):程式除錯用

一 客戶端配置

1、安裝rsyslog

1、安裝rsyslog

[root@localhost ~]

# rpm -qa | grep rsyslog

rsyslog-7.4.7-12.el7.x86_64

[root@localhost ~]

# yum install rsyslog

[root@localhost ~]

# vi /etc/rsyslog.conf

*.* @192.168.1.106:514

注:日誌預設使用udp協議,使用@@則使用tcp協議。

二 伺服器配置

伺服器端修改/etc/rsyslog.conf檔案以及/etc/sysconfig/rsyslog檔案。

1、修改/etc/rsyslog.conf

[root@localhost ~]

# vi /etc/rsyslog.conf

#provides udpsyslog reception

$modload imudp

$udpserverrun514

#### global directives ####

#從遠端客戶端接收的日誌寫入到以它們ip命名的單個資料夾中

$template iptemplate,"/var/log/%fromhost-ip%.log"

*.* ?iptemplate

& ~或者歸類的更加詳細

$actionfiledefaulttemplate rsyslog_traditionalfileformat

$template dynamicfile,"/var/log/gxmlogs/%$year%/%$month%/%$day%/%fromhost-ip%-test.log"

*.* ?dynamicfile

以開啟日誌服務監聽,輸入netstat –lunp可見rsyslog監聽於514埠(預設埠)

2、修改/etc/sysconfig/rsyslog

[root@localhost ~]

# vi /etc/sysconfig/rsyslog #檔案中,需修改

syslogd_options=

"-m240 -r"

其中-r表示接受外部日誌的寫入。

3、防火牆允許514埠,並重啟防火牆,關閉selinux

4、重啟日誌服務

[root@localhost ~]

# systemctl stop rsyslog.service #關閉日誌服務

[root@localhost ~]

# systemctl start rsyslog.service #開啟日誌服務

5、客戶端可以用logger測試測試:

使用logger命令傳送日誌進行測試,

[root@localhost ~]

# logger –p user.info 「teststr」

傳送日誌到本機,本機會進行**到日誌伺服器,在/var/log/messages中檢視傳送的日誌。

6、在客戶端/etc/bashrc結尾處加上以下內容,這樣系統執行的命令會記錄到/var/log/messages日誌中,便於測試

# vi /etc/bashrc

export prompt_command=')

;logger "[euid=$(

whoami

)]":$(

who am i)

:[`pwd

`]"$msg"; }'

# source /etc/bashrc

//param 1   為傳送日誌的標識

//param 2 log_pid 程序

//param 3 log_local4 配置檔案裡的日誌儲存模組名

openlog

("edr."

.$report_modle

,log_pid

|log_perror

,log_local4);

//param1 傳送的日誌級別

//param2 傳送的內容

syslog

(log_info

,"log message: "

.json_encode

($report_data))

;closelog()

;

可以調節傳送內容的大小

希望rsyslog能傳送到日誌伺服器的訊息長度超過預設的2k,可以設定$maxmessagesize

方法:在$modload imtcp前,設定:

$maxmessagesize 32k

此配置包括傳送和接收,所以rsyslog客戶端、服務端都要設定。

解析php如何將日誌寫進syslog

在做專案的時候們為了方便運維,我們經常需要將系統日誌寫入系統syslog,下邊我們就介紹一下,在linux下php對syslog的操作 在linux中配置syslog 在linux中,facility 裝置 有以下幾種 auth 普通安全 授權訊息 authpriv 私有安全 授權訊息 cron 定...

利用PHP擴充套件trie filter做敏感詞過濾

使用說明 1.安裝 libdatrie tar zxf libdatrie 0.2.4.tar.gz cd libdatrie 0.2.4 configure prefix usr local make make install 2.安裝 trie filter 擴充套件 tar zxf trie ...

利用PHP擴充套件trie filter做敏感詞過濾

早就想研究下敏感詞過濾問題,今天有些時間,正好實踐一下。1.安裝 libdatrie tar zxf libdatrie 0.2.4.tar.gz cd libdatrie 0.2.4 configure prefix usr local make make install 2.安裝 trie fi...