在OpenShift上打开Splunk转发器/接收器TCP端口



我需要在OpenShift上打开TCP端口9997,以便Splunk能够侦听来自其他服务器上转发器的传入数据。

我已经使用这个指南:http://www.kelvinism.com/2013/11/free-splunk-hosting.html设置了Splunk,但是我不知道如何在清单中添加另一个TCP端口。yml文件。我为一个新的OpenShift实例尝试了以下操作,但没有成功。

  - Private-IP-Name:   IP
    Private-Port-Name: PORT_FORWARDER
    Private-Port:      9997
    Public-Port-Name:  PROXY_PORT_FORWARDER
    Options:           { "ssl_to_gear": true }

我是否需要配置墨盒的其他部分来读取我的新端口并在其他地方设置一些配置?

您将只能在端口80/443/8000/8443上公开侦听,不允许使用其他tcp或udp端口(ssh/scp/sftp的22端口除外)。您配置的私有端口仅用于内部访问(在相同的设备上,或者作为扩展应用程序的一部分安装在它自己的设备上)。让远程代理在端口9997上连接到您的应用程序是行不通的。

或者,您可以编写一个非常简单的splunk附加组件来侦听该端口,这非常直接。Splunk有一个SDK,你可以用可变语言实现它。这是一个python框架。要了解更多信息,您可以看到UDP接收器的完整示例:链接到示例,它不是英文帖子,但您可以从那里阅读代码。

import sys
from splunklib.modularinput import *
class MyScript(Script):
    def get_scheme(self):
        # Returns scheme.
    def validate_input(self, validation_definition):
        # Validates input.
    def stream_events(self, inputs, ew):
        # Splunk Enterprise calls the modular input, 
        # streams XML describing the inputs to stdin,
        # and waits for XML on stdout describing events.
        # TODO: implement a socket to listen and receive the 
        # message then send by Event()
if __name__ == "__main__":
    sys.exit(MyScript().run(sys.argv))

最新更新