2017-01-23 7 views
1

Wir verwenden Apache Phoenix, um auf einen HBase-Datenspeicher zuzugreifen. Als Teil bestimmter Anforderungen müssen wir jeden Aktualisierungsvorgang protokollieren, z. B. Befehle zum Schreiben und Ablegen von Tabellen, die von einem Phoenix-Client ausgegeben wurden. Erfasst die Protokollierung von Phoenix diese Befehle bereits in einem analysierbaren Format? Wenn nicht, wie könnte ich diese Informationen erfassen?Alle Anfragen von Apache Phoenix protokollieren

Antwort

0

* Annahme, dass Sie PQS verwenden * Abhängig von der verwendeten Version können Sie die Ablaufverfolgung in 4.8 und höher aktivieren.

Wenn Sie auf 4.7 und niedriger sind, können Sie einen Zwischen/Reverse-Proxy, wie nginx

log_format postdata '$request_time $msec $remote_addr - $remote_user [$time_local] ' 
         '"$request" $status $bytes_sent ' 
'"$http_referer" "$http_user_agent" "$request_body"'; 

Von einem Beitrag benutzen ich, http://bastide.org/2017/01/18/logging-using-pqs-lower-than-4-6/

Sie können dann auswählen, regex auf die Protokollieren und Betrachten des ProtoBuf-Objekts, oder Sie können die Filterung im Protokoll mit Regex in der Nginx-Konfiguration betrachten.

Für Versionen höher als 4.7 können Sie eine log4j Eigenschaften Konfigurationsdatei verwenden, und schalten Sie die Protokollierung für PreparedStatement/Statement -Dlog4j.configuration = file: ///tmp/log4j.properties

Verwandte Themen