�
�Udac @` s� d d l m Z m Z m Z e Z d Z d d l Z d d l Z d d l Z d d l
Z
d d l m Z d d l Z y d d l
Z
e Z Wn e k
r� e Z n Xd d l m Z d e f d � � YZ d S( i ( t absolute_importt divisiont print_functions�
callback: logstash
type: notification
short_description: Sends events to Logstash
description:
- This callback will report facts and task events to Logstash https://www.elastic.co/products/logstash
version_added: "2.3"
requirements:
- whitelisting in configuration
- logstash (python library)
options:
server:
description: Address of the Logstash server
env:
- name: LOGSTASH_SERVER
default: localhost
port:
description: Port on which logstash is listening
env:
- name: LOGSTASH_PORT
default: 5000
type:
description: Message type
env:
- name: LOGSTASH_TYPE
default: ansible
N( t datetime( t CallbackBaset CallbackModulec B` s� e Z d Z d Z d Z d Z e Z d � Z d � Z d � Z
d � Z d � Z d � Z
d
� Z d � Z d � Z d
� Z RS( s~
ansible logstash callback plugin
ansible.cfg:
callback_plugins = <path_to_callback_plugins_folder>
callback_whitelist = logstash
and put the plugin in <path_to_callback_plugins_folder>
logstash config:
input {
tcp {
port => 5000
codec => json
}
}
Requires:
python-logstash
This plugin makes use of the following environment variables:
LOGSTASH_SERVER (optional): defaults to localhost
LOGSTASH_PORT (optional): defaults to 5000
LOGSTASH_TYPE (optional): defaults to ansible
g @t aggregatet logstashc C` s� t t | � j � t s5 t | _ | j j d � n� t j d � | _
| j
j t j � t
j t j d d � t t j d d � � d d d t j d
d � �| _ | j
j | j � t j � | _ t t j � � | _ d | _ t j � | _ d S(
NsJ The required python-logstash is not installed. pip install python-logstashs python-logstash-loggert LOGSTASH_SERVERt localhostt
LOGSTASH_PORTi� t versioni t message_typet
LOGSTASH_TYPEt ansiblei ( t superR t __init__t HAS_LOGSTASHt Truet disabledt _displayt warningt loggingt getLoggert loggert setLevelt DEBUGR t TCPLogstashHandlert ost getenvt intt handlert
addHandlert sockett gethostnamet hostnamet strt uuidt uuid1t sessiont errorsR t utcnowt
start_time( t self( ( sE /usr/lib/python2.7/site-packages/ansible/plugins/callback/logstash.pyR S s c C` sX | j | _ i d d 6| j d 6| j d 6d d 6| j d 6} | j j d d | �d S(
Nt OKt statust hostR'