Linux/アカウンティング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
RIGHT:[[Linux 関係覚え書き]]
*acct パッケージ
psacct パッケージが入っていれば,acct は使える.
-psacct-6.3.2-27
# chkconfig psacct on
*コマンド
**ac
ac コマンドで,ユーザのコネクトタイム(時間単位)が表示でき...
このコマンドは wtmp を見ている.
ユーザ毎のトータル接続時間を表示(月一ぐらいで集計すればい...
# ac -pa
**sa
sa コマンドで,コマンドの実行時間を集計できる.
このコマンドは,/var/account/pacct を見ている.
ユーザ毎のプロセス数と CPU 実行時間
# sudo /usr/sbin/sa -m
ユーザ名 プロセス数 CPU タイム(system + user time) CP...
# info accounting
-----------------------
*logrotate との組み合わせ
上記,各コマンドは参照するログファイルと logrotate との
関係を調整し,月ごとの集計がとれるとうれしい.
以下,RHEL3 でのお話.
/var/log/wtmp については /etc/logrotate.conf 内で
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
となっている.
つまり,1ヶ月に一度ローテーションし,1個分のファイルを残...
なっている.
これはこれでヨサゲ.
強いていうなら,
rotate 12
にするのと,
compress
をはずすぐらいか.
/var/account/pacct については,/etc/logrotate.d/psacct 内...
/var/account/pacct {
prerotate
/usr/sbin/accton
endscript
compress
notifempty
daily
rotate 31
create 0600 root root
postrotate
/usr/sbin/accton /var/account/pacct
endscript
}
となっている.
つまり,毎日ローテーションし,31個(つまりアバウトな 1ヶ月...
ファイルを残す.
その前後で pacct を OFF(/usr/sbin/acct を引数なしで実行す...
している.
これを
/var/account/pacct {
prerotate
/usr/sbin/accton
endscript
notifempty
monthly
rotate 12
create 0600 root root
postrotate
/usr/sbin/accton /var/account/pacct
endscript
}
といった感じに変更すればいい.
で,集計コマンド.
毎月安全を見て 2日(もしくは 1日の夜,もしくは /etc/cron.m...
辞書的に後ろの方な名前でスクリプトを組んでおく)に動かす
#!/bin/sh
# これは,GNU の date コマンド(Shell Util)でのみ実行可能...
LAST_MONTH=`date --date '1 month ago' +%Y%m`
ac -pa -f /var/log/wtmp.1 > /var/account/sessionlog.${LA...
/usr/sbin/sa -m /var/account/pacct.1 > /var/account/cpul...
終了行:
RIGHT:[[Linux 関係覚え書き]]
*acct パッケージ
psacct パッケージが入っていれば,acct は使える.
-psacct-6.3.2-27
# chkconfig psacct on
*コマンド
**ac
ac コマンドで,ユーザのコネクトタイム(時間単位)が表示でき...
このコマンドは wtmp を見ている.
ユーザ毎のトータル接続時間を表示(月一ぐらいで集計すればい...
# ac -pa
**sa
sa コマンドで,コマンドの実行時間を集計できる.
このコマンドは,/var/account/pacct を見ている.
ユーザ毎のプロセス数と CPU 実行時間
# sudo /usr/sbin/sa -m
ユーザ名 プロセス数 CPU タイム(system + user time) CP...
# info accounting
-----------------------
*logrotate との組み合わせ
上記,各コマンドは参照するログファイルと logrotate との
関係を調整し,月ごとの集計がとれるとうれしい.
以下,RHEL3 でのお話.
/var/log/wtmp については /etc/logrotate.conf 内で
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
となっている.
つまり,1ヶ月に一度ローテーションし,1個分のファイルを残...
なっている.
これはこれでヨサゲ.
強いていうなら,
rotate 12
にするのと,
compress
をはずすぐらいか.
/var/account/pacct については,/etc/logrotate.d/psacct 内...
/var/account/pacct {
prerotate
/usr/sbin/accton
endscript
compress
notifempty
daily
rotate 31
create 0600 root root
postrotate
/usr/sbin/accton /var/account/pacct
endscript
}
となっている.
つまり,毎日ローテーションし,31個(つまりアバウトな 1ヶ月...
ファイルを残す.
その前後で pacct を OFF(/usr/sbin/acct を引数なしで実行す...
している.
これを
/var/account/pacct {
prerotate
/usr/sbin/accton
endscript
notifempty
monthly
rotate 12
create 0600 root root
postrotate
/usr/sbin/accton /var/account/pacct
endscript
}
といった感じに変更すればいい.
で,集計コマンド.
毎月安全を見て 2日(もしくは 1日の夜,もしくは /etc/cron.m...
辞書的に後ろの方な名前でスクリプトを組んでおく)に動かす
#!/bin/sh
# これは,GNU の date コマンド(Shell Util)でのみ実行可能...
LAST_MONTH=`date --date '1 month ago' +%Y%m`
ac -pa -f /var/log/wtmp.1 > /var/account/sessionlog.${LA...
/usr/sbin/sa -m /var/account/pacct.1 > /var/account/cpul...
ページ名: