SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

タスクが10倍気持ちよくなる 開発環境のリノベーション講座

障害発生時にも漏れなし! Zabbixの監視アラートでRedmine上にチケットを起票する仕組みをつくろう

タスクが10倍気持ちよくなる 開発環境のリノベーション講座 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

障害状態をシミュレートして動作確認

 それでは障害状態をシミュレートして、動作確認を行ってみましょう。今回は、空きメモリが1024MBを切ったらトリガが作動するようにしたので、適当なアプリケーションを起動し、メモリを圧迫してみてください。もしくは、トリガの閾値を上げてみてもよいと思います。

 ここまでで設定したことで、以下のような手順で連携が実現されることになります。

  1. Zabbixのトリガが、vm.memory.size[available] 値が規定値(1024MB)より小さくなったのを検知する
  2. Zabbixのアクションが指定したトリガの値が PROBLEM になり、アクションが実行される
  3. アクションに指定されている Commands (=作成したPythonスクリプト) が実行される
  4. 宛先RedmineのREST APIに起票内容が POST される

 イメージとしては以下の図のようになります。

連携動作のイメージ
連携動作のイメージ

 

 いかがでしたか。うまく連携できたでしょうか。

 実際の運用では、監視対象および閾値の精査が必要ですし、Redmine上にチケット起票されたものに対して、根本的な問題解決を行うことが求められます。しかし、監視から発される異常状態を漏れなく記録をすることで、アプリケーションの不具合のみならず、サーバサイジングの適正化や運用体制自体の見直しに活用することもできると思います。


その他のアイデア

チケットの一括登録
スプレッドシートや CSV 管理している案件リストから、一括取り込みを行うこともできます。

Jenkinsとの連携
自動ビルドシステム Jenkinsと連携して、ジョブ開始時にチケット起票し、ジョブ終了時にチケットのステータスを更新するような仕組みも考えられます(チケットIDの管理に工夫が必要そうですね)。


まとめ

 RedmineやZabbixなどのWebアプリケーションは、単独で利用してももちろん便利ですが、今回はREST APIなどを組み合わせて連携させてみました。ネットワークを利用したWebアプリケーションの醍醐味とも言えるのでないかと思います。

 今回紹介した単独サーバでのアプリケーションから、パブリッククラウドの操作インタフェースに至るまで、RESTやSOAPを利用してWeb経由で操作できるAPIは数多く提供されています。コマンドラインやスクリプトから様々なAPIを操作することで、手放しでシステムを使いこなすことも夢ではないと思います。ちょっとしたコードを書いてみることで、普段のツールが何倍にも効果的になることを、体感いただけたなら幸いです。

 第1回、第2回と本連載をお読みいただき、ありがとうございました。皆さんの業務が、少しでもスムーズになれば幸いです。

【参考サイト】

 Zabbixの設定については、日本語のマニュアルが公開されています。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
タスクが10倍気持ちよくなる 開発環境のリノベーション講座連載記事一覧
この記事の著者

中島 隆明(株式会社ワークスアプリケーションズ)(ナカジマ タカアキ)

株式会社ワークスアプリケーションズ所属。R&D部門であるATE Div.に在籍し、パッケージソフトウェアを支える、インフラやOS、ミドルウェアといったシステムエンジニアリング領域を主に担当。CompTIA Cloud Essentials認定取得。趣味はジャズをはじめとした音楽全般。 ・Web s...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8408 2015/01/22 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング