連載
» 2008年02月25日 00時00分 UPDATE

UNIX処方箋:acctcomコマンドによる終了ステータスの確認 (1/2)

「事件は枯れたシステムが稼働する現場で起こってるんだ」と現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、プロセスの開始/終了時刻および終了ステータスを確認するacctcomコマンドの活用法を紹介する。

[ITmedia]
80x80_1_solaris.jpg

Solaris 9上でサーバクライアント型アプリケーションを運用しています。これまで正常に動作していたサーバプログラムが異常終了し、クライアントプログラムからアクセスできなくなってしまいました。原因解析のため、サーバプログラムがインストールされているシステムの/var/adm/messagesファイル*と、サーバプログラムのログファイルの内容を確認しましたが、何も情報が残っていません。このような場合、サーバプログラムがどのような状況で終了したのかを調べる方法はありませんか?


80x80_2.jpg

プログラムが異常終了したにもかかわらず、ログファイルに何も残っていない場合には、次のような情報が原因解析の手がかりとなります。

  • サーバプロセスの終了時刻
  • サーバプロセス終了時のステータス
  • サーバプロセス終了時のコアファイル*の有無
  • 同時実行されていたプロセス

 質問のケースでは、acctcomコマンドによってプロセスの開始/終了時刻および終了ステータスを確認できます。なお、Solaris 9におけるacctcomコマンドは、システムアカウンティング*の一部として実装されているので、事前にシステムアカウンティングを起動しておく必要があります。

 以下、最小限のシステムアカウンティング設定、およびacctcomコマンドの利用方法について説明します。

システムアカウンティング設定

 システムアカウンティングが設定されていない場合は、以下の作業を行ってください。

パッケージの確認

まずはpkginfoコマンドを実行して、SUNWaccrパッケージとSUNWaccuパッケージがインストールされていることを確認します。

% pkginfo


システムアカウンティングの起動/停止スクリプト

 /etc/init.d/acctスクリプトのリンクによって、システムアカウンティングの起動スクリプト/etc/rc2.d/S22acctと、停止スクリプト/etc/rc2.d/K22acctを作成します。

# ln /etc/init.d/acct /etc/rc2.d/S22acct

# ln /etc/init.d/acct /etc/rc2.d/K22acct


これによって、システム起動時にアカウンティングシステムが自動実行され、システム停止時には自動的に停止されます。

収集したログの分割

 システムアカウンティングを起動すると、各プロセスの終了時に起動/終了時刻や終了ステータスなどの情報が/var/adm/pacctファイルへ書き込まれます。ただ、/var/adm/pacctファイルのサイズは、短時間のうちに極めて大きくなるため、

  • ファイル破損時の被害を最小限にとどめる
  • ファイルシステムの空き容量を確保する際、古いログを移動・削除しやすくする

などの目的から、500ブロックごとに分割してくれるckpacctコマンドをcrontabファイルに設定しておくとよいでしょう。

 例えば、1時間ごとにckpacctコマンドを実行する場合は、admユーザーのcronを設定するため、

# crontab -e adm


と「-e adm」オプション指定でcrontabコマンドを実行して、次のような内容を追加します。

0 * * * * /usr/lib/acct/ckpacct


なお、ckpacctコマンドは、分割したファイル/var/adm/pacctN(Nは0、1、……)の移動/削除は行わないので、それらの作業はシステム管理者が定期的に実行する必要があります。

アカウンティングシステムを起動

 /etc/init.d/acctスクリプトにstartオプションを指定するか、あるいはシステムの再起動を行って、アカウンティングシステムを起動します。

# /etc/init.d/acct start


このページで出てきた専門用語

/var/adm/messagesファイル

システム関連のメッセージが記録されているファイル。

コアファイル

プログラムがエラーにより不正終了する際、メモリやレジスタの内容をディスクに記録すること、あるいは記録したファイル。

システムアカウンティング

システムの利用状況を収集する機能。システムアカウンティングで提供している機能や、設定方法の詳細については、こちらを参照。


関連キーワード

サーバ | 運用管理 | Solaris | UNIX | UNIX処方箋


       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

ピックアップコンテンツ

- PR -

注目のテーマ