東京電力の電力使用状況を Zabbix でグラフ化する。
東京電力では,電力の供給状況と使用状況を公開している (でんき予報)。これは,2011年に起きた 東日本大震災 の影響で,電力不足に陥ったことから始まったサービスである。あの 輪番停電 はきつかった。ある地域一帯が順番に停電していくのである。
でんき予報では,データを CSV の形式でも公開しているが,かなり使いづらい。そのため,有志の方が使いやすい形にして提供してくれている (東京電力電力供給状況API)。今回はこれを Zabbix でグラフ化する。
動作環境は,Vine Linux 6.3, wget 1.14, Zabbix 2.4.8 である。
東京電力電力供給状況API からデータを取得する。次のコマンドで quick.txt が取得できることを確認する。
quick.txt のデータ形式は以下の通り。
5分ごとに更新される速報データのうち、最も新しいデータを返します。データの形式は、「HH:MM,XXXX,YYYY」です。HH:MMは時刻(24時間制)、XXXXは電力消費量(万kW)、YYYYは供給可能電力(万kW)です。5分に1回アクセスしてもいいですよ。
上手くいったら,適当なディレクトリを決めて,crontab に登録する。
「*/5」とすると5分毎に起動してくれる。
前回と同様に (nlog(n): Freetel の通信量を Zabbix 2.4 でグラフ化),ファイルの値を Zabbix Agentd で拾って Zabbix Server に飛ばすことにする。
/usr/local/etc/zabbix_agentd.conf に次の行を追加する。
すでに UserParameter を使っているなら「UnsafeUserParameters=1」は2度宣言しなくてよい。CSV ファイルのフィールド区切り記号が半角カンマ「,」なので,これを gawk に教えてやる必要がある。「FS=","」で指定してもいいし (FS はフィールドセパレータの意味),「-F」スイッチで指定してもよい。上の例では $2 と $3 の取得方法をあえて変えてあるが,好みによってどちらかに統一しておくのがよい。
上のようにすれば UserParameter が取得できるのだが,実はハマった。nlog(n): Freetel の通信量を Zabbix 2.4 でグラフ化 したときは,引数を持たせたので,それにならうなら次のようになる。
「$2」は Zabbix の2番目の引数を意味するので,gawk では「$2」とするところを「$$2」と書く必要があるというものだ。しかし,今回は引数を持たせる必要がないので,「[*]」を削除した。すると,値が取得できなくなってしまったのである。UserParameter に引数を持たせない場合は,次のように「$2」と書かなければならない (「$$2」のように重ねない)。
これはひどい。引数があるかないかで,後に続く「$」の意味が変わってしまうという仕様はいただけない。常に「$$」のように重ねて書くと決まっていた方が使いやすいと思うのだが…。ドキュメントには明示的に書かれていないような気がする (4 User parameters [Zabbix Documentation 2.4])。
動作確認には,zabbix_get コマンドを使った。
PHP フロントエンドはレスポンスが悪いからだ。
次のようなグラフが得られた。
電力消費量は日中は高く,夜間は少ないというグラフになっている。夜中の3時や4時が一番少ないというのは,このサイトへのアクセス数の傾向と似ている。人が活動するときは電力も使うし,インターネットも使うのだ。
毎日0時台に電力消費量が一定になってしまっているところが気になる。東京電力のデータを見ると一定にはなっていないので,API を提供してくれている中の人に問い合わせ中である。
それにしても「万kW」という単位も色々と問題がある。「万」は4つ区切りで「k」は3つ区切りだからである。英語ページ (TEPCO : Electricity Forecast) では,苦し紛れに「x10 MW」という単位を使っているが,区切りは4のままなので変態である。例えば「3,256 万キロワット」は「3,256 x10 MW」という表現になっているが,3つ区切りで書けば「32,560 MW」または「32.560 GW」とすべきであり,もう何が何だか。
先の Zabbix のグラフは単位に「x10 MW」を使っている。Zabbix は自動的に 1000 を K に変えてくれるので,「4,010x10 MW」は「4.01Kx10 MW」と表現されていて,M の上に K がつくという変態表記になってしまっている。日本語で「万kW」と表現する場合は,Zabbix に日本語フォントを入れる必要がある (Zabbix 2.0 のグラフの文字化けを直す、「alternatives」での日本語フォント設定方法 - 双六工場日誌, Zabbixグラフの日本語文字化けを直す方法 | Check!Site)。
Posted by n at 2016-09-29 21:43 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957