Foreman
從工頭那裡檢索審計和報告
我有一個 Foreman 1.9.0 系統,在 RHEL 7.2 上使用 postgres 作為後端。
提出了能夠近乎實時(5-10 分鐘標記)將審計日誌和報告發送給外部實體的要求。
我一直在網上尋找,但無法確定這是否可能。我可以創建一個腳本,直接從數據庫中讀取日誌並將它們輸出到 xml。但從問責制的角度來看,這並不理想。
理想的輸出解決方案是 XML,但 syslog 消息格式就足夠了。
謝謝
我認為有如此嚴格的要求,您應該創建一個 Foreman 外掛。請參閱https://theforeman.org/plugins/#3.WritingYourOwn尋求幫助或在郵件列表和 IRC 頻道中詢問。
Foreman 使用 gem ‘audited’ ( https://github.com/collectiveidea/audited ) 來擷取對所有對象所做的更改。此 gem 將審核儲存在名為“Audit”的對像中。您可以在 Foreman 外掛中擴展此對象,並編寫一個
after_save
呼叫,以 XML 格式將其自身的表示發送到您的外部伺服器。這樣您的審核將自動發送,但是您應該小心並使操作非同步並擷取錯誤,以防與外部伺服器的連接不起作用等…或者(並且更基本且容易出錯)您可以編寫一個 rake 任務(參見此處的範例https://github.com/theforeman/foreman/tree/develop/lib/tasks),每 X 分鐘收集一次所有審計資訊並以 XML 格式將其發送到外部伺服器。這實際上是與您之前描述的非常相似的腳本。