今回はSCOMでのLinuxの監視設定をしてみました。
RHELなどの商用のディストリビューションは依然から監視できたのですが、CentOSなんかはCodePlexなどに上がっているソースを使っての監視になっていました。しかし、SCOM 2012SP1からCentOS, Debian, Oracle, and Ubuntu Linuxといったディストリビューションの監視もサポートされるようになりましたので、早速設定してみました。
サポート対象のディストリビューション
CentOS 5 (x86/x64)
CentOS 6 (x86/x64)
Debian GNU/Linux 5 (x86/x64)
Debian GNU/Linux 6 (x86/x64)
Oracle Linux 5 (x86/x64)
Oracle Linux 6 (x86/x64)
Ubuntu Server 10.04 (x86/x64)
Ubuntu Server 12.04 (x86/x64)
参考URL:http://technet.microsoft.com/en-us/library/jj656650.aspx
管理パックのインポート
まずは関連する管理パックをSCOMにインストールします。Universal Linuxという管理パック群がSCOMのインストールメディアの以下のフォルダに格納されているはずです。
[MediaRoot]\ManagementPacks
ここから以下の管理パックをSCOMにインポートします。
Microsoft.Linux.Library.mp
Microsoft.Linux.Universal.Library.mp
Microsoft.Linux.Universal.Monitoring.mp
Microsoft.Linux.UniversalD.1.mpb (Debian,Ubuntu用)
Microsoft.Linux.UniversalR.1.mpb (CentOS用)
Linuxコンピュータの検出
管理パックのインポートが終わったら、Linuxコンピュータを検出します。今回は手元にあったCentOSのコンピューターを検出していきます。
検出スコープにホスト名を入力し、SSHポートを指定したら、画面下の検出
ユーザとSSHキーなどの指定をします。CENTOSでsshkey-genで作ったOpenSSH形式のキーは使えません。Puttyなどでppkファイルを作成してSSHを構成しておいてください。ユーザの設定が完了したら、左側の昇格を選択します。
先ほど設定したroot権限はエージェントのインストールや検証で使われます。
ターゲットリソースプールを選択して次へいきます。
検出ができました。管理を押すことで、エージェントのインストールが始まります。
ちゃんとLinuxを検出できているのがわかります。
エラー情報
SCOMエージェントのインストール中に、以下のようなエラーが発生する場合があります。
署名済み証明書の検証操作が正常に完了しませんでした
Agent verification failed. Error detail: 宛先のコンピューター (xxx.xxx.xxx:1270) のサーバー証明書に次のエラーがあります:
SSL 証明書は、失効について確認できませんでした。失効確認用に使用されているサーバーにアクセスできない可能性があります。
SSL 証明書にホスト名と一致しない共通名 (CN) が含まれています。
今回はLinux側のFQDNの設定がおかしかったので、それを直した後に、以下の対処方法で直りました。
http://support.microsoft.com/kb/2909284/ja
監視設定
ここまででAgentとのハートビート系の監視は動きだすのですが、CPU使用率などのパフォーマンス関連の監視が動いていない状態だと思います。この辺りの機能を動かすにはvmstatなどを叩けるアカウントの設定が必要です。では設定していきます。
管理からUnix/Linuxアカウントを選択し、右側のじっこうアカウントの作成を選択します。
今度はアカウントをプロファイルに紐づけます。プロファイルの種類については以下を参照してください。
UNIX および Linux アカウントに必要な機能
http://technet.microsoft.com/ja-jp/library/hh287151.aspx
今回は監視に使うアカウントなので、アクションアカウントのプロファイルに先ほど作成したアカウントを紐づけます。
Universal Linux Computerのクラスにアカウントを紐づけます。
これで先ほど検出したLinuxでvmstatなどを叩いてパフォーマンス情報を収集するユーザが設定されました。
管理パックを見たところ、以下のようなモニタが定義されているようです。
Microsoft.Linux.Universal.OperatingSystem.TotalPercentInterruptTime.Monitor
Microsoft.Linux.Universal.OperatingSystem.TotalPercentDPCTime.Monitor
Microsoft.Linux.Universal.OperatingSystem.TotalPercentProcessorTime.Monitor
Microsoft.Linux.Universal.Processor.PercentInterruptTime.Monitor
Microsoft.Linux.Universal.Processor.PercentDPCTime.Monitor
Microsoft.Linux.Universal.Processor.PercentProcessorTime.Monitor
Microsoft.Linux.Universal.OperatingSystem.AvailableMBytes.Monitor
Microsoft.Linux.Universal.OperatingSystem.AvailableMBytesSwap.Monitor
Microsoft.Linux.Universal.LogicalDisk.PercentFreeInodes.Monitor
Microsoft.Linux.Universal.LogicalDisk.DiskHealth.Monitor
Microsoft.Linux.Universal.LogicalDisk.PercentFreeSpace.Monitor
Microsoft.Linux.Universal.LogicalDisk.FreeSpace.Monitor
Microsoft.Linux.Universal.PhysicalDisk.DiskHealth.Monitor
Microsoft.Linux.Universal.PhysicalDisk.AverageDiskTransferTime.Monitor
Microsoft.Linux.Universal.PhysicalDisk.AverageDiskReadTime.Monitor
Microsoft.Linux.Universal.PhysicalDisk.AverageDiskWriteTime.Monitor
Microsoft.Linux.Universal.NetworkAdapter.Health.Monitor
Microsoft.Linux.Universal.Process.Ssh.Monitor
もちろんルールも動き出すので、パフォーマンスのトレンド情報なども確認できるようになります。
こちらはルールの一覧です。
Page Writes/sec (Universal Linux)-Memory-Page Writes/sec
Page Reads/sec (Universal Linux)-Memory-Page Reads/sec
Available MBytes Memory (Universal Linux)-Memory-Available MBytes Memory
Pages/sec (Universal Linux)-Memory-Pages/sec
% Used Memory (Universal Linux)-Memory-% Used Memory
Used Memory MBytes (Universal Linux)-Memory-Used Memory MBytes
% Available Memory (Universal Linux)-Memory-% Available Memory
Total Processor % DPC Time (Universal Linux)-Processor-% DPC Time-_Total
Total Processor % IO Wait Time (Universal Linux)-Processor-% IO Wait Time-_Total
Total Processor % User Time (Universal Linux)-Processor-% User Time-_Total
Total Processor % Nice Time (Universal Linux)-Processor-% Nice Time-_Total
Total Processor % Processor Time (Universal Linux)-Processor-% Processor Time-_Total
Total Processor % Idle Time (Universal Linux)-Processor-% Idle Time-_Total
Total Processor % Interrupt Time (Universal Linux)-Processor-% Interrupt Time-_Total
Total Processor % Privileged Time (Universal Linux)-Processor-% Privileged Time-_Total
Available MBytes Swap (Universal Linux)-Swap Space-Available MBytes Swap
Used Swap MBytes (Universal Linux)-Swap Space-Used MBytes Swap Space
% Used Swap Space (Universal Linux)-Swap Space-% Used Swap Space
% Available Swap Space (Universal Linux)-Swap Space-% Available Swap Space