啟用系統審計的問題(Firebird 的跟踪和審計服務)
我想在我的 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_trace
AuditTraceConfigFile = 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 發行說明了解詳細資訊