2017-01-06 55 views
1

Graylogから特定のログメッセージを削除する必要がありますが、これを行うための公開APIはありません(Graylog APIブラウザを使用)。Graylogから特定のログメッセージを削除する

これを行う方法についての説明はほとんどありません。私はカールとクエリAPIを介して/可能であったことを暗示するいくつかのランダムな記事を見つけましたが、何も本質的ではありません。

graylogは "http://1.2.3.4:5678"でアクセス可能で、インデックス "graylog_0"に "94c84300-d3c1-11e6-b900-005056ac343f"というIDのメッセージがあります。どのようにこのメッセージを削除しますか?

+0

をあなたはGraylog背後ESのインスタンスへのアクセスを持っていますか? – Val

+0

はい私はES –

答えて

2

ESにアクセスできるため、ESで直接メッセージを削除できます。そして、あなたはあなたのメッセージ

curl -XDELETE 'http://localhost:9200/graylog_0/message/94c84300-d3c1-11e6-b900-005056ac343f 
を削除することができます

curl -XPUT 'http://localhost:9200/graylog_0/_settings' -d '{ 
    "index" : { 
     "blocks.write" : false 
    } 
}' 

:あなたのメッセージは、過去のインデックスであるならば、あなたはそれが過去のすべてのインデックスが読み取り専用Graylogによって作られたので、最初にこれを実行しているとして、再び書き込み可能にする必要があります

は最後に、あなたはまた、あなたがGrayloに対して直接これを実行できるようにGraylogは、インデックス範囲を再計算したいかもしれませんが、インデックスは読み取り専用再び

curl -XPUT 'http://localhost:9200/graylog_0/_settings' -d '{ 
    "index" : { 
     "blocks.write" : true 
    } 
}' 

オプションをする必要がありますグラムサーバ:

curl -XPOST http://1.2.3.4:5678/system/indices/ranges/rebuild 

UPDATE

あなたはバルクにしたい場合は、複数のメッセージを削除し、簡単に一括APIを使用することができます。

curl -XPOST 'http://localhost:9200/graylog_0/message' -d ' 
{"delete":{ "_id": "94c84300-d3c1-11e6-b900-005056ac343f"}} 
{"delete":{ "_id": "94c84300-d3c1-11e6-b900-005056ac543e"}} 
{"delete":{ "_id": "94c84300-d3c1-11e6-b900-005056ac8694"}} 
{"delete":{ "_id": "94c84300-d3c1-11e6-b900-005056ac1264"}} 
' 
+0

にアクセスすることができますありがとうVal、あなたは伝説です!出来た。複数のメッセージを一括して削除する方法を知りませんか? –

+1

うれしかった!はい、私の更新された答えを見てください – Val

関連する問題