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: http://openweathermap.org/appid から各自のパーソナル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 "http://api.openweathermap.org/data/2.5/weather?q=Frankfurt,DE&mode=xml&units=metric&cnt=7&APPID=905730596699e6cd7d4c70a5eb8abb86"
<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 http://openweathermap.org/appid
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 "http://api.openweathermap.org/data/2.5/weather?q=$CITY&mode=$MODE&units=$UNITS&cnt=7&APPID=$APIKEY"`
 FORECAST=`curl -s "http://api.openweathermap.org/data/2.5/forecast/daily?q=$CITY&mode=$MODE&units=$UNITS&cnt=$COUNT&APPID=$APIKEY"`
echo $CURRENT >> /var/log/current.log
echo $FORECAST >> /var/log/forecast.log
done
Log InsightがインストールされているLinuxマシンにスクリプトをコピーし、実行可能にし(chmod +x)、それをcrontabに追加します(crontab -e)。私はこの収集を10分おきに実行しているので、crontabは次のようになります。

この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/vmware/columns/noda/noda07.html

この記事が役に立ったらシェア!
みんなが読んでるWeb担メルマガで、あなたも最新情報をチェック
  • SEOやデジタルマーケの最新情報をゲット
  • 事例やインタビューも見逃さない
  • 要チェックのセミナー情報も届く
みんなが読んでるWeb担メルマガで、あなたも最新情報をチェック
  • SEOやデジタルマーケの最新情報をゲット
  • 事例やインタビューも見逃さない
  • 要チェックのセミナー情報も届く

Web業界の転職情報

もっと見る
Sponsored by

人気記事トップ10(過去7日間)

今日の用語

ILD
リンク元ドメイン名の数、つまり、どれくらい多くのサイト(ドメイン名)からリンクを ...→用語集へ

連載/特集コーナーから探す

インフォメーション

Web担のメルマガを購読しませんか?
Web担の記事がコンパクトに毎週届くメールマガジン「Web担ウィークリー」は、10万人が読んでいる人気メルマガ。忙しいあなたの情報収集力をアップさせる強い味方で、お得な情報もいち早く入手できます。

Web担に広告を掲載しませんか?
購読者数10万人のメールマガジン広告をはじめとする広告サービスで、御社の認知向上やセミナー集客を強力にお手伝いいたします。

サイトマップ
RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]