私が働いている会社は現在、サーバー(すべてUbuntu/FreeBSD)用の集中型自動化システム(SaltやPuppetなど)の展開を調査しています。私たちはおそらくSaltと一緒に行くでしょうが、それは私の質問とは無関係だと思います。
私の質問:自動化システムに含まれていないローカルな変更についてマシンを監視するための良い方法はありますか?
例:簡単な修正のために、誰かがサービスを開始したか、特定のマシンで構成ファイルを変更しました。ソルト/パペット/その他を使用してそのようなものをチェックする方法はありますか?それとも、そのためにAIDEのような外部プログラムを使用する必要がありますか?
tripwire を使用して、サーバー上のすべての関連ファイルへの変更を監視できます。逆に、自動構成を変更するたびに、トリップをリセットする必要があります。
Find(1)とmd5(1)を使用して、関連するすべてのファイルのMD5sumを取得し、オフサイトに保存されているMD5sumと比較するスクリプトを作成できます。
Tripwireの提案と同じように、私は新しいシステムに [〜#〜] aid [〜#〜] を実装してきました。これは、ご使用の環境の両方のプラットフォームで使用できます。
私がsaltについて本当に気に入っているのは、状態テストです。
# salt \* state.highstate test=True
実際に変更を適用せずに、定義された状態に準拠していることを示す、色付きの素敵なレポートを提供します。それはあなたのシステムの状態が自動化システムがそれを望んでいるものからどこに逸脱しているかをあなたに示すという点であなたが望むものをあなたに与えます。それには十分な理由があります。おそらく、あなたは塩を学んでいるか、繊細なレガシーシステムを持っていて、自動化システムですべてをやりたくないのです。塩に加える州が多ければ多いほど良いのですが、それはあなたが学びながら有機的に成長できることを意味します。
Aideは、aide.confを使用して、監視するファイル/ディレクトリとその方法を正確に把握します。 rpmで作成された(そして検証できる)ダイレクタ/ファイルを参照しないようにaide.confを設定できるPuppetテンプレートを作成することは可能です。
反対に、監視したいファイルをリストするだけでもかまいません...
パッケージの更新時にAideDBを再初期化するには、yumがPuppetを介して実行されるたびにaide --initを実行する必要があります(次に、新しく作成されたDBを所定の位置に移動する必要があります)。 Aideは、この初期化を実行するのに非常に長い時間がかかるため、これは(私たちにとって)受け入れられません。あなたの場合は問題ないかもしれません。
ニースを使用して、リソースを大量に消費しないように支援します。 -19の素晴らしい因数はwww.howtoforge.comによって提案されました。