📗
📘 Kibanaでよく使うログのクエリ集(Dev Tools編)
Elasticsearch のデータを Kibana の Dev Tools(Console)で直接確認・調査するための、よく使うクエリをまとめました。トラブル調査やデータ確認に役立ちます。
🔍 1. 直近5分間の ERROR ログを確認する
POST logs-*/_search
{
"size": 100,
"query": {
"bool": {
"must": [
{
"match": {
"level": "ERROR"
}
},
{
"range": {
"@timestamp": {
"gte": "now-5m",
"lt": "now"
}
}
}
]
}
}
}
-
logs-*
: 対象インデックス。例:tomcat-*
やapp-log-*
に変更可能。 -
@timestamp
: ログのタイムスタンプフィールド。
📅 2. 特定期間(例:2024年5月1日〜5月10日)のログを検索
POST app-log*/_search
{
"query": {
"range": {
"@timestamp": {
"gte": "2024-05-01T00:00:00",
"lt": "2024-05-11T00:00:00"
}
}
}
}
🔡 3. メッセージにキーワードを含むログを検索
POST logs-*/_search
{
"query": {
"match": {
"message": "database error"
}
}
}
message
フィールドに "database error"
を含むログを検索。
🧠 4. 複数条件でAND検索(例:level=ERRORかつservice=auth)
POST logs-*/_search
{
"query": {
"bool": {
"must": [
{ "match": { "level": "ERROR" } },
{ "match": { "service": "auth" } }
]
}
}
}
_source
指定)
📌 5. 特定のフィールドだけ表示する(POST logs-*/_search
{
"_source": ["@timestamp", "level", "message"],
"query": {
"match_all": {}
},
"size": 10
}
🔃 6. 最新のログを時刻順で取得
POST logs-*/_search
{
"size": 10,
"sort": [
{ "@timestamp": { "order": "desc" } }
]
}
ERROR
またはFATAL
のログを取得
⚠️ 7. levelがPOST logs-*/_search
{
"query": {
"bool": {
"should": [
{ "match": { "level": "ERROR" } },
{ "match": { "level": "FATAL" } }
]
}
}
}
🧪 8. 特定のフィールドが存在するログを検索
POST logs-*/_search
{
"query": {
"exists": {
"field": "stacktrace"
}
}
}
🧼 9. ログの削除(注意:管理者専用)
POST logs-*/_delete_by_query
{
"query": {
"match": {
"level": "DEBUG"
}
}
}
⚠️ 誤って大量に削除しないように、事前に検索で確認しましょう。
###🧮 10. ログ件数だけ取得したいとき(count API)
GET logs-*/_count
{
"query": {
"match": {
"level": "ERROR"
}
}
}
📝 補足
- 日付のフォーマット:
yyyy-MM-dd'T'HH:mm:ss
(ISO 8601) - Dev Tools は Kibana 左メニューの「Dev Tools」→「Console」から利用可能。
📂 インデックス名の例
インデックス名 | 内容 |
---|---|
tomcat-2024.06.01 |
Tomcat ログ(日次) |
batch-2024.06.01 |
バッチログ(日次) |
app-log-* |
アプリケーション汎用ログ |
Discussion