logo

VMware 海外動向 > 第7回 天気の話をしましょう、Log Insightで!

CTC教育サービスはコラム「VMware 海外動向 > 第7回 天気の話をしましょう、Log Insightで! 」を公開しました。

###
こんにちはー。野田貴子です。今回も海外のVMware関連のコラムを意訳してご紹介します。VMwareの海外動向を理解する上での参考になれば幸いです。



IT屋のみなさんは、空調が効いた窓のない職場(自宅?)で仕事漬けになり、社会生活がslack、skype、socialcast、などのソーシャルメディアプラットフォームに制限されていませんか。もし戸外で過ごす気分を味わい、仕事とは関係のないこと、例えば天気について話せたら素敵ではないでしょうか。

この記事では、窓のないオフィスを離れずに、世界中の市の天気情報を取得し、Log Insightで視覚化する方法をお伝えします。次にシアトルの同僚と会話する際には、雨予報を的確に教えてあげて、同僚をびっくりさせてみましょう。

今回は openweathermap.org という一部無料の素晴らしい天気サービスからデータを集めます。これを複数の市の配列に対して行います。このデータはログファイルに書き込まれ、LinuxシステムのLog Insightエージェントによって収集されます。Log Insightでは「World wide current weather(世界の現在の天気)」というダッシュボードと、翌日の天気予報のダッシュボードを作成します。サンプルのコンテンツパックをインポートして手順を省略する場合は、フィールド抽出とダッシュボード生成(ステップ6やステップ7)をスキップできます。

ステップ1: リンク から各自のパーソナルapiキーを取得します(無料アカウントで充分です)。

fig02

ステップ2: openweathermap.org の検索機能を使って収集したい天気情報の位置のリストを書き出します。geo座標や市のコードを使えますが、多くの場合は「市の名前, 国のコード」で事足ります。私の場合は「Yerevan,AM Seattle,US PaloAlto,US Sofia,BG London,UK Frankfurt,DE Sydney,AU」のように検索しました。

ステップ3: curlリクエストでAPIキーのテストをします。以下のコマンドのapiキーをステップ1で取得した各自のキーで置き換えてください。アメリカでは華氏なので、摂氏を意味する「units=metric」の部分を「units=imperia」に変えるといいでしょう。units=を省略すると、ケルビン(絶対温度)が使われます。エラーが起きた場合はダブルクオートや、ステップ1で取得したapiキーを使っているかどうかを確認してください。

root@ugurke:~# curl -s "リンク
<current><city id="2925533" name="Frankfurt am Main"><coord lon="8.68" lat="50.12"></coord><country>DE</country><sun rise="2016-06-22T03:15:43" set="2016-06-22T19:39:05"></sun></city><temperature value="19.58" min="16.67" max="22.22" unit="metric"></temperature><humidity value="83" unit="%"></humidity><pressure value="1005" unit="hPa"></pressure><wind><speed value="1.03" name="Calm"></speed><gusts value="2.57"></gusts><direction value="288" code="WNW" name="West-northwest"></direction></wind><clouds value="12" name="few clouds"></clouds><visibility></visibility><precipitation value="19.56" mode="rain" unit="1h"></precipitation><weather number="503" value="very heavy rain" icon="10d"></weather><lastupdate value="2016-06-22T06:16:02"></lastupdate></current>
ステップ4: シンプルなシェルスクリプトでデータ取得を自動化します。以下のスクリプトはとても基本的な例ですので、好きに微調整して構いません。APIキーも記述してください。華氏にするにはUNITSで「imperial」を指定します。このスクリプトは各市に対して別々のcurlの呼び出しを行い、XMlでデータを集め、出力結果を /var/log/current.log と /var/log/forecast.log のファイルに追記します。

#!/bin/bash
# Add your own API key from リンク
APIKEY=905730596699e6cd7d4c70a5eb8abb86
MODE=xml #json or xml
UNITS=metric #metric or imperial
COUNT=1 #forecast days
# Add City,CountryCode to the list of cities
for CITY in Yerevan,AM Seattle,US PaloAlto,US Sofia,BG London,UK Frankfurt,DE Sydney,AU
do
CURRENT=`curl -s "リンク`
FORECAST=`curl -s "リンク`
echo $CURRENT >> /var/log/current.log
echo $FORECAST >> /var/log/forecast.log
done
Log InsightがインストールされているLinuxマシンにスクリプトをコピーし、実行可能にし(chmod +x)、それをcrontabに追加します(crontab -e)。私はこの収集を10分おきに実行しているので、crontabは次のようになります。

この続きは以下をご覧ください
リンク

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。