将文件 logstash.conf 放在 python 源中的什么位置?
Where to put the file logstash.conf in python source?
我的主要目的是发送日志到Kiabana
,我得到了Logstash
的host
和port
(我的老板给了我)
来自这个网站:https://pypi.org/project/python-logstash/
我有一个这样的示例代码:
import logging
import logstash
import sys
host = '182.2....'
test_logger = logging.getLogger('python-logstash-logger')
test_logger.setLevel(logging.INFO)
test_logger.addHandler(logstash.LogstashHandler(host, 5959, version=1))
# test_logger.addHandler(logstash.TCPLogstashHandler(host, 5959, version=1))
test_logger.error('python-logstash: test logstash error message.')
test_logger.info('python-logstash: test logstash info message.')
test_logger.warning('python-logstash: test logstash warning message.')
# add extra field to logstash message
extra = {
'test_string': 'python version: ' + repr(sys.version_info),
'test_boolean': True,
'test_dict': {'a': 1, 'b': 'c'},
'test_float': 1.23,
'test_integer': 123,
'test_list': [1, 2, '3'],
}
test_logger.info('python-logstash: test extra fields', extra=extra)
我 运行 它但我在 Kibana 上什么也看不到。 (有人告诉我选择 index
)但我没有看到示例代码中设置了 index
。
然后经过研究,我听说我需要设置一个名为 logstash.conf
配置的文件,它应该如下所示
input {
udp {
port => 5959
codec => json
}
}
output {
stdout {
codec => rubydebug
}
}
但我不知道该文件放在哪里,
它应该和我的 .py
代码文件在同一个目录中吗?
而且我没有看到我的 .py
代码文件和 logstash.conf
文件之间有任何联系
请帮忙!
您使用的python-logstash lib是一个帮助您将数据发送到logstash的库,它与您粘贴的logstash.conf
无关。
你分享的logstash.conf
是一个Logstash配置,它应该在Logstash的config目录下,但是这个配置不会发送任何东西到Elasticsearch,你在Kibana中也看不到任何东西,你需要一个配置这将输出到 elasticsearch,像这样。
input {
udp {
port => 5959
codec => json
}
}
output {
elasticsearch {
hosts => ["your-elasticsearch-host:port"]
index => "your-index-name"
}
}
您或您公司的某个人需要在 Logstash 中创建一个管道来接收该端口中的数据并将其发送到 Elasticsearch,这样您就可以使用 Kibana 来可视化数据。
您的 python 脚本只需要 logstash 发送数据的端口和主机,除此之外,您的 python 脚本与 logstash 配置之间没有任何联系。
我的主要目的是发送日志到Kiabana
,我得到了Logstash
的host
和port
(我的老板给了我)
来自这个网站:https://pypi.org/project/python-logstash/
我有一个这样的示例代码:
import logging
import logstash
import sys
host = '182.2....'
test_logger = logging.getLogger('python-logstash-logger')
test_logger.setLevel(logging.INFO)
test_logger.addHandler(logstash.LogstashHandler(host, 5959, version=1))
# test_logger.addHandler(logstash.TCPLogstashHandler(host, 5959, version=1))
test_logger.error('python-logstash: test logstash error message.')
test_logger.info('python-logstash: test logstash info message.')
test_logger.warning('python-logstash: test logstash warning message.')
# add extra field to logstash message
extra = {
'test_string': 'python version: ' + repr(sys.version_info),
'test_boolean': True,
'test_dict': {'a': 1, 'b': 'c'},
'test_float': 1.23,
'test_integer': 123,
'test_list': [1, 2, '3'],
}
test_logger.info('python-logstash: test extra fields', extra=extra)
我 运行 它但我在 Kibana 上什么也看不到。 (有人告诉我选择 index
)但我没有看到示例代码中设置了 index
。
然后经过研究,我听说我需要设置一个名为 logstash.conf
配置的文件,它应该如下所示
input {
udp {
port => 5959
codec => json
}
}
output {
stdout {
codec => rubydebug
}
}
但我不知道该文件放在哪里,
它应该和我的 .py
代码文件在同一个目录中吗?
而且我没有看到我的 .py
代码文件和 logstash.conf
文件之间有任何联系
请帮忙!
您使用的python-logstash lib是一个帮助您将数据发送到logstash的库,它与您粘贴的logstash.conf
无关。
你分享的logstash.conf
是一个Logstash配置,它应该在Logstash的config目录下,但是这个配置不会发送任何东西到Elasticsearch,你在Kibana中也看不到任何东西,你需要一个配置这将输出到 elasticsearch,像这样。
input {
udp {
port => 5959
codec => json
}
}
output {
elasticsearch {
hosts => ["your-elasticsearch-host:port"]
index => "your-index-name"
}
}
您或您公司的某个人需要在 Logstash 中创建一个管道来接收该端口中的数据并将其发送到 Elasticsearch,这样您就可以使用 Kibana 来可视化数据。
您的 python 脚本只需要 logstash 发送数据的端口和主机,除此之外,您的 python 脚本与 logstash 配置之间没有任何联系。