
実行中のプロセスのリストの記録を保持する既存のSolaris/Unix用のツールはありますか?どのプロセスがアクティブ/実行中かを過去に確認できるようにしたいです。
psの出力を定期的にファイルに書き込むcronジョブを作成できますが、これは粗雑で大規模なサーバーファームでは非効率的で多くのファイルを生成します。
完全なコマンドパラメータが必要なため、CPU時間、状態、rss、pid、ppid、および領域情報を含む/usr/ucb/ps auxww出力でなければなりません。
また、可能であれば、出力は解析しやすくする必要があります(たとえば、一貫して区切られた形式または他の形式)。
答え1
監査を使用してください。
監査は、指定されたイベントが発生したときに監査履歴を生成します。最も一般的には、監査レコードを生成するイベントは次のとおりです。
- システムの起動とシステムの終了
- ログインとログアウト
- プロセスの作成またはプロセスの破棄、またはスレッドの作成またはスレッドの破棄
- オブジェクトを開く、閉じる、作成、破壊または名前を変更する
- 特権機能または役割ベースのアクセス制御(RBAC)の使用
- ジョブ識別とジョブ認証
- プロセスまたはユーザーの権限の変更
- パッケージのインストールなどの管理作業
- サイト固有のアプリケーション
監査履歴は、次の3つのソースから生成されます。
- 申請が承認されました。
- 非同期監査イベントにより
- プロセスシステムコールの結果
Solaris 監査のための良いブログ記事はここにあります。ここ。