- Logstash 輸入階段
- Logstash - 收集日誌
- Logstash - 支援的輸入
- Logstash 解析和轉換
- Logstash - 解析日誌
- Logstash - 過濾器
- Logstash - 轉換日誌
- Logstash 輸出階段
- Logstash - 輸出階段
- Logstash - 支援的輸出
- Logstash 高階主題
- Logstash - 外掛
- Logstash - 監控 API
- Logstash - 安全與監控
- Logstash 有用資源
- Logstash - 快速指南
- Logstash - 有用資源
- Logstash - 討論
Logstash - 安全與監控
在本章中,我們將討論 Logstash 的安全和監控方面。
監控
Logstash 是一個非常好的工具,可以監控生產環境中的伺服器和服務。生產環境中的應用程式會生成各種日誌資料,例如訪問日誌、錯誤日誌等。Logstash 可以使用過濾器外掛來統計或分析錯誤、訪問或其他事件的數量。此分析和統計可用於監控不同的伺服器及其服務。
Logstash 提供了諸如 **HTTP Poller** 之類的外掛來監控網站狀態。在這裡,我們正在監控一個名為 **mysite** 的網站,該網站託管在本地 Apache Tomcat 伺服器上。
logstash.conf
在此配置檔案中,http_poller 外掛用於在外掛中指定的間隔設定指定的時間間隔後命中指定的站點。最後,它將站點的狀態寫入標準輸出。
input {
http_poller {
urls => {
site => "https://:8080/mysite"
}
request_timeout => 20
interval => 30
metadata_target => "http_poller_metadata"
}
}
output {
if [http_poller_metadata][code] == 200 {
stdout {
codec => line{format => "%{http_poller_metadata[response_message]}"}
}
}
if [http_poller_metadata][code] != 200 {
stdout {
codec => line{format => "down"}
}
}
}
執行 Logstash
我們可以使用以下命令執行 Logstash。
>logstash –f logstash.conf
標準輸出
如果站點已啟動,則輸出將為:
Ok
如果我們使用 Tomcat 的 **Manager App** 停止站點,則輸出將更改為:
down
安全
Logstash 提供了大量功能來實現與外部系統的安全通訊,並支援身份驗證機制。所有 Logstash 外掛都支援透過 HTTP 連線進行身份驗證和加密。
使用 HTTP 協議的安全
在 Logstash 提供的各種外掛(例如 Elasticsearch 外掛)中,都有一些用於身份驗證目的的使用者和密碼設定。
elasticsearch {
user => <username>
password => <password>
}
另一種身份驗證是 Elasticsearch 的 **PKI(公鑰基礎設施)**。開發人員需要在 Elasticsearch 輸出外掛中定義兩個設定以啟用 PKI 身份驗證。
elasticsearch {
keystore => <string_value>
keystore_password => <password>
}
在 HTTPS 協議中,開發人員可以使用權威機構的證書進行 SSL/TLS。
elasticsearch {
ssl => true
cacert => <path to .pem file>
}
使用傳輸協議的安全
要將傳輸協議與 Elasticsearch 一起使用,使用者需要將協議設定設定為傳輸。這避免瞭解析 JSON 物件,從而提高效率。
基本身份驗證與在 Elasticsearch 輸出協議中的 http 協議中執行的身份驗證相同。
elasticsearch {
protocol => “transport”
user => <username>
password => <password>
}
PKI 身份驗證還需要在 Elasticsearch 輸出協議中將 SSL 設定為 true 以及其他設定:
elasticsearch {
protocol => “transport”
ssl => true
keystore => <string_value>
keystore_password => <password>
}
最後,SSL 安全需要比其他通訊安全方法稍多一些設定。
elasticsearch {
ssl => true
ssl => true
keystore => <string_value>
keystore_password => <password>
truststore =>
truststore_password => <password>
}
Logstash 的其他安全優勢
Logstash 可以幫助輸入系統源防止拒絕服務等攻擊。監控日誌並分析這些日誌中的不同事件可以幫助系統管理員檢查傳入連線和錯誤的變化。這些分析可以幫助檢視伺服器上是否正在發生或即將發生的攻擊。
Elasticsearch 公司的其他產品(如 **x-pack** 和 **filebeat**)提供了一些與 Logstash 安全通訊的功能。