python日志处理程序将数据发送到支持SSL/TLS的Logstash服务器
logstashp的Python项目详细描述
logstashpy:支持SSL/TLS的logstash的python日志处理程序
{和}的原始项目}也来自这个项目的^代码 这里也集成了一些,比如SSL/TLS支持。此外,它计划支持更多的序列化格式 在logstash编解码器中支持。目前msgpack已集成。在
一些旧的格式化程序已经发布,但ELK stack现在促进了ECS的使用。退房ecs-logging 获取最新更新。对于所有处理程序,默认格式化程序现在是ecs日志中的StdlibFormatter,但您可以始终选择 其他格式化程序或旧格式化程序。在
目前,__init__.py
下的__all__
没有公开的类,因为API将来可能会更改。在
安装
要安装logstashpy,只需使用all time favorite pip并键入:
$ pip install logstashpy✨
使用
^{pr2}$SSL/TLS支持
默认情况下启用SSL。在处理程序的构造函数中禁用传递ssl=False
。在
要快速设置SSL/TLS相关证书,请执行以下命令:
为证书颁发机构生成证书(对于自签名证书)
生成CA密钥(类似于CA的私钥,会提示输入密码,确保安全)
openssl genrsa -des3 -out localCA.key 2048
生成CA pem文件(类似于CA的公钥)
openssl req -x509 -new -nodes -key localCA.key -sha256 -days 1024 -out localCA.pem
现在我们有一个本地证书颁发机构准备签署一些证书。在
让我们为本地logstash服务器生成一些私钥和CSR(证书签名请求) 它将由我们当地的证书颁发机构签署。您可以在这里传递一些其他配置,但为了简单起见,请留在这里。在
openssl req -new -sha256 -nodes -out logserver.csr -newkey rsa:2048 -keyout logserver.key
让我们将CSR提交到本地CA并获取证书(作为保护,系统将提示您输入之前设置的密码)
openssl x509 -req -in server.csr -CA localCA.pem -CAkey localCA.key -CAcreateserial -out logserver.crt -days 1000 -sha256
你会得到一个日志服务器.crt哪个logstash服务器可以提供给它的客户端,有效期为1000天。在
Python版本支持
logstashpy支持python3
Logstash配置示例
示例Logstash配置(logstash.conf
)通过TCP从logstashpy接收事件(省略ssl
相关字段(如果不需要):
input {
tcp {
port => 5959
codec => json
ssl_enable => true
ssl_cert => "/path/to/server.crt"
ssl_key => "/path/to/server.key"
ssl_verify => false
}
}
output {
stdout {
codec => rubydebug
}
}
文件
马上就来。在
- 项目
标签: