- 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 安全通信的功能。