はじめに
OpenWeatherMap は世界中の天気情報を手軽に取得できるAPIである。
これを活用したテンプレートがZabbixに標準添付されており、簡単に利用できるようになっているのでまとめてみる。
(使用したZabbixのバージョン: 7.0.12)
cf. https://www.zabbix.com/jp/integrations/openweathermap
This template is for Zabbix version: 7.2
Also available for: 7.0 6.4 6.2 6.0
使い方
前準備: APIトークンを取得する
OpenWeatherMapに登録していない方は、まず登録してAPIキーを取得しよう。
- 公式サイトにアクセス
- 右上の「Sign In」
- 「Create an Account」
- 登録したら再度、公式サイト右上の「Sign In」
- 登録したメールアドレスとパスワードでログイン
- 右上の自分のメールアドレスをクリック→「My API keys」
- 「API key name」に適当に名前をつけて「Generate」
地点を表すホストを作成し、テンプレートを割り当てる
Zabbixの「データ収集」→「ホスト」→「ホストの作成」を開き、「ホスト名」「ホストグループ」を設定したあと、
テンプレートから「OpenWeatherMap by HTTP」を割り当てる。
必要なマクロを設定する
「マクロ」→「継承したマクロとホストマクロ」に移動し、
{$LOCATION}
と {$OPENWEATHERMAP.API.TOKEN}
の「変更」をクリックする。
また、必要に応じて {$LANG}
{$TEMP.CRIT.HIGH}
{$TEMP.CRIT.LOW}
{$UNITS}
の「変更」もクリックする。
そして、それぞれのマクロを下記のように設定する。
- {$LOCATION}
- 地点。 <緯度>,<経度> で指定するのがオススメ。ヘルプの通り、都市名・地点ID・郵便番号による指定はもうすぐ廃止されるとのこと。
- {$OPENWEATHERMAP.API.TOKEN}
- 取得したAPIトークン
- {$LANG}
- 言語。日本語は「ja」。こうしておくと取得した地名が日本語になる。(デフォルトen=英語)
- {$TEMP.CRIT.HIGH}
- 高温警報を出す閾値。日本だと35くらい?(デフォルト30)
- {$TEMP.CRIT.LOW}
- 低温警報を出す閾値。日本だと0くらい?(デフォルト-20)
- {$UNITS}
- 単位系。デフォルト metric で日本人になじみのある単位系なので変更する必要ないかも。
オマケ: インベントリの緯度と経度
「インベントリ」を「マニュアル」にして、「緯度」「経度」を設定しておくと、
地図上にその地点を表示することができる。
作成完了
「追加」をクリックしてホストの作成を完了する。
例
応用
デフォルトで設定されているトリガーは高温・低温警報だけなので、
お好みで降水量や風速のトリガーを作ったり、
あとは計算アイテムとして不快指数を作ったりしてもいいかも。