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

广告

© . All rights reserved.