我必须使用logstash在elasticsearch中创建自定义索引.我已创建在elasticsearch新的模板,并且在logstash配置我有指定模板路径,TEMPLATE_NAME和template_overwrite值,但仍然每当我运行logstash,与logstash-DD-MM-YY的正则表达式生成的新的索引,而不是与在属性中指定TEMPLATE_NAME ,logstash -config文件是
input {
file {
path => "/temp/file.txt"
type => "words"
start_position => "beginning"
}
}
filter {
mutate {
add_field => {"words" => "%{message}"}
}
}
output {
elasticsearch {
hosts => ["elasticserver:9200"]
template => "pathtotemplate.json"
template_name => "newIndexName-*"
template_overwrite => true
}
stdout{}
}
Run Code Online (Sandbox Code Playgroud)
索引模板文件是
{
"template": "dictinary-*",
"settings" : {
"number_of_shards" : 1,
"number_of_replicas" : 0,
"index" : {
"query" : { "default_field" : "@words" },
"store" : { "compress" : { "stored" : true, …Run Code Online (Sandbox Code Playgroud) 我有一个jdbc我的内连接input在logstash哪里,因为我试图根据执行查询schedule性能.我经历了jdbc和rufus-scheduler,但仍然不清楚这五颗星(*)单独代表什么.
据我所知,从左到右的星星(*****):
因此,如果它是这样的场景(*****),则表示调度程序将每分钟运行一次.因此,如果我每五分钟运行一次,那么调度程序应该如何?像(5****)的东西?
我认为是对的吗?或者如果我错了请纠正我.
elasticsearch logstash logstash-configuration logstash-jdbc elasticsearch-5
错误:
c:\ Program Files\Logstash\bin> logstash.bat -e'input {stdin {}} output {stdout {}}'发生意外错误!:错误=>错误的URI(不是URI?):文件:// c:/ Program Files/Logstash/confi g/log4j2.properties,:backtrace => ["C:/ Program Files/Logstash/vendor/jruby/lib/ruby/1.9/uri/common.rb:176:在split'","C:/ Program Files/Logstash/vendor/jruby/lib/ruby/1.9/uri/common.rb:210:在解析'","C:/ Program Files/Logstash/vendor/jruby/lib/ruby/1.9/uri/common.rb:747:在解析'","C:/ Program Files/Logstash/vendor/jruby/lib/ruby/1.9/uri/common.rb:994:inURI'","c:/ Program Files/Logstash/log stash-core/lib/logstash/logging/logger.rb:76:in initialize '","org/jruby/ext/thread/Mutex.java:149:insynchronize'","c:/ Program Files/Logstash/logstash-core/lib/logstash/logging/logger.rb:74:in in itialize' ","c:/ Program Files/Logstash/logstash -core/lib/logstash/runner.rb:193:不执行'","c:/ P rogram Files/Logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:在运行'","c:/ Program Files/Logstash/logstash -core/lib/logstash/runner.rb:178:inrun' ","c:/ Program Files/Logst ash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:in run'","c:\ Program Files\\ Logstash\lib\bootstrap\environment.rb:71:in(root)'"]
我有一个logstash输入设置为
input {
kafka {
bootstrap_servers => "zookeper_address"
topics => ["topic1","topic2"]
}
}
Run Code Online (Sandbox Code Playgroud)
我需要在elasticsearch中将主题提供给两个不同的索引.任何人都可以帮我解决如何为这样的任务设置输出.这时我只能设置
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "my_index"
codec => "json"
document_id => "%{id}"
}
}
Run Code Online (Sandbox Code Playgroud)
我需要在同一elasticsearch例如两个指标说index1和index2,这将通过对未来的信息供给topic1和topic2
简单的问题:我的弹性搜索引擎中有多个索引,由 postgresql 使用 logstash 镜像。ElasticSearch 在模糊搜索方面表现良好,但现在我需要在索引中使用引用,这些引用需要由查询处理。
Index A:
{
name: "alice",
_id: 5
}
...
Index B:
{
name: "bob",
_id: 3,
best_friend: 5
}
...
Run Code Online (Sandbox Code Playgroud)
我如何查询:
获取字段名称以“b”开头的索引B和名称以“a”开头的“best_friend”引用的索引A的每个匹配项
弹性搜索甚至可以做到这一点吗?
postgresql elasticsearch logstash elasticsearch-plugin logstash-configuration
我正在运行ELK 堆栈的实现,它非常简单且易于配置。
我可以使用 netcat 将 TCP 输入推送到堆栈,如下所示:
nc localhost 5000 < /Users/me/path/to/logs/appOne.log
nc localhost 5000 < /Users/me/path/to/logs/appOneStackTrace.log
nc localhost 5000 < /Users/me/path/to/logs/appTwo.log
nc localhost 5000 < /Users/me/path/to/logs/appTwoStackTrace.log
Run Code Online (Sandbox Code Playgroud)
但我无法让 Logstash 读取我在配置中指定的文件路径:
input {
tcp {
port => 5000
}
file {
path => [
"/Users/me/path/to/logs/appOne.log",
"/Users/me/path/to/logs/appOneStackTrace.log",
"/Users/me/path/to/logs/appTwo.log",
"/Users/me/path/to/logs/appTwoStackTrace.log"
]
type => "log"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}
Run Code Online (Sandbox Code Playgroud)
以下是有关 Logstash 输入的堆栈的启动输出:
logstash_1 | [2019-01-28T17:44:33,206][INFO ][logstash.inputs.tcp ] Starting tcp input listener {:address=>"0.0.0.0:5000", …Run Code Online (Sandbox Code Playgroud) logstash docker-compose logstash-configuration elastic-stack
我使用以下命令在 Ubuntu 中运行 logstash 配置文件。
/opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf
Run Code Online (Sandbox Code Playgroud)
它的工作原理,但是我最近意识到,每次运行此命令时,它都会启动另一个实例。现在我认为有六个实例正在运行。因为我创建的每条新记录在elasticsearch中显示为6。
我如何停止所有这些其他实例,有什么方法可以检查有多少实例正在运行?谢谢
elasticsearch logstash ubuntu-14.04 logstash-configuration elastic-stack
我已经使用 zip 文件来启动logstash、kibana 和elasticsearch。我正在将 csv 文件从 Logstash 提取到弹性搜索
input {
file {
path => "D:\tls202_part01\tls202_part01.csv"
start_position => "beginning"
}
}
filter {
csv {
separator => ","
columns => ["appln_id", "appln_title_lg", "appln_title"]
}
mutate {
convert => ["appln_id", "integer"]
convert => ["appln_title_lg", "string"]
convert => ["appln_title", "string"]
}
}
output {
elasticsearch {
hosts => "localhost"
index => "title"
}
stdout {
codec => rubydebug
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的配置文件。当我搜索索引标题时,它不存在,logstash 日志如下:
Sending Logstash logs to D:/logstash-6.5.4/logs which is now configured via log4j2.properties …Run Code Online (Sandbox Code Playgroud) elasticsearch logstash kibana logstash-configuration elastic-stack
我将Web和API日志合并在一起,我想将其单独保存在elasticsearch中。所以我想编写一种模式,如果请求是 API,那么如果过去应该执行,请求是 Web,那么应该执行日志的一部分。
以下是一些 Web 和 API 日志。
00:06:27,778 INFO [stdout] (ajp--0.0.0.0-8009-38) 00:06:27.777 [ajp--0.0.0.0-8009-38] INFO c.r.s.web.rest.WidgetController - Method getWidgetDetails() started to get widget details.
00:06:27,783 INFO [stdout] (ajp--0.0.0.0-8009-38) ---> HTTP GET http://api.survey.me/v1/getwidgetdetails?profileName=jeremy-steffens&profileLevel=INDIVIDUAL&companyProfileName=premier-nationwide-lending&hideHistory=true
00:06:27,817 INFO [stdout] (ajp--0.0.0.0-8009-38) <--- HTTP 200 http://api.survey.me/v1/getwidgetdetails?profileName=jeremy-steffens&profileLevel=INDIVIDUAL&companyProfileName=premier-nationwide-lending&hideHistory=true (29ms)
00:06:27,822 INFO [stdout] (ajp--0.0.0.0-8009-38) 00:06:27.822 [ajp--0.0.0.0-8009-38] INFO c.r.s.web.rest.WidgetController - Method getWidgetDetails() finished.
00:06:27,899 INFO [stdout] (ajp--0.0.0.0-8009-40) 00:06:27.899 [ajp--0.0.0.0-8009-40] INFO c.r.s.web.controller.LoginController - Inside initLoginPage() of LoginController
Run Code Online (Sandbox Code Playgroud)
我试图写条件但它不起作用。它仅适用于线程名称。在线程之后,我有多种类型的日志,因此无法在没有 if 条件的情况下写入。
(?:%{TIME:CREATED_ON})(?:%{SPACE})%{WORD:LEVEL}%{SPACE}\[%{NOTSPACE}\]%{SPACE}\(%{NOTSPACE:THREAD}\)
Run Code Online (Sandbox Code Playgroud)
有人可以给我建议吗?
我有一个通过 Logstash 读入 Elasticsearch 的文件列表。我想知道如何知道文件何时全部被捕获。
我正在考虑在完全读入该文件后删除该文件。
我还没有看到任何关于文件完成的通知或确认或文件删除的信息。我喜欢一些见解,因为我认为它将成为配置文件的一部分。我只是没有洞察力。
理想情况下:我希望在文件完全使用后将其删除。这样,我就可以从 txt 文件开始处理所有文件类型。