python-logstash icon indicating copy to clipboard operation
python-logstash copied to clipboard

Add SSL support

Open skwashd opened this issue 8 years ago • 12 comments

Adds initial support for SSL. The implementation supports the following features:

  • Remote certificate validation
  • Custom CA bundles
  • Client side certs

SSL is now on by default.

Fixes vklochan/python-logstash#28

skwashd avatar Mar 14 '16 14:03 skwashd

Is this feature ready to be merged in? Would be very useful.

vellamike avatar May 17 '16 12:05 vellamike

Am I correct in assuming that this PR adds support for the lumberjack protocol?

vellamike avatar Jun 02 '16 09:06 vellamike

@vellamike the library already implements the logstash json over HTTP protocol. This patch adds HTTPS support to the transport component.

skwashd avatar Jun 07 '16 14:06 skwashd

@skwashd my understanding is that the communication here is done over TCP, with no HTTP layer, and that logstash itself supports a custom TCP-like protocol called lumberjack which there is no python support for (though it is supported in node)

vellamike avatar Jun 07 '16 21:06 vellamike

Code looks good. Fairly simple changes for such a major feature addition.

I would love for this to get merged. It's something we really need for a project.

dickolsson avatar Jun 28 '16 11:06 dickolsson

@vellamike sorry you're right it is over TCP (now with optional SSL support).

skwashd avatar Jun 28 '16 11:06 skwashd

@vklochan I've rebased current master into the patch. Is there anything else I need to do in order to get this merged?

skwashd avatar Aug 10 '16 05:08 skwashd

Can we have any update in this PR? This package does an amazing job for me but I need the SSL suport to use it.

brenoarosa avatar Sep 20 '16 20:09 brenoarosa

Could we please get this merged? It would be very useful.

marji avatar Oct 24 '16 09:10 marji

Can you make it compatible with python3? it complains that makeSocket does not accepts any arguments. Change:

def makeSocket(self, timeout=1):
        s = super(TCPLogstashHandler, self).makeSocket(timeout)

To:

def makeSocket(self, *args, **kwargs):
        s = super(TCPLogstashHandler, self).makeSocket(*args, **kwargs)

kramarz avatar Feb 17 '17 16:02 kramarz

@vklochan is there any thing I can do to help get this merged? Do you need a comaintainer to assist with cleaning up the backlog of issues and PRs?

skwashd avatar Oct 05 '17 22:10 skwashd

@skwashd Finally, what did you do?

SalahAdDin avatar Feb 02 '18 21:02 SalahAdDin