Linux日志監(jiān)控制度_第1頁
Linux日志監(jiān)控制度_第2頁
Linux日志監(jiān)控制度_第3頁
Linux日志監(jiān)控制度_第4頁
Linux日志監(jiān)控制度_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Linux日志監(jiān)控制度一、概述

Linux日志監(jiān)控制度是企業(yè)或組織保障系統(tǒng)安全、性能監(jiān)控和故障排查的重要手段。通過建立規(guī)范的日志監(jiān)控制度,可以實現(xiàn)對系統(tǒng)日志的收集、分析、存儲和告警,從而及時發(fā)現(xiàn)并處理潛在問題。本制度旨在明確日志監(jiān)控的流程、工具、責任分配和操作規(guī)范,確保日志管理的有效性和安全性。

二、日志監(jiān)控目的

(一)系統(tǒng)安全監(jiān)控

1.識別異常登錄行為,如多次密碼錯誤、非工作時間登錄等。

2.監(jiān)控關鍵服務的訪問日志,防止未授權操作。

3.記錄安全事件,如防火墻攔截、入侵嘗試等。

(二)系統(tǒng)性能監(jiān)控

1.收集系統(tǒng)資源(CPU、內存、磁盤)的日志,用于性能分析。

2.監(jiān)控服務運行狀態(tài),如Web服務器、數(shù)據(jù)庫的連接和響應時間。

(三)故障排查支持

1.通過日志追溯系統(tǒng)崩潰或服務中斷的原因。

2.分析應用程序錯誤日志,定位問題根源。

三、日志收集與存儲

(一)日志來源

1.操作系統(tǒng)日志(如`/var/log/messages`、`/var/log/syslog`)。

2.應用程序日志(如Web服務器、數(shù)據(jù)庫日志)。

3.安全設備日志(如防火墻、入侵檢測系統(tǒng))。

(二)日志收集方法

1.中央日志服務器:使用`rsyslog`或`syslog-ng`將日志轉發(fā)到統(tǒng)一服務器。

-配置示例:

```bash

rsyslog配置

/etc/rsyslog.conf

.@0

```

2.文件傳輸:通過`scp`或`curl`定期備份本地日志。

(三)日志存儲規(guī)范

1.存儲周期:系統(tǒng)日志至少保留6個月,安全日志保留12個月。

2.存儲格式:推薦使用UTF-8或ASCII編碼,避免亂碼問題。

3.存儲方式:使用磁盤陣列或對象存儲,確保數(shù)據(jù)冗余。

四、日志分析與告警

(一)分析工具

1.日志聚合:使用`ELKStack`(Elasticsearch、Logstash、Kibana)或`Graylog`。

2.實時監(jiān)控:配置`tail-f`結合`grep`進行關鍵詞篩選。

(二)告警規(guī)則

1.高危事件:如root登錄、權限提升等,立即觸發(fā)告警。

2.性能閾值:如CPU使用率超過90%持續(xù)5分鐘,發(fā)送通知。

-告警方式:郵件、短信或釘釘?shù)燃磿r通訊工具。

(三)分析流程

1.關鍵詞監(jiān)控:設置`error`、`fail`、`timeout`等關鍵詞。

2.趨勢分析:定期生成日志統(tǒng)計報告(如每日活躍用戶、錯誤率)。

五、操作規(guī)范

(一)日志輪轉

1.使用`logrotate`自動管理日志文件大小。

-配置示例:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate7

compress

}

```

(二)權限管理

1.僅授權管理員訪問日志文件。

2.避免直接修改日志文件,通過配置文件調整。

(三)定期審計

1.每月檢查日志收集是否完整。

2.對告警規(guī)則進行有效性評估,優(yōu)化誤報率。

六、責任分配

(一)運維團隊

1.負責日志系統(tǒng)的配置和維護。

2.處理日志分析中的技術問題。

(二)安全團隊

1.制定安全日志監(jiān)控策略。

2.分析潛在威脅并生成報告。

(三)管理層

1.審批日志存儲周期和資源分配。

2.監(jiān)督制度執(zhí)行情況。

七、應急響應

(一)日志丟失

1.立即檢查備份和轉發(fā)配置。

2.補錄缺失日志并記錄原因。

(二)告警誤報

1.調整關鍵詞或閾值,降低誤報。

2.記錄誤報案例,優(yōu)化規(guī)則庫。

三、日志收集與存儲(續(xù))

(四)日志收集的高級方法

1.分布式日志收集:在集群環(huán)境中,使用`Fluentd`或`Beats`(Filebeat、Metricbeat)實現(xiàn)多節(jié)點日志的統(tǒng)一傳輸。

-配置步驟:

(1)在每臺節(jié)點安裝Beats,配置`output.logstash`或`output.elk`。

(2)Logstash配置示例(處理JSON日志):

```ruby

input{

beats{

port=>5044

}

}

filter{

if[message]and"error"in[message]{

grok{

match=>{"message"=>"%{COMBINEDAPACHELOG}"}

}

}

}

output{

elasticsearch{

hosts=>["0:9200"]

}

}

```

2.云環(huán)境日志收集:對于AWS、Azure等云平臺,利用云服務商的日志服務(如AWSCloudWatchLogs)。

-示例:通過`awslogs`插件將EC2實例日志發(fā)送至CloudWatch。

```bash

安裝awslogs

yuminstall-yawslogs

配置文件/etc/awslogs/config/ec2.conf

[general]

state_file=/var/awslogs/state/agent-state.txt

[[log_group]]

log_group_name=/my-app/logs

log_stream_name={instance_id}

```

(五)日志存儲的安全性

1.加密傳輸:配置`rsyslog`使用TLS加密日志轉發(fā)。

-生成CA證書和客戶端證書:

```bash

生成CA私鑰和證書

opensslgenrsa-outca.key4096

opensslreq-new-x509-days3650-keyca.key-outca.crt

生成客戶端證書

opensslgenrsa-outclient.key4096

opensslreq-new-keyclient.key-outclient.csr

opensslx509-req-days3650-inclient.csr-CAca.crt-CAkeyca.key-set_serial01-outclient.crt

```

2.訪問控制:限制對日志存儲賬戶的權限,僅允許`root`或特定運維用戶操作。

-SELinux配置示例:

```bash

開啟SELinux日志審計

setenforce1

設置日志目錄權限

chcon-thttpd_sys_content_t/var/log/myapp/

```

(六)日志保留策略的細化

1.按日志類型分類:

-系統(tǒng)日志:保留12個月。

-應用日志:根據(jù)業(yè)務需求(如交易日志保留3年)。

-安全日志:因合規(guī)要求,保留5年。

2.自動刪除腳本:編寫`cron`任務定期清理過期日志。

-示例腳本:

```bash

/usr/local/bin/cleanup_logs.sh

清理系統(tǒng)日志

find/var/log-name".log"-mtime+90-execrm{}\;

清理應用日志

find/var/log/myapp-name".log"-mtime+365-execrm{}\;

```

四、日志分析與告警(續(xù))

(七)日志分析的自動化工具

1.Kibana儀表盤:創(chuàng)建自定義儀表盤監(jiān)控關鍵指標。

-示例:展示過去1小時內`error`日志占比趨勢。

2.Prometheus+Grafana:結合時序數(shù)據(jù)(如CPU使用率)進行聯(lián)合分析。

-配置Prometheus抓取日志指標:

```yaml

-job_name:'logs'

static_configs:

-targets:['localhost:9100']

scrape_interval:5m

```

(八)告警規(guī)則的優(yōu)化

1.抑制重復告警:通過`state_file`記錄已處理事件。

-Logstash配置:

```ruby

filter{

if[message]and"diskfull"in[message]{

mutate{

add_tag=>["alert:disk_full","processed"]

}

}

}

```

2.分級告警:根據(jù)嚴重程度(Info、Warning、Critical)設置不同通知渠道。

-告警分級示例:

|級別|閾值|通知方式|

|------------|--------------------------------------------|------------------|

|Warning|CPU>85%持續(xù)10分鐘|釘釘@全體成員|

|Critical|磁盤使用率>95%或服務宕機|郵件+短信|

(九)日志分析的深度應用

1.用戶行為分析:通過Web日志分析用戶訪問路徑(如跳出率高的頁面)。

-使用`grep`+`awk`提取路徑:

```bash

awk'{print$7}'access.log|sort|uniq-c|sort-nr|head-10

```

2.異常檢測:利用機器學習模型(如`scikit-learn`)識別異常日志模式。

-示例:檢測登錄失敗次數(shù)突增。

```python

偽代碼示例

fromsklearn.ensembleimportIsolationForest

data=pd.read_csv("failed_logins.csv")

model=IsolationForest(contamination=0.01)

anomalies=model.fit_predict(data[["count"]])

```

五、操作規(guī)范(續(xù))

(十)日志完整性校驗

1.每日校驗:通過腳本對比源日志和目標日志文件差異。

-示例腳本:

```bash

/usr/local/bin/verify_logs.sh

diff<(zcat/var/log/syslog.gz)<(zcat/backup/syslog.gz)

```

2.校驗記錄:將校驗結果存入`/var/log/log_integrity_check.log`。

(十一)日志篡改防護

1.數(shù)字簽名:使用GPG對關鍵日志文件簽名。

-簽名命令:

```bash

生成密鑰對

gpg--gen-key

簽名日志

gpg--detach-sig/var/log/messages

```

2.文件完整性監(jiān)控:部署`AIDE`(AdvancedIntrusionDetectionEnvironment)監(jiān)控日志文件變更。

-配置AIDE:

```bash

/etc/aide.conf

/var/log/messages/var/log/secure-

```

(十二)操作手冊的標準化

1.模板化配置文件:為`rsyslog`、`logrotate`創(chuàng)建標準模板。

-示例模板:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate14

compress

missingok

notifempty

}

```

2.知識庫文檔:維護`Confluence`頁面記錄常見日志問題解決方案。

六、責任分配(續(xù))

(十三)跨部門協(xié)作流程

1.告警響應SLA:

|告警類型|響應時間|責任人|

|----------------|--------------|----------------|

|Critical|5分鐘內響應|運維團隊|

|Warning|30分鐘內響應|應用團隊|

2.日志審計委員會:

-每季度召開會議,評估日志策略有效性。

-成員:運維經理、安全經理、合規(guī)專員。

七、應急響應(續(xù))

(十四)日志丟失的溯源

1.檢查日志鏈路:

-步驟:

(1)確認日志是否被`logrotate`刪除。

(2)檢查`rsyslog`轉發(fā)狀態(tài)(`journalctl-ursyslog`)。

(3)查看備份日志是否可用(`zgrep"error"/backup/.gz`)。

2.記錄分析結果:

-將缺失原因(如配置錯誤、磁盤空間不足)記錄至`/var/log/log_recovery.log`。

(十五)告警誤報的根因分析

1.統(tǒng)計誤報數(shù)據(jù):

-使用Kibana按告警類型統(tǒng)計誤報次數(shù)。

2.優(yōu)化方案:

-示例:將"HTTP404"誤報修改為僅匹配"500InternalServerError"。

(十六)應急預案演練

1.年度演練計劃:

-模擬場景:日志服務器宕機時的切換流程。

2.演練記錄表:

|階段|關鍵指標|實際耗時|預期耗時|

|------------|----------------|------------|------------|

|切換準備|權限獲取|5分鐘|10分鐘|

|數(shù)據(jù)同步|日志延遲|2分鐘|5分鐘|

一、概述

Linux日志監(jiān)控制度是企業(yè)或組織保障系統(tǒng)安全、性能監(jiān)控和故障排查的重要手段。通過建立規(guī)范的日志監(jiān)控制度,可以實現(xiàn)對系統(tǒng)日志的收集、分析、存儲和告警,從而及時發(fā)現(xiàn)并處理潛在問題。本制度旨在明確日志監(jiān)控的流程、工具、責任分配和操作規(guī)范,確保日志管理的有效性和安全性。

二、日志監(jiān)控目的

(一)系統(tǒng)安全監(jiān)控

1.識別異常登錄行為,如多次密碼錯誤、非工作時間登錄等。

2.監(jiān)控關鍵服務的訪問日志,防止未授權操作。

3.記錄安全事件,如防火墻攔截、入侵嘗試等。

(二)系統(tǒng)性能監(jiān)控

1.收集系統(tǒng)資源(CPU、內存、磁盤)的日志,用于性能分析。

2.監(jiān)控服務運行狀態(tài),如Web服務器、數(shù)據(jù)庫的連接和響應時間。

(三)故障排查支持

1.通過日志追溯系統(tǒng)崩潰或服務中斷的原因。

2.分析應用程序錯誤日志,定位問題根源。

三、日志收集與存儲

(一)日志來源

1.操作系統(tǒng)日志(如`/var/log/messages`、`/var/log/syslog`)。

2.應用程序日志(如Web服務器、數(shù)據(jù)庫日志)。

3.安全設備日志(如防火墻、入侵檢測系統(tǒng))。

(二)日志收集方法

1.中央日志服務器:使用`rsyslog`或`syslog-ng`將日志轉發(fā)到統(tǒng)一服務器。

-配置示例:

```bash

rsyslog配置

/etc/rsyslog.conf

.@0

```

2.文件傳輸:通過`scp`或`curl`定期備份本地日志。

(三)日志存儲規(guī)范

1.存儲周期:系統(tǒng)日志至少保留6個月,安全日志保留12個月。

2.存儲格式:推薦使用UTF-8或ASCII編碼,避免亂碼問題。

3.存儲方式:使用磁盤陣列或對象存儲,確保數(shù)據(jù)冗余。

四、日志分析與告警

(一)分析工具

1.日志聚合:使用`ELKStack`(Elasticsearch、Logstash、Kibana)或`Graylog`。

2.實時監(jiān)控:配置`tail-f`結合`grep`進行關鍵詞篩選。

(二)告警規(guī)則

1.高危事件:如root登錄、權限提升等,立即觸發(fā)告警。

2.性能閾值:如CPU使用率超過90%持續(xù)5分鐘,發(fā)送通知。

-告警方式:郵件、短信或釘釘?shù)燃磿r通訊工具。

(三)分析流程

1.關鍵詞監(jiān)控:設置`error`、`fail`、`timeout`等關鍵詞。

2.趨勢分析:定期生成日志統(tǒng)計報告(如每日活躍用戶、錯誤率)。

五、操作規(guī)范

(一)日志輪轉

1.使用`logrotate`自動管理日志文件大小。

-配置示例:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate7

compress

}

```

(二)權限管理

1.僅授權管理員訪問日志文件。

2.避免直接修改日志文件,通過配置文件調整。

(三)定期審計

1.每月檢查日志收集是否完整。

2.對告警規(guī)則進行有效性評估,優(yōu)化誤報率。

六、責任分配

(一)運維團隊

1.負責日志系統(tǒng)的配置和維護。

2.處理日志分析中的技術問題。

(二)安全團隊

1.制定安全日志監(jiān)控策略。

2.分析潛在威脅并生成報告。

(三)管理層

1.審批日志存儲周期和資源分配。

2.監(jiān)督制度執(zhí)行情況。

七、應急響應

(一)日志丟失

1.立即檢查備份和轉發(fā)配置。

2.補錄缺失日志并記錄原因。

(二)告警誤報

1.調整關鍵詞或閾值,降低誤報。

2.記錄誤報案例,優(yōu)化規(guī)則庫。

三、日志收集與存儲(續(xù))

(四)日志收集的高級方法

1.分布式日志收集:在集群環(huán)境中,使用`Fluentd`或`Beats`(Filebeat、Metricbeat)實現(xiàn)多節(jié)點日志的統(tǒng)一傳輸。

-配置步驟:

(1)在每臺節(jié)點安裝Beats,配置`output.logstash`或`output.elk`。

(2)Logstash配置示例(處理JSON日志):

```ruby

input{

beats{

port=>5044

}

}

filter{

if[message]and"error"in[message]{

grok{

match=>{"message"=>"%{COMBINEDAPACHELOG}"}

}

}

}

output{

elasticsearch{

hosts=>["0:9200"]

}

}

```

2.云環(huán)境日志收集:對于AWS、Azure等云平臺,利用云服務商的日志服務(如AWSCloudWatchLogs)。

-示例:通過`awslogs`插件將EC2實例日志發(fā)送至CloudWatch。

```bash

安裝awslogs

yuminstall-yawslogs

配置文件/etc/awslogs/config/ec2.conf

[general]

state_file=/var/awslogs/state/agent-state.txt

[[log_group]]

log_group_name=/my-app/logs

log_stream_name={instance_id}

```

(五)日志存儲的安全性

1.加密傳輸:配置`rsyslog`使用TLS加密日志轉發(fā)。

-生成CA證書和客戶端證書:

```bash

生成CA私鑰和證書

opensslgenrsa-outca.key4096

opensslreq-new-x509-days3650-keyca.key-outca.crt

生成客戶端證書

opensslgenrsa-outclient.key4096

opensslreq-new-keyclient.key-outclient.csr

opensslx509-req-days3650-inclient.csr-CAca.crt-CAkeyca.key-set_serial01-outclient.crt

```

2.訪問控制:限制對日志存儲賬戶的權限,僅允許`root`或特定運維用戶操作。

-SELinux配置示例:

```bash

開啟SELinux日志審計

setenforce1

設置日志目錄權限

chcon-thttpd_sys_content_t/var/log/myapp/

```

(六)日志保留策略的細化

1.按日志類型分類:

-系統(tǒng)日志:保留12個月。

-應用日志:根據(jù)業(yè)務需求(如交易日志保留3年)。

-安全日志:因合規(guī)要求,保留5年。

2.自動刪除腳本:編寫`cron`任務定期清理過期日志。

-示例腳本:

```bash

/usr/local/bin/cleanup_logs.sh

清理系統(tǒng)日志

find/var/log-name".log"-mtime+90-execrm{}\;

清理應用日志

find/var/log/myapp-name".log"-mtime+365-execrm{}\;

```

四、日志分析與告警(續(xù))

(七)日志分析的自動化工具

1.Kibana儀表盤:創(chuàng)建自定義儀表盤監(jiān)控關鍵指標。

-示例:展示過去1小時內`error`日志占比趨勢。

2.Prometheus+Grafana:結合時序數(shù)據(jù)(如CPU使用率)進行聯(lián)合分析。

-配置Prometheus抓取日志指標:

```yaml

-job_name:'logs'

static_configs:

-targets:['localhost:9100']

scrape_interval:5m

```

(八)告警規(guī)則的優(yōu)化

1.抑制重復告警:通過`state_file`記錄已處理事件。

-Logstash配置:

```ruby

filter{

if[message]and"diskfull"in[message]{

mutate{

add_tag=>["alert:disk_full","processed"]

}

}

}

```

2.分級告警:根據(jù)嚴重程度(Info、Warning、Critical)設置不同通知渠道。

-告警分級示例:

|級別|閾值|通知方式|

|------------|--------------------------------------------|------------------|

|Warning|CPU>85%持續(xù)10分鐘|釘釘@全體成員|

|Critical|磁盤使用率>95%或服務宕機|郵件+短信|

(九)日志分析的深度應用

1.用戶行為分析:通過Web日志分析用戶訪問路徑(如跳出率高的頁面)。

-使用`grep`+`awk`提取路徑:

```bash

awk'{print$7}'access.log|sort|uniq-c|sort-nr|head-10

```

2.異常檢測:利用機器學習模型(如`scikit-learn`)識別異常日志模式。

-示例:檢測登錄失敗次數(shù)突增。

```python

偽代碼示例

fromsklearn.ensembleimportIsolationForest

data=pd.read_csv("failed_logins.csv")

model=IsolationForest(contamination=0.01)

anomalies=model.fit_predict(data[["count"]])

```

五、操作規(guī)范(續(xù))

(十)日志完整性校驗

1.每日校驗:通過腳本對比源日志和目標日志文件差異。

-示例腳本:

```bash

/usr/local/bin/verify_logs.sh

diff<(zcat/var/log/syslog.gz)<(zcat/backup/syslog.gz)

```

2.校驗記錄:將校驗結果存入`/var/log/log_integrity_check.log`。

(十一)日志篡改防護

1.數(shù)字簽名:使用GPG對關鍵日志文件簽名。

-簽名命令:

```bash

生成密鑰對

gpg--gen-key

簽名日志

gpg--detach-sig/var/log/messages

```

2.文件完整性監(jiān)控:部署`AIDE`(AdvancedIntrusionDetectionEnvironment)監(jiān)控日志文件變更。

-配置AIDE:

```bash

/etc/aide.conf

/var/log/messages/var/log/secure-

```

(十二)操作手冊的標準化

1.模板化配置文件:為`rsyslog`、`logrotate`創(chuàng)建標準模板。

-示例模板:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate14

compress

missingok

notifempty

}

```

2.知識庫文檔:維護`Confluence`頁面記錄常見日志問題解決方案。

六、責任分配(續(xù))

(十三)跨部門協(xié)作流程

1.告警響應SLA:

|告警類型|響應時間|責任人|

|----------------|--------------|----------------|

|Critical|5分鐘內響應|運維團隊|

|Warning|30分鐘內響應|應用團隊|

2.日志審計委員會:

-每季度召開會議,評估日志策略有效性。

-成員:運維經理、安全經理、合規(guī)專員。

七、應急響應(續(xù))

(十四)日志丟失的溯源

1.檢查日志鏈路:

-步驟:

(1)確認日志是否被`logrotate`刪除。

(2)檢查`rsyslog`轉發(fā)狀態(tài)(`journalctl-ursyslog`)。

(3)查看備份日志是否可用(`zgrep"error"/backup/.gz`)。

2.記錄分析結果:

-將缺失原因(如配置錯誤、磁盤空間不足)記錄至`/var/log/log_recovery.log`。

(十五)告警誤報的根因分析

1.統(tǒng)計誤報數(shù)據(jù):

-使用Kibana按告警類型統(tǒng)計誤報次數(shù)。

2.優(yōu)化方案:

-示例:將"HTTP404"誤報修改為僅匹配"500InternalServerError"。

(十六)應急預案演練

1.年度演練計劃:

-模擬場景:日志服務器宕機時的切換流程。

2.演練記錄表:

|階段|關鍵指標|實際耗時|預期耗時|

|------------|----------------|------------|------------|

|切換準備|權限獲取|5分鐘|10分鐘|

|數(shù)據(jù)同步|日志延遲|2分鐘|5分鐘|

一、概述

Linux日志監(jiān)控制度是企業(yè)或組織保障系統(tǒng)安全、性能監(jiān)控和故障排查的重要手段。通過建立規(guī)范的日志監(jiān)控制度,可以實現(xiàn)對系統(tǒng)日志的收集、分析、存儲和告警,從而及時發(fā)現(xiàn)并處理潛在問題。本制度旨在明確日志監(jiān)控的流程、工具、責任分配和操作規(guī)范,確保日志管理的有效性和安全性。

二、日志監(jiān)控目的

(一)系統(tǒng)安全監(jiān)控

1.識別異常登錄行為,如多次密碼錯誤、非工作時間登錄等。

2.監(jiān)控關鍵服務的訪問日志,防止未授權操作。

3.記錄安全事件,如防火墻攔截、入侵嘗試等。

(二)系統(tǒng)性能監(jiān)控

1.收集系統(tǒng)資源(CPU、內存、磁盤)的日志,用于性能分析。

2.監(jiān)控服務運行狀態(tài),如Web服務器、數(shù)據(jù)庫的連接和響應時間。

(三)故障排查支持

1.通過日志追溯系統(tǒng)崩潰或服務中斷的原因。

2.分析應用程序錯誤日志,定位問題根源。

三、日志收集與存儲

(一)日志來源

1.操作系統(tǒng)日志(如`/var/log/messages`、`/var/log/syslog`)。

2.應用程序日志(如Web服務器、數(shù)據(jù)庫日志)。

3.安全設備日志(如防火墻、入侵檢測系統(tǒng))。

(二)日志收集方法

1.中央日志服務器:使用`rsyslog`或`syslog-ng`將日志轉發(fā)到統(tǒng)一服務器。

-配置示例:

```bash

rsyslog配置

/etc/rsyslog.conf

.@0

```

2.文件傳輸:通過`scp`或`curl`定期備份本地日志。

(三)日志存儲規(guī)范

1.存儲周期:系統(tǒng)日志至少保留6個月,安全日志保留12個月。

2.存儲格式:推薦使用UTF-8或ASCII編碼,避免亂碼問題。

3.存儲方式:使用磁盤陣列或對象存儲,確保數(shù)據(jù)冗余。

四、日志分析與告警

(一)分析工具

1.日志聚合:使用`ELKStack`(Elasticsearch、Logstash、Kibana)或`Graylog`。

2.實時監(jiān)控:配置`tail-f`結合`grep`進行關鍵詞篩選。

(二)告警規(guī)則

1.高危事件:如root登錄、權限提升等,立即觸發(fā)告警。

2.性能閾值:如CPU使用率超過90%持續(xù)5分鐘,發(fā)送通知。

-告警方式:郵件、短信或釘釘?shù)燃磿r通訊工具。

(三)分析流程

1.關鍵詞監(jiān)控:設置`error`、`fail`、`timeout`等關鍵詞。

2.趨勢分析:定期生成日志統(tǒng)計報告(如每日活躍用戶、錯誤率)。

五、操作規(guī)范

(一)日志輪轉

1.使用`logrotate`自動管理日志文件大小。

-配置示例:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate7

compress

}

```

(二)權限管理

1.僅授權管理員訪問日志文件。

2.避免直接修改日志文件,通過配置文件調整。

(三)定期審計

1.每月檢查日志收集是否完整。

2.對告警規(guī)則進行有效性評估,優(yōu)化誤報率。

六、責任分配

(一)運維團隊

1.負責日志系統(tǒng)的配置和維護。

2.處理日志分析中的技術問題。

(二)安全團隊

1.制定安全日志監(jiān)控策略。

2.分析潛在威脅并生成報告。

(三)管理層

1.審批日志存儲周期和資源分配。

2.監(jiān)督制度執(zhí)行情況。

七、應急響應

(一)日志丟失

1.立即檢查備份和轉發(fā)配置。

2.補錄缺失日志并記錄原因。

(二)告警誤報

1.調整關鍵詞或閾值,降低誤報。

2.記錄誤報案例,優(yōu)化規(guī)則庫。

三、日志收集與存儲(續(xù))

(四)日志收集的高級方法

1.分布式日志收集:在集群環(huán)境中,使用`Fluentd`或`Beats`(Filebeat、Metricbeat)實現(xiàn)多節(jié)點日志的統(tǒng)一傳輸。

-配置步驟:

(1)在每臺節(jié)點安裝Beats,配置`output.logstash`或`output.elk`。

(2)Logstash配置示例(處理JSON日志):

```ruby

input{

beats{

port=>5044

}

}

filter{

if[message]and"error"in[message]{

grok{

match=>{"message"=>"%{COMBINEDAPACHELOG}"}

}

}

}

output{

elasticsearch{

hosts=>["0:9200"]

}

}

```

2.云環(huán)境日志收集:對于AWS、Azure等云平臺,利用云服務商的日志服務(如AWSCloudWatchLogs)。

-示例:通過`awslogs`插件將EC2實例日志發(fā)送至CloudWatch。

```bash

安裝awslogs

yuminstall-yawslogs

配置文件/etc/awslogs/config/ec2.conf

[general]

state_file=/var/awslogs/state/agent-state.txt

[[log_group]]

log_group_name=/my-app/logs

log_stream_name={instance_id}

```

(五)日志存儲的安全性

1.加密傳輸:配置`rsyslog`使用TLS加密日志轉發(fā)。

-生成CA證書和客戶端證書:

```bash

生成CA私鑰和證書

opensslgenrsa-outca.key4096

opensslreq-new-x509-days3650-keyca.key-outca.crt

生成客戶端證書

opensslgenrsa-outclient.key4096

opensslreq-new-keyclient.key-outclient.csr

opensslx509-req-days3650-inclient.csr-CAca.crt-CAkeyca.key-set_serial01-outclient.crt

```

2.訪問控制:限制對日志存儲賬戶的權限,僅允許`root`或特定運維用戶操作。

-SELinux配置示例:

```bash

開啟SELinux日志審計

setenforce1

設置日志目錄權限

chcon-thttpd_sys_content_t/var/log/myapp/

```

(六)日志保留策略的細化

1.按日志類型分類:

-系統(tǒng)日志:保留12個月。

-應用日志:根據(jù)業(yè)務需求(如交易日志保留3年)。

-安全日志:因合規(guī)要求,保留5年。

2.自動刪除腳本:編寫`cron`任務定期清理過期日志。

-示例腳本:

```bash

/usr/local/bin/cleanup_logs.sh

清理系統(tǒng)日志

find/var/log-name".log"-mtime+90-execrm{}\;

清理應用日志

find/var/log/myapp-name".log"-mtime+365-execrm{}\;

```

四、日志分析與告警(續(xù))

(七)日志分析的自動化工具

1.Kibana儀表盤:創(chuàng)建自定義儀表盤監(jiān)控關鍵指標。

-示例:展示過去1小時內`error`日志占比趨勢。

2.Prometheus+Grafana:結合時序數(shù)據(jù)(如CPU使用率)進行聯(lián)合分析。

-配置Prometheus抓取日志指標:

```yaml

-job_name:'logs'

static_configs:

-targets:['localhost:9100']

scrape_interval:5m

```

(八)告警規(guī)則的優(yōu)化

1.抑制重復告警:通過`state_file`記錄已處理事件。

-Logstash配置:

```ruby

filter{

if[message]and"diskfull"in[message]{

mutate{

add_tag=>["alert:disk_full","processed"]

}

}

}

```

2.分級告警:根據(jù)嚴重程度(Info、Warning、Critical)設置不同通知渠道。

-告警分級示例:

|級別|閾值|通知方式|

|------------|--------------------------------------------|------------------|

|Warning|CPU>85%持續(xù)10分鐘|釘釘@全體成員|

|Critical|磁盤使用率>95%或服務宕機|郵件+短信|

(九)日志分析的深度應用

1.用戶行為分析:通過Web日志分析用戶訪問路徑(如跳出率高的頁面)。

-使用`grep`+`awk`提取路徑:

```bash

awk'{print$7}'access.log|sort|uniq-c|sort-nr|head-10

```

2.異常檢測:利用機器學習模型(如`scikit-learn`)識別異常日志模式。

-示例:檢測登錄失敗次數(shù)突增。

```python

偽代碼示例

fromsklearn.ensembleimportIsolationForest

data=pd.read_csv("failed_logins.csv")

model=IsolationForest(contamination=0.01)

anomalies=model.fit_predict(data[["count"]])

```

五、操作規(guī)范(續(xù))

(十)日志完整性校驗

1.每日校驗:通過腳本對比源日志和目標日志文件差異。

-示例腳本:

```bash

/usr/local/bin/verify_logs.sh

diff<(zcat/var/log/syslog.gz)<(zcat/backup/syslog.gz)

```

2.校驗記錄:將校驗結果存入`/var/log/log_integrity_check.log`。

(十一)日志篡改防護

1.數(shù)字簽名:使用GPG對關鍵日志文件簽名。

-簽名命令:

```bash

生成密鑰對

gpg--gen-key

簽名日志

gpg--detach-sig/var/log/messages

```

2.文件完整性監(jiān)控:部署`AIDE`(AdvancedIntrusionDetectionEnvironment)監(jiān)控日志文件變更。

-配置AIDE:

```bash

/etc/aide.conf

/var/log/messages/var/log/secure-

```

(十二)操作手冊的標準化

1.模板化配置文件:為`rsyslog`、`logrotate`創(chuàng)建標準模板。

-示例模板:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate14

compress

missingok

notifempty

}

```

2.知識庫文檔:維護`Confluence`頁面記錄常見日志問題解決方案。

六、責任分配(續(xù))

(十三)跨部門協(xié)作流程

1.告警響應SLA:

|告警類型|響應時間|責任人|

|----------------|--------------|----------------|

|Critical|5分鐘內響應|運維團隊|

|Warning|30分鐘內響應|應用團隊|

2.日志審計委員會:

-每季度召開會議,評估日志策略有效性。

-成員:運維經理、安全經理、合規(guī)專員。

七、應急響應(續(xù))

(十四)日志丟失的溯源

1.檢查日志鏈路:

-步驟:

(1)確認日志是否被`logrotate`刪除。

(2)檢查`rsyslog`轉發(fā)狀態(tài)(`journalctl-ursyslog`)。

(3)查看備份日志是否可用(`zgrep"error"/backup/.gz`)。

2.記錄分析結果:

-將缺失原因(如配置錯誤、磁盤空間不足)記錄至`/var/log/log_recovery.log`。

(十五)告警誤報的根因分析

1.統(tǒng)計誤報數(shù)據(jù):

-使用Kibana按告警類型統(tǒng)計誤報次數(shù)。

2.優(yōu)化方案:

-示例:將"HTTP404"誤報修改為僅匹配"500InternalServerError"。

(十六)應急預案演練

1.年度演練計劃:

-模擬場景:日志服務器宕機時的切換流程。

2.演練記錄表:

|階段|關鍵指標|實際耗時|預期耗時|

|------------|----------------|------------|------------|

|切換準備|權限獲取|5分鐘|10分鐘|

|數(shù)據(jù)同步|日志延遲|2分鐘|5分鐘|

一、概述

Linux日志監(jiān)控制度是企業(yè)或組織保障系統(tǒng)安全、性能監(jiān)控和故障排查的重要手段。通過建立規(guī)范的日志監(jiān)控制度,可以實現(xiàn)對系統(tǒng)日志的收集、分析、存儲和告警,從而及時發(fā)現(xiàn)并處理潛在問題。本制度旨在明確日志監(jiān)控的流程、工具、責任分配和操作規(guī)范,確保日志管理的有效性和安全性。

二、日志監(jiān)控目的

(一)系統(tǒng)安全監(jiān)控

1.識別異常登錄行為,如多次密碼錯誤、非工作時間登錄等。

2.監(jiān)控關鍵服務的訪問日志,防止未授權操作。

3.記錄安全事件,如防火墻攔截、入侵嘗試等。

(二)系統(tǒng)性能監(jiān)控

1.收集系統(tǒng)資源(CPU、內存、磁盤)的日志,用于性能分析。

2.監(jiān)控服務運行狀態(tài),如Web服務器、數(shù)據(jù)庫的連接和響應時間。

(三)故障排查支持

1.通過日志追溯系統(tǒng)崩潰或服務中斷的原因。

2.分析應用程序錯誤日志,定位問題根源。

三、日志收集與存儲

(一)日志來源

1.操作系統(tǒng)日志(如`/var/log/messages`、`/var/log/syslog`)。

2.應用程序日志(如Web服務器、數(shù)據(jù)庫日志)。

3.安全設備日志(如防火墻、入侵檢測系統(tǒng))。

(二)日志收集方法

1.中央日志服務器:使用`rsyslog`或`syslog-ng`將日志轉發(fā)到統(tǒng)一服務器。

-配置示例:

```bash

rsyslog配置

/etc/rsyslog.conf

.@0

```

2.文件傳輸:通過`scp`或`curl`定期備份本地日志。

(三)日志存儲規(guī)范

1.存儲周期:系統(tǒng)日志至少保留6個月,安全日志保留12個月。

2.存儲格式:推薦使用UTF-8或ASCII編碼,避免亂碼問題。

3.存儲方式:使用磁盤陣列或對象存儲,確保數(shù)據(jù)冗余。

四、日志分析與告警

(一)分析工具

1.日志聚合:使用`ELKStack`(Elasticsearch、Logstash、Kibana)或`Graylog`。

2.實時監(jiān)控:配置`tail-f`結合`grep`進行關鍵詞篩選。

(二)告警規(guī)則

1.高危事件:如root登錄、權限提升等,立即觸發(fā)告警。

2.性能閾值:如CPU使用率超過90%持續(xù)5分鐘,發(fā)送通知。

-告警方式:郵件、短信或釘釘?shù)燃磿r通訊工具。

(三)分析流程

1.關鍵詞監(jiān)控:設置`error`、`fail`、`timeout`等關鍵詞。

2.趨勢分析:定期生成日志統(tǒng)計報告(如每日活躍用戶、錯誤率)。

五、操作規(guī)范

(一)日志輪轉

1.使用`logrotate`自動管理日志文件大小。

-配置示例:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate7

compress

}

```

(二)權限管理

1.僅授權管理員訪問日志文件。

2.避免直接修改日志文件,通過配置文件調整。

(三)定期審計

1.每月檢查日志收集是否完整。

2.對告警規(guī)則進行有效性評估,優(yōu)化誤報率。

六、責任分配

(一)運維團隊

1.負責日志系統(tǒng)的配置和維護。

2.處理日志分析中的技術問題。

(二)安全團隊

1.制定安全日志監(jiān)控策略。

2.分析潛在威脅并生成報告。

(三)管理層

1.審批日志存儲周期和資源分配。

2.監(jiān)督制度執(zhí)行情況。

七、應急響應

(一)日志丟失

1.立即檢查備份和轉發(fā)配置。

2.補錄缺失日志并記錄原因。

(二)告警誤報

1.調整關鍵詞或閾值,降低誤報。

2.記錄誤報案例,優(yōu)化規(guī)則庫。

三、日志收集與存儲(續(xù))

(四)日志收集的高級方法

1.分布式日志收集:在集群環(huán)境中,使用`Fluentd`或`Beats`(Filebeat、Metricbeat)實現(xiàn)多節(jié)點日志的統(tǒng)一傳輸。

-配置步驟:

(1)在每臺節(jié)點安裝Beats,配置`output.logstash`或`output.elk`。

(2)Logstash配置示例(處理JSON日志):

```ruby

input{

beats{

port=>5044

}

}

filter{

if[message]and"error"in[message]{

grok{

match=>{"message"=>"%{COMBINEDAPACHELOG}"}

}

}

}

output{

elasticsearch{

hosts=>["0:9200"]

}

}

```

2.云環(huán)境日志收集:對于AWS、Azure等云平臺,利用云服務商的日志服務(如AWSCloudWatchLogs)。

-示例:通過`awslogs`插件將EC2實例日志發(fā)送至CloudWatch。

```bash

安裝awslogs

yuminstall-yawslogs

配置文件/etc/awslogs/config/ec2.conf

[general]

state_file=/var/awslogs/state/agent-state.txt

[[log_group]]

log_group_name=/my-app/logs

log_stream_name={instance_id}

```

(五)日志存儲的安全性

1.加密傳輸:配置`rsyslog`使用TLS加密日志轉發(fā)。

-生成CA證書和客戶端證書:

```bash

生成CA私鑰和證書

opensslgenrsa-outca.key4096

opensslreq-new-x509-days3650-keyca.key-outca.crt

生成客戶端證書

opensslgenrsa-outclient.key4096

opensslreq-new-keyclient.key-outclient.csr

opensslx509-req-days3650-inclient.csr-CAca.crt-CAkeyca.key-set_serial01-outclient.crt

```

2.訪問控制:限制對日志存儲賬戶的權限,僅允許`root`或特定運維用戶操作。

-SELinux配置示例:

```bash

開啟SELinux日志審計

setenforce1

設置日志目錄權限

chcon-thttpd_sys_content_t/var/log/myapp/

```

(六)日志保留策略的細化

1.按日志類型分類:

-系統(tǒng)日志:保留12個月。

-應用日志:根據(jù)業(yè)務需求(如交易日志保留3年)。

-安全日志:因合規(guī)要求,保留5年。

2.自動刪除腳本:編寫`cron`任務定期清理過期日志。

-示例腳本:

```bash

/usr/local/bin/cleanup_logs.sh

清理系統(tǒng)日志

find/var/log-name".log"-mtime+90-execrm{}\;

清理應用日志

find/var/log/myapp-name".log"-mtime+365-execrm{}\;

```

四、日志分析與告警(續(xù))

(七)日志分析的自動化工具

1.Kibana儀表盤:創(chuàng)建自定義儀表盤監(jiān)控關鍵指標。

-示例:展示過去1小時內`error`日志占比趨勢。

2.Prometheus+Grafana:結合時序數(shù)據(jù)(如CPU使用率)進行聯(lián)合分析。

-配置Prometheus抓取日志指標:

```yaml

-job_name:'logs'

static_configs:

-targets:['localhost:9100']

scrape_interval:5m

```

(八)告警規(guī)則的優(yōu)化

1.抑制重復告警:通過`state_file`記錄已處理事件。

-Logstash配置:

```ruby

filter{

if[message]and"diskfull"in[message]{

mutate{

add_tag=>["alert:disk_full","processed"]

}

}

}

```

2.分級告警:根據(jù)嚴重程度(Info、Warning、Critical)設置不同通知渠道。

-告警分級示例:

|級別|閾值|通知方式|

|------------|--------------------------------------------|------------------|

|Warning|CPU>85%持續(xù)10分鐘|釘釘@全體成員|

|Critical|磁盤使用率>95%或服務宕機|郵件+短信|

(九)日志分析的深度應用

1.用戶行為分析:通過Web日志分析用戶訪問路徑(如跳出率高的頁面)。

-使用`grep`+`awk`提取路徑:

```bash

awk'{print$7}'access.log|sort|uniq-c|sort-nr|head-10

```

2.異常檢測:利用機器學習模型(如`scikit-learn`)識別異常日志模式。

-示例:檢測登錄失敗次數(shù)突增。

```python

偽代碼示例

fromsklearn.ensembleimportIsolationForest

data=pd.read_csv("failed_logins.csv")

model=IsolationForest(contamination=0.01)

anomalies=model.fit_predict(data[["count"]])

```

五、操作規(guī)范(續(xù))

(十)日志完整性校驗

1.每日校驗:通過腳本對比源日志和目標日志文件差異。

-示例腳本:

```bash

/usr/local/bin/verify_logs.sh

diff<(zcat/var/log/syslog.gz)<(zcat/backup/syslog.gz)

```

2.校驗記錄:將校驗結果存入`/var/log/log_integrity_check.log`。

(十一)日志篡改防護

1.數(shù)字簽名:使用GPG對關鍵日志文件簽名。

-簽名命令:

```bash

生成密鑰對

gpg--gen-key

簽名日志

gpg--detach-sig/var/log/messages

```

2.文件完整性監(jiān)控:部署`AIDE`(AdvancedIntrusionDetectionEnvironment)監(jiān)控日志文件變更。

-配置AIDE:

```bash

/etc/aide.conf

/var/log/messages/var/log/secure-

```

(十二)操作手冊的標準化

1.模板化配置文件:為`rsyslog`、`logrotate`創(chuàng)建標準模板。

-示例模板:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate14

compress

missingok

notifempty

}

```

2.知識庫文檔:維護`Confluence`頁面記錄常見日志問題解決方案。

六、責任分配(續(xù))

(十三)跨部門協(xié)作流程

1.告警響應SLA:

|告警類型|響應時間|責任人|

|----------------|--------------|----------------|

|Critical|5分鐘內響應|運維團隊|

|Warning|30分鐘內響應|應用團隊|

2.日志審計委員會:

-每季度召開會議,評估日志策略有效性。

-成員:運維經理、安全經理、合規(guī)專員。

七、應急響應(續(xù))

(十四)日志丟失的溯源

1.檢查日志鏈路:

-步驟:

(1)確認日志是否被`logrotate`刪除。

(2)檢查`rsyslog`轉發(fā)狀態(tài)(`journalctl-ursyslog`)。

(3)查看備份日志是否可用(`zgrep"error"/backup/.gz`)。

2.記錄分析結果:

-將缺失原因(如配置錯誤、磁盤空間不足)記錄至`/var/log/log_recovery.log`。

(十五)告警誤報的根因分析

1.統(tǒng)計誤報數(shù)據(jù):

-使用Kibana按告警類型統(tǒng)計誤報次數(shù)。

2.優(yōu)化方案:

-示例:將"HTTP404"誤報修改為僅匹配"500InternalServerError"。

(十六)應急預案演練

1.年度演練計劃:

-模擬場景:日志服務器宕機時的切換流程。

2.演練記錄表:

|階段|關鍵指標|實際耗時|預期耗時|

|------------|----------------|------------|------------|

|切換準備|權限獲取|5分鐘|10分鐘|

|數(shù)據(jù)同步|日志延遲|2分鐘|5分鐘|

一、概述

Linux日志監(jiān)控制度是企業(yè)或組織保障系統(tǒng)安全、性能監(jiān)控和故障排查的重要手段。通過建立規(guī)范的日志監(jiān)控制度,可以實現(xiàn)對系統(tǒng)日志的收集、分析、存儲和告警,從而及時發(fā)現(xiàn)并處理潛在問題。本制度旨在明確日志監(jiān)控的流程、工具、責任分配和操作規(guī)范,確保日志管理的有效性和安全性。

二、日志監(jiān)控目的

(一)系統(tǒng)安全監(jiān)控

1.識別異常登錄行為,如多次密碼錯誤、非工作時間登錄等。

2.監(jiān)控關鍵服務的訪問日志,防止未授權操作。

3.記錄安全事件,如防火墻攔截、入侵嘗試等。

(二)系統(tǒng)性能監(jiān)控

1.收集系統(tǒng)資源(CPU、內存、磁盤)的日志,用于性能分析。

2.監(jiān)控服務運行狀態(tài),如Web服務器、數(shù)據(jù)庫的連接和響應時間。

(三)故障排查支持

1.通過日志追溯系統(tǒng)崩潰或服務中斷的原因。

2.分析應用程序錯誤日志,定位問題根源。

三、日志收集與存儲

(一)日志來源

1.操作系統(tǒng)日志(如`/var/log/messages`、`/var/log/syslog`)。

2.應用程序日志(如Web服務器、數(shù)據(jù)庫日志)。

3.安全設備日志(如防火墻、入侵檢測系統(tǒng))。

(二)日志收集方法

1.中央日志服務器:使用`rsyslog`或`syslog-ng`將日志轉發(fā)到統(tǒng)一服務器。

-配置示例:

```bash

rsyslog配置

/etc/rsyslog.conf

.@0

```

2.文件傳輸:通過`scp`或`curl`定期備份本地日志。

(三)日志存儲規(guī)范

1.存儲周期:系統(tǒng)日志至少保留6個月,安全日志保留12個月。

2.存儲格式:推薦使用UTF-8或ASCII編碼,避免亂碼問題。

3.存儲方式:使用磁盤陣列或對象存儲,確保數(shù)據(jù)冗余。

四、日志分析與告警

(一)分析工具

1.日志聚合:使用`ELKStack`(Elasticsearch、Logstash、Kibana)或`Graylog`。

2.實時監(jiān)控:配置`tail-f`結合`grep`進行關鍵詞篩選。

(二)告警規(guī)則

1.高危事件:如root登錄、權限提升等,立即觸發(fā)告警。

2.性能閾值:如CPU使用率超過90%持續(xù)5分鐘,發(fā)送通知。

-告警方式:郵件、短信或釘釘?shù)燃磿r通訊工具。

(三)分析流程

1.關鍵詞監(jiān)控:設置`error`、`fail`、`timeout`等關鍵詞。

2.趨勢分析:定期生成日志統(tǒng)計報告(如每日活躍用戶、錯誤率)。

五、操作規(guī)范

(一)日志輪轉

1.使用`logrotate`自動管理日志文件大小。

-配置示例:

```bash

/etc/logrotate.d/nginx

/var/log/nginx/.log{

daily

rotate7

compress

}

```

(二)權限管理

1.僅授權管理員訪問日志文件。

2.避免直接修改日志文件,通過配置文件調整。

(三)定期審計

1.每月檢查日志收集是否完整。

2.對告警規(guī)則進行有效性評估,優(yōu)化誤報率。

六、責任分配

(一)運維團隊

1.負責日志系統(tǒng)的配置和維護。

2.處理日志分析中的技術問題。

(二)安全團隊

1.制定安全日志監(jiān)控策略。

2.分析潛在威脅并生成報告。

(三)管理層

1.審批日志存儲周期和資源分配。

2.監(jiān)督制度執(zhí)行情況。

七、應急響應

(一)日志丟失

1.立即檢查備份和轉發(fā)配置。

2.補錄缺失日志并記錄原因。

(二)告警誤報

1.調整關鍵詞或閾值,降低誤報。

2.記錄誤報案例,優(yōu)化規(guī)則庫。

三、日志收集與存儲(續(xù))

(四)日志收集的高級方法

1.分布式日志收集:在集群環(huán)境中,使用`Fluentd`或`Beats`(Filebeat、Metricbeat)實現(xiàn)多節(jié)點日志的統(tǒng)一傳輸。

-配置步驟:

(1)在每臺節(jié)點安裝Beats,配置`output.logstash`或`output.elk`。

(2)Logstash配置示例(處理JSON日志):

```ruby

input{

beats{

port=>5044

}

}

filter{

if[message]and"error"in[message]{

grok{

match=>{"message"=>"%{COMBINEDAPACHELOG}"}

}

}

}

output{

elasticsearch{

hosts=>["0:9200"]

}

}

```

2.云環(huán)境日志收集:對于AWS、Azure等云平臺,利用云服務商的日志服務(如AWSCloudWatchLogs)。

-示例:通過`awslogs`插件將EC2實例日志發(fā)送至CloudWatch。

```bash

安裝awslogs

yuminstall-yawslogs

配置文件/etc/awslogs/config/ec2.conf

[general]

state_file=/var/awslogs/state/agent-state.txt

[[log_group]]

log_group_name=/my-app/logs

log_stream_name={instance_id}

```

(五)日志存儲的安全性

1.加密傳輸:配置`rsyslog`使用TLS加密日志轉發(fā)。

-生成CA證書和客戶端證書:

```bash

生成CA私鑰和證書

opensslgenrsa-outca.key4096

opensslreq-new-x509-days3650-keyca.key-outca.crt

生成客戶端證書

opensslgenrsa-outclient.key4096

opensslreq-new-keyclient.key-outclient.csr

opensslx509-req-days3650-inclient.csr-CAca.crt-CAkeyca.key-set_serial01-outclient.crt

```

2.訪問控制:限制對日志存儲賬戶的權限,僅允許`root`或特定運維用戶操作。

-SELinux配置示例:

```bash

開啟SELinux日志審計

setenforce1

設置日志目錄權限

chcon-thttpd_sys_content_t/var/log/myapp/

```

(六)日志保留策略的細化

1.按日志類型分類:

-系統(tǒng)日志:保留12個月。

-應用日志:根據(jù)業(yè)務需求(如交易日志保留3年)。

-安全日志:因合規(guī)要求,保留5年。

2.自動刪除腳本:編寫`cron`任務定期清理過期日志。

-示例腳本:

```

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論