Configuration

啟用系統審計的問題(Firebird 的跟踪和審計服務)

  • July 8, 2021

我想在我的 Firebird 2.5.9.27139 (x64) 數據庫 (Windows 10) 上啟用系統審核,以檢查對其執行的所有查詢。

我已經閱讀了一些關於配置文件應該是什麼樣子的文件,但很可能我在設置所有路徑和條目時遇到了一些小問題。

如果有人可以查看我的設置並指出我應該更改的內容,我將不勝感激。

我的數據庫位於:C:\KSBAZA\KS-APW\WAPTEKA.FDB

我想將所有日誌和跟踪配置文件儲存在目錄中:C:\DB_trace

在主 Firebird 目錄中,我取消註釋並將firebird.conf文件的行設置為:

AuditTraceConfigFile = C:\DB_trace\apw_trace.conf

C:\DB_trace\apw_trace.conf的內容:

<database WAPTEKA.FDB>
 enable true
 log_filename C:\DB_trace\audit_trace_database.log
 max_log_size 0
 include_filter %(INSERT|UPDATE|DELETE)%
 log_connection true
 connection_id 0
 log_transaction true
 log_statement_prepare true
 log_statement_free true
 log_statement_start true
 log_statement_finish true
 log_procedure_start true
 log_procedure_finish true
 log_trigger_start true
 log_trigger_finish true
 log_errors true
 log_warnings true
 log_initfini true
 log_sweep true
 time_threshold 0
 max_sql_length 65536
</database>

<services>
 enabled true
 log_filename C:\DB_trace\audit_trace_services.log
 max_log_size 0
 log_services true
 log_errors true
 log_warnings true
 log_initfini true
</services>

將更改保存到firebird.conf文件後,我完全重啟了機器(編輯是在 Firebird 服務關閉時執行的。)

此外,我嘗試將apw_trace.conf文件放在與**firebird.conf相同的目錄中(現在),但沒有任何結果 - 在C:\DB_traceAuditTraceConfigFile = apw_trace.conf目錄中沒有創建日誌文件(我應該觸摸這些空**.日誌*文件?)。

您的配置文件有很多問題:

  • enable true應該enabled true
  • log_filename C:\DB_trace\audit_trace_database.log應該log_filename C:\\DB_trace\\audit_trace_database.log
  • log_connection true應該log_connections true
  • log_transaction true應該log_transactions true

firebird.log通過檢查文件可以檢測到大多數這些錯誤。

儘管文件中fbtrace.conf說:

模式是沒有路徑的數據庫名稱或基於“SIMILAR TO”的正則表達式,它與完全限定的數據庫路徑名稱匹配。

看起來您總是需要實際指定與數據庫路徑匹配的SIMILAR TO模式,例如%[\\/]WAPTEKA.FDB.

在我的機器上工作的更正條目是:

<database %[\\/]WAPTEKA.FDB>
 enabled true
 log_filename C:\\DB_trace\\audit_trace_database.log
 max_log_size 0
 include_filter %(INSERT|UPDATE|DELETE)%
 log_connections true
 connection_id 0
 log_transactions true
 log_statement_prepare true
 log_statement_free true
 log_statement_start true
 log_statement_finish true
 log_procedure_start true
 log_procedure_finish true
 log_trigger_start true
 log_trigger_finish true
 log_errors true
 log_warnings true
 log_initfini true
 log_sweep true
 time_threshold 0
 max_sql_length 65536
</database>

Firebird 3 中的語法略有不同,請查看Firebird 3 發行說明了解詳細資訊

引用自:https://dba.stackexchange.com/questions/273221