无法对 kibana 中的 logstash 索引执行 SQL 搜索
Unable to perform SQL search on logstash index in kibana
当使用以下查询进行搜索时,我在 kibana 中有以下索引。
GET /_xpack/sql?format=txt
{
"query": "SHOW tables"
}
输出:
name | type
---------------------------------+---------------
.kibana |ALIAS
.kibana_1 |BASE TABLE
.monitoring-es-6-2019.03.17 |BASE TABLE
.monitoring-kibana-6-2019.03.17 |BASE TABLE
.monitoring-logstash-6-2019.03.17|BASE TABLE
bank |BASE TABLE
logstash-2015.05.18 |BASE TABLE
logstash-2015.05.19 |BASE TABLE
logstash-2015.05.20 |BASE TABLE
尝试搜索 logstash 时 table 出现如下错误。
GET _xpack/sql?format=txt
{
"query": "select * from logstash-2015.05.18"
}
错误输出
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "line 1:23: mismatched input '-' expecting {<EOF>, ',', 'ANALYZE', 'ANALYZED', 'AS', 'CATALOGS', 'COLUMNS', 'CURRENT', 'DAY', 'DEBUG', 'EXECUTABLE', 'EXPLAIN', 'FIRST', 'FORMAT', 'FULL', 'FUNCTIONS', 'GRAPHVIZ', 'GROUP', 'HAVING', 'HOUR', 'INNER', 'INTERVAL', 'JOIN', 'LAST', 'LEFT', 'LIMIT', 'MAPPED', 'MINUTE', 'MONTH', 'NATURAL', 'OPTIMIZED', 'ORDER', 'PARSED', 'PHYSICAL', 'PLAN', 'RIGHT', 'RLIKE', 'QUERY', 'SCHEMAS', 'SECOND', 'SHOW', 'SYS', 'TABLES', 'TEXT', 'TYPE', 'TYPES', 'VERIFY', 'WHERE', 'YEAR', '{LIMIT', IDENTIFIER, DIGIT_IDENTIFIER, QUOTED_IDENTIFIER, BACKQUOTED_IDENTIFIER}"
}
],
"type": "parsing_exception",
"reason": "line 1:23: mismatched input '-' expecting {<EOF>, ',', 'ANALYZE', 'ANALYZED', 'AS', 'CATALOGS', 'COLUMNS', 'CURRENT', 'DAY', 'DEBUG', 'EXECUTABLE', 'EXPLAIN', 'FIRST', 'FORMAT', 'FULL', 'FUNCTIONS', 'GRAPHVIZ', 'GROUP', 'HAVING', 'HOUR', 'INNER', 'INTERVAL', 'JOIN', 'LAST', 'LEFT', 'LIMIT', 'MAPPED', 'MINUTE', 'MONTH', 'NATURAL', 'OPTIMIZED', 'ORDER', 'PARSED', 'PHYSICAL', 'PLAN', 'RIGHT', 'RLIKE', 'QUERY', 'SCHEMAS', 'SECOND', 'SHOW', 'SYS', 'TABLES', 'TEXT', 'TYPE', 'TYPES', 'VERIFY', 'WHERE', 'YEAR', '{LIMIT', IDENTIFIER, DIGIT_IDENTIFIER, QUOTED_IDENTIFIER, BACKQUOTED_IDENTIFIER}",
"caused_by": {
"type": "input_mismatch_exception",
"reason": null
}
},
"status": 400
}
能否请您建议我们如何在这种情况下进行 select 查询。
此致,
赫曼斯.
就用双引号转义吧。下面的查询应该可以解决问题。
POST _xpack/sql?format=txt
{
"query": "select * from \"logstash-2015.05.18\""
}
希望对您有所帮助!
当使用以下查询进行搜索时,我在 kibana 中有以下索引。
GET /_xpack/sql?format=txt
{
"query": "SHOW tables"
}
输出:
name | type
---------------------------------+---------------
.kibana |ALIAS
.kibana_1 |BASE TABLE
.monitoring-es-6-2019.03.17 |BASE TABLE
.monitoring-kibana-6-2019.03.17 |BASE TABLE
.monitoring-logstash-6-2019.03.17|BASE TABLE
bank |BASE TABLE
logstash-2015.05.18 |BASE TABLE
logstash-2015.05.19 |BASE TABLE
logstash-2015.05.20 |BASE TABLE
尝试搜索 logstash 时 table 出现如下错误。
GET _xpack/sql?format=txt
{
"query": "select * from logstash-2015.05.18"
}
错误输出
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "line 1:23: mismatched input '-' expecting {<EOF>, ',', 'ANALYZE', 'ANALYZED', 'AS', 'CATALOGS', 'COLUMNS', 'CURRENT', 'DAY', 'DEBUG', 'EXECUTABLE', 'EXPLAIN', 'FIRST', 'FORMAT', 'FULL', 'FUNCTIONS', 'GRAPHVIZ', 'GROUP', 'HAVING', 'HOUR', 'INNER', 'INTERVAL', 'JOIN', 'LAST', 'LEFT', 'LIMIT', 'MAPPED', 'MINUTE', 'MONTH', 'NATURAL', 'OPTIMIZED', 'ORDER', 'PARSED', 'PHYSICAL', 'PLAN', 'RIGHT', 'RLIKE', 'QUERY', 'SCHEMAS', 'SECOND', 'SHOW', 'SYS', 'TABLES', 'TEXT', 'TYPE', 'TYPES', 'VERIFY', 'WHERE', 'YEAR', '{LIMIT', IDENTIFIER, DIGIT_IDENTIFIER, QUOTED_IDENTIFIER, BACKQUOTED_IDENTIFIER}"
}
],
"type": "parsing_exception",
"reason": "line 1:23: mismatched input '-' expecting {<EOF>, ',', 'ANALYZE', 'ANALYZED', 'AS', 'CATALOGS', 'COLUMNS', 'CURRENT', 'DAY', 'DEBUG', 'EXECUTABLE', 'EXPLAIN', 'FIRST', 'FORMAT', 'FULL', 'FUNCTIONS', 'GRAPHVIZ', 'GROUP', 'HAVING', 'HOUR', 'INNER', 'INTERVAL', 'JOIN', 'LAST', 'LEFT', 'LIMIT', 'MAPPED', 'MINUTE', 'MONTH', 'NATURAL', 'OPTIMIZED', 'ORDER', 'PARSED', 'PHYSICAL', 'PLAN', 'RIGHT', 'RLIKE', 'QUERY', 'SCHEMAS', 'SECOND', 'SHOW', 'SYS', 'TABLES', 'TEXT', 'TYPE', 'TYPES', 'VERIFY', 'WHERE', 'YEAR', '{LIMIT', IDENTIFIER, DIGIT_IDENTIFIER, QUOTED_IDENTIFIER, BACKQUOTED_IDENTIFIER}",
"caused_by": {
"type": "input_mismatch_exception",
"reason": null
}
},
"status": 400
}
能否请您建议我们如何在这种情况下进行 select 查询。
此致, 赫曼斯.
就用双引号转义吧。下面的查询应该可以解决问题。
POST _xpack/sql?format=txt
{
"query": "select * from \"logstash-2015.05.18\""
}
希望对您有所帮助!