2017-01-06 4 views
1

Ich muss eine bestimmte Log-Nachrichten von Graylog löschen, aber es scheint keine öffentliche API zu sein, um dies zu tun (mit dem Graylog API-Browser).Lösche eine bestimmte Log-Nachricht von Graylog

Es gibt sehr wenig Dokumentation darüber, wie man das machen könnte. Ich habe ein paar zufällige Artikel gefunden, die andeuten, dass es über curl und eine Abfrage API möglich ist/war, aber nichts Substanzielles.

Gegeben ein Graylog ist erreichbar über "http://1.2.3.4:5678" und ich habe eine Nachricht mit der ID "94c84300-d3c1-11e6-b900-005056ac343f" im Index "graylog_0" Wie würde ich diese Nachricht löschen?

+0

Haben Sie Zugriff auf die ES-Instanz hinter Graylog haben ? – Val

+0

ja ich kann auf ES zugreifen –

Antwort

2

Da Sie Zugriff auf ES haben, können Sie die Nachricht direkt in ES entfernen. Wenn Sie Ihre Nachricht in einem früheren Index ist, müssen Sie es wieder beschreibbar zu machen, wie alle bisherigen Indizes gemacht sind schreibgeschützt durch Graylog, so erste laufen:

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

Dann können Sie Ihre Nachricht löschen

curl -XDELETE 'http://localhost:9200/graylog_0/message/94c84300-d3c1-11e6-b900-005056ac343f 

Schließlich müssen Sie den Index schreibgeschützt wieder

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

Optional machen, möchten Sie vielleicht auch Graylog neu berechnen Indexbereiche machen, so können Sie dies direkt gegen die Graylo laufen kann g-Server:

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

UPDATE

Wenn Sie mehrere Nachrichten an Masse löschen möchten, können Sie die Bulk-API leicht verwenden:

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

Danke Val, du bist eine Legende! Es funktionierte. Sie würden nicht zufällig wissen, wie Sie mehrere Nachrichten in großen Mengen löschen können? –

+1

Froh, dass es geholfen hat! Ja, sehe meine aktualisierte Antwort – Val

Verwandte Themen