しばたテックブログスマートフォン用の表示で見るしばたテックブログPowerShellを中心に気分で書いている技術ブログです。LinuxこれまでNagiosのプラグインはPythonで書くことが多かったのですが、クロスプラットフォームのバイナリを比較的容易に作れるGo言語で書くのも良いかなぁと思い、勉強がてら簡単なものを作ってみました。Pluginの仕様については説明を省きます。作ったプラグイン作ったプラグインはGitHubに上げています。GitHubcheck_memory_usedという名前でOSのメモリ使用率(%)をチェックするプラグインにしました。対象プラットフォームはWindowsとLinuxにしています。この程度であれば公式プラグインのcheck_memoryで十分なのですが、まあ、練習に丁度よかったのでそこはご容赦ください。olorin/nagiospluginゼロからゴリゴリソースを書くのもアレですし、誰かがパッケージ位作っているだろうと調べたところ、github.comが良さげだったのでこれを採用しました。example"に基本的な使い方が書いていますが、nagiosplugin.NewCheckメソッドでcheckstructを作り、このstructにチェックした結果を設定する形になります。Fihishメソッドで終了処理を行います。check.Finish()チェックした結果はAddResultまたはAddResultfメソッドで設定します。細かい説明はしませんが、見て直感的にわかるかと思います。used)なお、AddResultまたはAddResultfメソッドを呼び忘れた場合はnagiosplugin.UNKNOWNが返されます。パフォーマンスデータを設定する場合はAddPerfDatumメソッドを使います。単位についてはNagiosで有効な単位に制限されていますので注意してください。数値についてはすべてfloat64型なのでキャストがちょっと面倒ですが仕方ない感じです。その他パッケージnagiospluginの他に以下のパッケージを使いました。go.procmeminfo実行結果プラグインの実行結果はこんな感じです。Windows、Linux両方で良い感じに動いてくれています。最後にパッケージの使い勝手が良かったのでサクッとプラグインを書くことができました。Pluginにも使えるかもしれません。6.0のBeta版がリリースされました公式の案内はこちら。GitHubのマイ...2016-10-31シェル芸勉強会の問題にPowerShellでチャレンジしてみたきっかけはコレ。広告スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。