1. Qiita
  2. 投稿
  3. golang

雑にURL監視する「zatsu_monitor」

  • 3
    いいね
  • 0
    コメント
に投稿

雑なURL監視ツールです
https://github.com/sue445/zatsu_monitor

作った経緯

社内外で公開している個人アプリをURL監視したかっただけです。(Mackerelだと社内アプリ 1 が監視できないので使えなかった)

インストール方法

https://github.com/sue445/zatsu_monitor/releases からバイナリをダウンロードして雑にどっかに置いてください。

使い方

雑にyamlを書いて

config.yml
# zatsu_monitor.yml
google:
  type: slack
  check_url: "https://www.google.com/"
  api_token: "AAAAAAAA"
  channel: "#general"
  user_name: "zatsu_monitor"
github:
  type: chatwork
  check_url: "https://github.com/"
  api_token: "AAAAAAAA"
  room_id: "111111"

雑に実行

/path/to/zatsu_monitor -config /path/to/zatsu_monitor.yml -data /path/to/data_dir
  • -config : 設定ファイルの場所
  • -data : 直前のhttpステータスを保存するキャッシュディレクトリ

ステータスが変わった時だけ投稿

slack.png

仕様

  • golang製なのでバイナリをダウンロードして雑に置けばどこでも動く
  • urlをHTTP GETしてステータスコードが変わった時だけチャットに通知(例:200 -> 500)
  • SlackとChatWorkに対応
    • 他のが欲しい場合はPRカモン

特徴

yamlなので値を継承できるのが嬉しい

トークンなどを1ヶ所に定義して、監視したいサイトで継承することができます

config.yml
slack: &common
  type: slack
  channel: "#general"
  api_token: "xoxp-0000000000-0000000000-0000000000-000000"

github:
  # inherit common values
  <<: *common

  # override common values
  check_url: "https://github.com/"
  chennel: "#github"

google:
  <<: *common
  check_url: "https://www.google.com/"
  chennel: "#google"

ステータスコードの100の位の変化だけチェックしたい

v0.2.0の新機能です。

会社で使ってるとあるサービスが、エラーの時にステータスコード502と503と504をランダムで返すという現象が頻繁に発生し、その度にチャットに通知がいくのがうざいのでステータスコードの100の位のみチェックするための機能を作りました。

使いたい時は config.ymlcheck_only_top_of_status_code: true を設定してください

config.yml
some:
  check_only_top_of_status_code: true

思い出

ISUCONの予選の時に自分のチームのアプリを監視するのに便利でした


  1. 社内イントラからしかアクセスできないアプリ 

Comments Loading...