LoginSignup
0
0

More than 1 year has passed since last update.

OSWatcherのカスタムデータコレクション

Posted at

OSWatcherでは、既存で用意されているOS稼働情報とは別に、自分で取得対象を追加することができ、このときのログは既存の出力ファイル同様にログメンテナンスの対象となります。
ここでは、OCI Compute Instanceにデフォルトで入っているOSWatcher環境(RPMでインストールされた環境)に、このカスタムデータコレクションを利用してdstatをOSWatcherに追加することを実施してみます。

この方法の出所としては、OS Watcher User's Guide (ドキュメントID 1531223.1)のAdding Custom Data Collectionsの内容となります。

手順

1.追加するカスタムスクリプトの置き場を把握

vmstat,mpstatなど、既存の実行スクリプトが配置されている場所を探します。
OCI computeの場合は/usr/libexec/oswatcherでした。

自分は、以下のような感じで探しました。
1-1.ps -ef|grep oswでOSWatcherの常時実行スクリプトが/usr/sbin/OSWatcherであるとわかる

1-2.view /usr/sbin/OSWatcherでスクリプトの中身を見て、てきとうにVMSTATなどの文字列で検索して、それらしい実行箇所を探り当てる

1-3.これだ!なんと/usr/libexec/oswatcher/vmsubはハードコードされていました。

・・・
/usr/libexec/oswatcher/vmsub $OSWBB_ARCHIVE_DEST/oswvmstat/${hostn}_vmstat_$hour "$VMSTAT" $oswgCompliance &
・・・

2./usr/libexec/oswatcherextras.txtcall_dstat.shを配置

extras.txt

extras.txtは追加するカスタムスクリプトの設定ファイルで、名前は固定です。

中身は以下のように指定します。カスタムスクリプトは10個まで指定できるようです。

call_dstat.sh dstat oswdstat

call_dstat.shは追加するカスタムスクリプトの名前です。名前は任意です。
dstatは追加するカスタムスクリプトの種類(出力されるログファイルのファイル名に影響します。例tjkpostgres13_dstat_21.05.29.1700.dat)
oswdstatはログの出力先のディレクトリ

call_dstat.sh

dstat実行用のカスタムスクリプト、call_dstat.shはこんな感じです。

#!/bin/sh
echo "zzz ***"`date '+%a %b %e %T %Z %Y'` >> $1
dstat -tclmndr 1 0 >> $1

dstat -tclmndr 1 0のところを他コマンドに書き換えれば応用ができます。注意点は、定期的に出力が続くコマンドではなく、一回で実行が完了する形式のコマンドを指定することとなります。そうしないと、OSWatcherのインターバル毎に実行コマンドが重複していきます。

3.OSWatcherを再起動

#service oswatcher restart

ログの出力のされ方はこのような形になります。

[root@tjkpostgres13 oswdstat]# pwd
/var/oled/oswatcher/archive/oswdstat
[root@tjkpostgres13 oswdstat]# ls
tjkpostgres13_dstat_21.05.29.1700.dat.gz  tjkpostgres13_dstat_21.05.29.1800.dat
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0