%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/engines/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/engines/logentries.pyo

�
���^c@@sodZddlmZmZmZddlZddlZyddlZe	Z
Wnek
rieZ
nXyddl
Z
e	ZWnek
r�eZnXddlZddlZddlZddlZddlZeje�Zd�Zdefd��YZyddl
Z
e	ZWnek
r9eZeZnXdefd��YZeZd	d
ddd�ZdS(
uo
An engine that sends events to the Logentries logging service.

:maintainer:  Jimmy Tang (jimmy_tang@rapid7.com)
:maturity:    New
:depends:     ssl, certifi
:platform:    all

.. versionadded: 2016.3.0

To enable this engine the master and/or minion will need the following
python libraries

    ssl
    certifi

If you are running a new enough version of python then the ssl library
will be present already.

You will also need the following values configured in the minion or
master config.

:configuration:

    Example configuration

    .. code-block:: yaml

        engines:
          - logentries:
            endpoint: data.logentries.com
            port: 10000
            token: 057af3e2-1c05-47c5-882a-5cd644655dbf

The 'token' can be obtained from the Logentries service.

To test this engine

    .. code-block:: bash

         salt '*' test.ping cmd.run uptime

i(tabsolute_importtprint_functiontunicode_literalsNcC@strtrtStS(N(tHAS_CERTIFItHAS_SSLtTruetFalse(((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pyt__virtual__KstPlainTextSocketAppendercB@sAeZedddd�Zd�Zd�Zd�Zd�ZRS(udata.logentries.comiPi�cC@sd||_||_||_d|_d|_d|_tjjj	d�|_
||_d|_
dS(Ng�������?i
uG

It appears the LOGENTRIES_TOKEN parameter you entered is incorrect!

u
(tLE_APItLE_PORTtLE_TLS_PORTt	MIN_DELAYt	MAX_DELAYt
INVALID_TOKENtsalttutilststringutilstto_strtLINE_SEPtverbosetNonet_conn(tselfRR	R
R((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pyt__init__Ps							cC@s;tjtjtj�|_|jj|j|jf�dS(N(tsockettAF_INETtSOCK_STREAMRtconnectR	R
(R((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pytopen_connectiondscC@s�|j�|j}x�tr�y|j�dSWn*tk
rZ|jr[tjd�q[nX|d9}||jkr�|j}n|t	j
d|�}ytj|�Wqt
k
r��qXqWdS(NuUnable to connect to Logentriesii(tclose_connectionRRRt	ExceptionRtlogtwarningR
trandomtuniformttimetsleeptKeyboardInterrupt(Rt
root_delaytwait_for((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pytreopen_connectionhs"
		

	

cC@s#|jdk	r|jj�ndS(N(RRtclose(R((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pyRscC@ss|jd|j�td�}xCtrdy|jj|�Wn!tjk
r_|j�q"nXPq"W|j	�dS(Nu
(
treplaceRtstrRRtsendRterrorR)R(Rtdatat	multiline((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pytput�s	
(t__name__t
__module__RRRR)RR1(((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pyROs			tTLSSocketAppendercB@seZd�ZRS(cC@s�tjtjtj�}tjd|dddddtdtjdttdtj	�dt
j�d	td
t�	}|j
|j|jf�||_dS(Ntsocktkeyfiletcertfiletserver_sidet	cert_reqstssl_versionuPROTOCOL_TLSv1_2tca_certstdo_handshake_on_connecttsuppress_ragged_eofs(RRRtssltwrap_socketRRt
CERT_REQUIREDtgetattrtPROTOCOL_TLSv1tcertifitwhereRRR	RR(RR5((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pyR�s			(R2R3R(((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pyR4�sudata.logentries.comi'usalt/engines/logentriesc	
C@s`tjd�jd�r=tjjjttddt�}n5tjjjddtddtd	tddt�}t	j
d
�ytj|�}Wnt
k
r�t	jd�nXtdtd
|d|�}|j�xwtrQ|j�}|r�td�jtjjj|�tjjj|�tjjj|�f�}|j|�q�q�W|j�dS(u>
    Listen to salt events and forward them to Logentries
    uidu_masterusock_dirtlistenuminiont	transportu	transporttoptstsock_diruLogentries engine starteduNot a valid logentries tokenRR	R
u N(t__opts__tgettendswithRRteventtget_master_eventRt	get_eventR tdebugtuuidtUUIDt
ValueErrorR!tSocketAppenderRR)R,tjoinRRtjsontdumpsR1R(	tendpointtportttokenttagt	event_bustvaltappenderRLtmsg((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pytstart�s6


	


	(t__doc__t
__future__RRRtsalt.utils.eventRtsalt.utils.jsonRCRRtImportErrorRR>RRR"R$RPtloggingt	getLoggerR2R RtobjectRRSR4RR_(((s;/usr/lib/python2.7/site-packages/salt/engines/logentries.pyt<module>,sB





	C




Zerion Mini Shell 1.0