在Kibana中,我有包含问号?
的字段。目标是创建一个过滤器,排除字段中包含问号的所有条目。所以,当我试图在聚合下创建一个指标与Term
时,那些在?
标记中的字段在那里是不可见的,请帮助新手理解。
下面是logstash.conf
与过滤器我使用的屏幕截图我已经附上,请建议我做什么错误,可以做什么。
我有ELK版本:6.2.x版本
# cat logstash-syslog.conf
input {
file {
path => [ "/scratch/rsyslog/*/messages.log" ]
type => "syslog"
}
file {
path => [ "/scratch/rsyslog/Aug/messages.log" ]
type => "apic_logs"
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp } %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
remove_field => ["@version", "host", "message", "_type", "_index", "_score", "path"]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
if [type] == "apic_logs" {
grok {
match => { "message" => "%{CISCOTIMESTAMP:syslog_timestamp} %{CISCOTIMESTAMP} %{SYSLOGHOST:syslog_hostname} (?<prog>[\w._/%-]+) %{SYSLOG5424SD:f1}%{SYSLOG5424SD:f2}%{SYSLOG5424SD:f3}%{SYSLOG5424SD:f4}%{SYSLOG5424SD:f5} %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
remove_field => ["@version", "host", "message", "_type", "_index", "_score", "path"]
}
}
}
output {
if [type] == "syslog" {
elasticsearch {
hosts => "noida-elk:9200"
manage_template => false
index => "syslog-%{+YYYY.MM.dd}"
document_type => "messages"
}
}
}
output {
if [type] == "apic_logs" {
elasticsearch {
hosts => "noida-elk:9200"
manage_template => false
index => "apic_logs-%{+YYYY.MM.dd}"
document_type => "messages"
}
}
}
3条答案
按热度按时间0aydgbwb1#
我解决了问题!
为什么在Kibana发现页面中看到符号?by字段当您在Kibana中打开“发现”页面时,您可能会看到一个问号?by字段,这些字段列在可用字段部分中,而不是字符t。当您重新加载字段列表时,将分析字段类型,问号?将替换为字符t。
确保选中以下屏幕截图中最右侧的框
include system indices
。重新排列表中的字段列您可以重新排列表中的字段列。将鼠标移到要移动的列标题上,然后单击“将列移到左边”按钮或“将列移到右边”按钮。
重新加载字段列表完成以下步骤以重新加载Kibana中显示的字段列表:
选取“管理”页面,然后选取索引样式,列出可用的索引。
为您的空间选择索引模式,以查看Elasticsearch记录的每个字段及其关联的核心类型。
单击重新加载字段列表按钮重新加载字段列表以重新加载索引模式字段。
字段列表将刷新。
bvhaajcl2#
如果您正在使用Kibana,请确保在重新创建索引后刷新它,特别是在向其中添加新字段时。此刷新在Kibana的管理部分下针对每个索引模式可用。
“?”-表示可用的列,但在执行刷新之前不是弹性索引的一部分。
lztngnrs3#
其他答案对我都不起作用a a不过请看一下这个链接:
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html#docs-update-by-query
执行(控制台中的ES/OpenSearch API沙箱):
或通过 curl
注意!在AWS OpenSearch中,这确实对我有效(沿着索引模式重新创建)。