我找不到在哪里获取当前打开的分片的数量。我想进行监控以避免出现这样的情况:
this cluster currently has [999]/[1000] maximum shards open
Run Code Online (Sandbox Code Playgroud)
我可以获得最大限制 - max_shards_per_node
$ curl -X GET "${ELK_HOST}/_cluster/settings?include_defaults=true&flat_settings=true&pretty" 2>/dev/null | grep cluster.max_shards_per_node
"cluster.max_shards_per_node" : "1000",
$
Run Code Online (Sandbox Code Playgroud)
但无法找到如何获取当前打开的分片数量(999)。
is it possible to get status for specific systemd service
$ systemctl -a | grep sshd.service
sshd.service loaded active running OpenSSH server daemon
$
Run Code Online (Sandbox Code Playgroud)
but without grep, only with systemctl ? Something like systemctl SHOW_STATUS_LIKE_A_OPTION sshd.service
systemctl status - too long and multiline...
我有两种格式的行日志。
aaa [bbb] [ccc] ddd eee
aaa [bbb] fff ggg [ccc] ddd eee
Run Code Online (Sandbox Code Playgroud)
我已成功使用下一个logstash过滤器配置来解析它们。
filter {
dissect {
mapping => { "message" => "%{field1} [%{field2}] [%{field3}] %{message}" }
}
if "_dissectfailure" in [tags] {
dissect {
remove_tag => [ "_dissectfailure" ]
mapping => { "message" => "%{field1} [%{field2}] %{stuff} [%{field3}] %{message}" }
}
}
}
Run Code Online (Sandbox Code Playgroud)
一切按预期工作 - 没有“fff ggg”的行与第一次解剖匹配,带有“fff ggg”的行与第一次解剖不匹配 -> 得到标签“_dissectfailure”并成功与第二次解剖匹配(我看到该字段“stuff”出现在事件中并且事件没有“_dissectfailure”标签)
但logstash 在logstash-plain.log 中抱怨第一次剖析:
[2019-09-04T20:14:06,901][WARN ][org.logstash.dissect.Dissector] Dissector mapping, pattern not found {"field"=>"message", "pattern"=>"%{field1} [%{field2}] [%{field3}] %{message}", "event"=>{"input"=>{"type"=>"log"}, "@timestamp"=>2019-09-04T17:13:50.269Z, "tags"=>["beats_input_codec_plain_applied", …Run Code Online (Sandbox Code Playgroud)