0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Zabbix で OpenWeatherMap テンプレートが標準になったので試してみる

Last updated at Posted at 2025-05-06

はじめに

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キーを取得しよう。

  1. 公式サイトにアクセス
  2. 右上の「Sign In」
  3. 「Create an Account」
  4. 登録したら再度、公式サイト右上の「Sign In」
  5. 登録したメールアドレスとパスワードでログイン
  6. 右上の自分のメールアドレスをクリック→「My API keys」
  7. 「API key name」に適当に名前をつけて「Generate」

地点を表すホストを作成し、テンプレートを割り当てる

Zabbixの「データ収集」→「ホスト」→「ホストの作成」を開き、「ホスト名」「ホストグループ」を設定したあと、
テンプレートから「OpenWeatherMap by HTTP」を割り当てる。
image.png

必要なマクロを設定する

「マクロ」→「継承したマクロとホストマクロ」に移動し、
{$LOCATION}{$OPENWEATHERMAP.API.TOKEN} の「変更」をクリックする。
また、必要に応じて {$LANG} {$TEMP.CRIT.HIGH} {$TEMP.CRIT.LOW} {$UNITS} の「変更」もクリックする。
image.png

そして、それぞれのマクロを下記のように設定する。

{$LOCATION}
地点。 <緯度>,<経度> で指定するのがオススメ。ヘルプの通り、都市名・地点ID・郵便番号による指定はもうすぐ廃止されるとのこと。
{$OPENWEATHERMAP.API.TOKEN}
取得したAPIトークン
{$LANG}
言語。日本語は「ja」。こうしておくと取得した地名が日本語になる。(デフォルトen=英語)
{$TEMP.CRIT.HIGH}
高温警報を出す閾値。日本だと35くらい?(デフォルト30)
{$TEMP.CRIT.LOW}
低温警報を出す閾値。日本だと0くらい?(デフォルト-20)
{$UNITS}
単位系。デフォルト metric で日本人になじみのある単位系なので変更する必要ないかも。

オマケ: インベントリの緯度と経度

「インベントリ」を「マニュアル」にして、「緯度」「経度」を設定しておくと、
地図上にその地点を表示することができる。

作成完了

「追加」をクリックしてホストの作成を完了する。

こんな感じで見えます。
image.png

インベントリを設定しておくと、地図上でも表示できる。
image.png

応用

デフォルトで設定されているトリガーは高温・低温警報だけなので、
お好みで降水量や風速のトリガーを作ったり、
あとは計算アイテムとして不快指数を作ったりしてもいいかも。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?