Hinemosメンテナンススクリプトの実行時間をntfyで計測

調べ物をしていた際に、たまたまntfyというものを見つけ、便利だったのでHinemosのメンテナンススクリプトと絡めて紹介したいと思います。

ntfyとは

長時間実行されているスクリプト等の処理が完了次第、slackやpushoverなどに通知ができるpythonで作成されたツールです。
このntfyは、導入が簡単で、手軽にサードパーティのアプリに通知ができます。
他に通知できるアプリは、以下の記事をご確認ください。
https://ntfy.readthedocs.io/en/latest/

実施内容

ntfyは、シェルやプロセスの終了後にslackやpushoverで通知できるのが利点ですが、syslogにも通知ができるようです。
今回は、Hinemosの内部DBの再構築するメンテナンススクリプトの実行時間を、ntfyで計測し、systemlogに出力してみようと思います。

手順

1.インストール

pipからntfyをインストールします。

 

2.ntfy設定ファイルの設定

ntfyは、「~/.ntfy.yml」というファイルで通知の各種設定ができます。
以下のコマンドを実行しファイルを開きます。

開いた直後は、何も記載されていません。
以下の内容を追記します。

 

3.実行テスト

以下のコマンドを実行してみます。

messagesを確認してみて、以下の内容が出力されていれば成功です。

「in 0:10 minutes」が、実行時間を示しています。この通り、ntfyは通知をするだけではなく実行時間も計測してくれます。
また、「-t」のオプションを付けると、出力するログにタイトルをつけられます。

 

4.メンテナンススクリプトの実行時間を計測する

Hinemosマネージャの内部DBの再構築

ログ出力結果

上記のように、メンテナンススクリプトの実行時間が、36秒かかったことがわかります。
今回はデフォルトの設定でsystemlogに出力させましたが、「~/.ntfy.yml」にフォーマットを指定させることが可能です。

感想

今回は、systemlogだけに通知を行いましたが、ntfyの設定ファイル「~/.ntfy.yml」にslack等も合わせて記述することで、一度の実行で複数箇所に通知することが可能なようです。
「計測結果をsystemlogにも残して、slackにも通知して、ディスクトップにも通知させたい」など、複数箇所に通知したい場合には、ntfyが使えるかなと思います。

実行時間を計測しHinemosで数値監視するのであれば、timeコマンドで計測するシェルを作って、カスタム監視で監視する方がいいと感じました。

参考サイト

Github:https://github.com/dschep/ntfy
Linuxのコマンドラインやスクリプトからスマホにプッシュ通知する。(ntfyというツールの紹介)
linuxコマンド終了したらSlackに通知するようにする


ご意見やお問い合わせについて

この記事へのご意見やお問い合わせについては、こちら(お問い合わせフォーム)もしくは
Hinemos営業担当【hsd-sales@atomitech.jp】までご連絡ください。

※お問い合わせフォームからご連絡の場合には、お問い合わせ内容で「Hinemosについて」を選択し、
 本文の冒頭に「Hinemos研究日記_【タイトル名】」とご記載ください。
※メールアドレスへご連絡の場合には、件名を「Hinemos研究日記_【タイトル名】」でご連絡ください。