vmstatをdaemon化して継続的なログを記録する
サーバーのリソース状態を記録しておくための方法。
shファイルを作成
仕様:60秒ごとにログを取得。結果を日時とともにファイル(/tmp/vmstat.log)に書き込む。
/tmp/resource_log.sh
#!/bin/bash
exec /usr/bin/vmstat 60 | awk '{print strftime("%y/%m/%d %H:%M:%S"), $0} {fflush() }' >> /tmp/vmstat.log
shファイルは/tmpディレクトリに置いてありますが、どこでもよいです。
サービスファイル作成
実行用のサービスファイルを作ります。(/etc/systemd/system/配下)
ExecStartのところで、先ほど作ったshファイルを指定します。
/etc/systemd/system/resource_log.service
[Unit]
Description=VMSTAT as a Service
[Service]
Restart=on-failure
RestartSec=10
ExecStart=/tmp/rec_resource.sh
[Install]
WantedBy=basic.target
起動
以下のコマンドを実行。(systemctlに変更を通知 → 実行)
$ sudo systemctl daemon-reload
$ sudo systemctl start resource_log.service
確認
$ cat /tmp/vmstat.log
18/09/19 16:35:22 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
18/09/19 16:35:22 r b swpd free buff cache si so bi bo in cs us sy id wa st
......
こんな感じで記録されていればOK。
Author And Source
この問題について(vmstatをdaemon化して継続的なログを記録する), 我々は、より多くの情報をここで見つけました https://qiita.com/tomipetit/items/1c1dc2439bcb40156bac著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .