403Webshell
Server IP : 198.38.94.13  /  Your IP : 216.73.217.33
Web Server : Apache
System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : revivere ( 1140)
PHP Version : 8.2.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/saltstack/salt/lib/python3.10/site-packages/salt/engines/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/saltstack/salt/lib/python3.10/site-packages/salt/engines/logstash_engine.py
"""
An engine that reads messages from the salt event bus and pushes
them onto a logstash endpoint.

.. versionadded:: 2015.8.0

:configuration:

    Example configuration

    .. code-block:: yaml

        engines:
          - logstash:
              host: log.my_network.com
              port: 5959
              proto: tcp

:depends: logstash
"""

import logging

import salt.utils.event

try:
    import logstash
except ImportError:
    logstash = None

log = logging.getLogger(__name__)

__virtualname__ = "logstash"


def __virtual__():
    return (
        __virtualname__
        if logstash is not None
        else (False, "python-logstash not installed")
    )


def event_bus_context(opts):
    if opts.get("id").endswith("_master"):
        event_bus = salt.utils.event.get_master_event(
            opts, opts["sock_dir"], listen=True
        )
    else:
        event_bus = salt.utils.event.get_event(
            "minion",
            opts=opts,
            sock_dir=opts["sock_dir"],
            listen=True,
        )
    return event_bus


def start(host, port=5959, tag="salt/engine/logstash", proto="udp"):
    """
    Listen to salt events and forward them to logstash
    """

    if proto == "tcp":
        logstashHandler = logstash.TCPLogstashHandler
    elif proto == "udp":
        logstashHandler = logstash.UDPLogstashHandler

    logstash_logger = logging.getLogger("python-logstash-logger")
    logstash_logger.setLevel(logging.INFO)
    logstash_logger.addHandler(logstashHandler(host, port, version=1))

    with event_bus_context(__opts__) as event_bus:
        log.debug("Logstash engine started")
        while True:
            event = event_bus.get_event()
            if event:
                logstash_logger.info(tag, extra=event)

Youez - 2016 - github.com/yon3zu
LinuXploit