2015年1月30日金曜日

Arista-SWのsFlowをfluentdのNetflow-plaginで受信してみる

■目的
 fluentd+elasticsearch+kibanaの王道構成環境があるのだがelasticsearchの容量がいっぱいになってきたのでcuratorを使って容量削減する方法を調べていたらNetflowを受ける事ができるという記事を見かけたのでちょっと試してみた。
AristaSWではNetflowの機能は無く、代わりにsFlowの機能があるので今回はsFlowで試してみる。

■参考にさせて頂いたサイト
http://komeiy.hatenablog.com/entry/2014/09/26/212000

■fluentdの設定
今回の構成はfluentd+elasticsearch+kibanaを同一筐体で全てサービスさせている。
まずはfluentdで「fluent-plugin-netflow」をgem installする

/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-netflow
Fetching: bindata-2.1.0.gem (100%)
Fetching: fluent-plugin-netflow-0.0.4.gem (100%)
Successfully installed bindata-2.1.0
Successfully installed fluent-plugin-netflow-0.0.4
2 gems installed
Installing ri documentation for bindata-2.1.0...
Installing ri documentation for fluent-plugin-netflow-0.0.4...
Installing RDoc documentation for bindata-2.1.0...
Installing RDoc documentation for fluent-plugin-netflow-0.0.4...
正常に終了した。

これでfluentdの設定でtype netflowが使えるようになった。
次にfluentdの設定で以下のように設定する。
<source>
  type netflow
  tag netflow.event
  port 5141
</source>

<match netflow.**>
  type elasticsearch
  host 10.1.1.1
  port 9200
  type_name netflow
  include_tag_key true
  logstash_format true
  logstash_prefix flow
  buffer_type file
  buffer_path /tmp/out_elasticsearch.netflow.*.buffer
  buffer_chunk_limit 8m
  buffer_queue_limit 256
  flush_interval 10s
  retry_limit 17
  retry_wait 1s
</match>
一度サービスを再起動して正常に起動することを確認する
#service td-agent restart

■AristaSWの設定
次にArista-SWでsFlowを有効にする。
Cisco機器等のNetflowとsFlowの違いは以下サイトで学んだ。
http://blogs.manageengine.jp/an-introduction-to-sflow-technology-and-a-brief-on-sflow-vs-netflow-technology/

Aristaで以下設定を行う
sflow polling-interval 30
sflow destination 10.1.1.1 5141
sflow source 192.168.1.1
sflow run
destination(宛先)の設定は先ほど設定したfluentdのSVを指定する。ポートも5141を指定する。
#sh sflow コマンドを実行するとsflowが動作しているか確認する事が出来る
arista#sh sflow
sFlow Configuration
-------------------
Destination(s):
  10.1.1.1:5141 ( VRF: default )
Source(s):
  192.168.1.1 ( VRF: default )
  :: ( default ) ( VRF: default )
Sample Rate: 1048576 ( default )
Polling Interval (sec): 30.0

Status
------
Running: Yes
Polling On: Yes
Sampling On: Yes ( default )
Send Datagrams:
  Yes ( VRF: default )
Hardware Sample Rate: 65535

Statistics
----------
Total Packets: 3399559
Number of Samples: 0
Sample Pool: 0
Hardware Trigger: 0
Number of Datagrams: 46
Running:Yesになっているのでsflowが動作し、TotalPacketsの値も増えているので送れているようだ。

■kibanaで確認してみる。
ここまでで正常にAristaからsflowがSVに送られている筈
fluentdのタグ設定などに誤りがなければelasticsearchのDBに情報が入り、kibanaから確認出来る、筈・・・
と思って見てみたら情報が入っていない・・・

td-agentのログを見てみたところ
#tail -n 100 /var/log/td-agent/td-agent.log
2015-01-29 21:11:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:12:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:12:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:13:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:13:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:14:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:14:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:15:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:15:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:16:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:16:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:17:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:17:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:18:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:18:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:19:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:19:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:20:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:20:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:21:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:21:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:22:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:22:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:23:15 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:23:45 +0900 [warn]: Ignoring Netflow version v0
2015-01-29 21:24:15 +0900 [warn]: Ignoring Netflow version v0

いい感じに30秒毎にログが出力されているのでどうやらAristaから送っているsFlowのversionがtd-agentのNetflow-Pluginでは受け取れないようだ。
https://github.com/repeatedly/fluent-plugin-netflow
にも
versions [5, 9]
しか受け取れなさそうな記述があるし・・・


■終わり
Aristaではversionを指定出来そうな設定がないので今回は諦めました。
今度CiscoのNetflowで送れるかを試してみようと思います。

私の体験が誰かの生産性向上に役立っていただけることを祈って

2015年1月28日水曜日

telnetlibを使って対象機器を一行づつ処理してみる

■目的
 pythonを勉強中
基本的にはネットワークエンジニアなのでネットワーク機器の操作を中心に学習していく。
前回NW装置にtelnetしてコマンド結果をファイルに保存するところまで出来た。
今回は複数ホストを記載した別ファイルから一行づつ読み込んで実行出来るようにしてみる

■参考にさせて頂いたサイト&本
・みんなのpython
・http://www.yukun.info/blog/2008/06/python-file.html

■スクリプト
参考URLを見て別ファイルを開いて一行づつ読み込んだホストを、読み込んだ行数同じ処理させるループ処理に
前回作成したtelnetのスクリプトを入れてみる。

test.txt
192.168.1.1
192.168.1.2
192.168.1.3

arista2.py
#!/usr/bin/python

import telnetlib
import datetime

now = datetime.datetime.now()

username = "arista" # the username
password = "arista"
filename_prefix = "arista-backup"

f = open('test.txt')

line = f.readline()

while line:
        host = line.rstrip()
        print host
        tn = telnetlib.Telnet(host)
        tn.read_until("Username:")
        tn.write(username+"\n")
        tn.read_until("Password:")
        tn.write(password+"\n")
        tn.write("terminal length 0"+"\n")
        tn.write("enable"+"\n")
        tn.write("sh run"+"\n")
        tn.write("sh version"+"\n")
        tn.write("exit"+"\n")
        output=tn.read_all()

        filename = "%s_%.2i-%.2i-%i_%.2i-%.2i-%.2i" % (filename_prefix,now.day,now.month,now.year,now.hour,now.minute,now.second)
        print filename

        fp=open(filename,"w")
        fp.write(output)
        line = f.readline()
        fp.close()

f.close

#python arista2.py
で実行する。

①ちょっとハマった点はwhile内にある line.rstrip()の「.rstrip()」を付けないと改行まで繰り返されてしまい
うまく動かないようだ。#私の同僚がこれで解決してくれました。
②また上記を動かすとなぜか一つのファイル内に対象ホストの結果が全て書かれる。
filenameで秒まで指定しているのでファイル毎に保存してくれると思ったがうまく動かない。
filenameの次「print filename」でどのように処理されるか見てみたところなぜか時分秒が表示されない。

■終わり
 同僚のプログラマーが①の問題の解決の仕方を教えてくれた。
まずは切り分けとして以下のようなファイルで正常に別ファイルのIPが一つづつ処理されるかを
確認するやり方を教えてくれた。

arista-test.py
#!/usr/bin/python

import telnetlib
import datetime

now = datetime.datetime.now()

username = "arista" # the username
password = "arista"
filename_prefix = "arista-backup"

f = open('test.txt')
line = f.readline()

while line:
        host = line.rstrip()
        print host
        #print "\n"

        line = f.readline()

f.close()

while内でのhostに入るIPに、rstrip()を付けないと改行まで入っていることを確認できる。
このように一つづつ切り分けて行くことを学んだ。

私の体験が誰かの生産性向上に役立っていただけることを祈って

2015年1月23日金曜日

nmapを使ってみる

■目的
 nmapを使ったポートスキャンを試してみる。

■参考にさせて頂いたサイト
http://nmap.org/man/jp/index.html

■前提
まずはyum install で nmapをインストールしておく。
#yum install nmap

スキャン先は通常サーバーを指定すると思うが今回はArista-SWに対してスキャンしてみる。

■試してみる
①まずはSWのIPを指定して普通に実行してみる。

[root@centos ~]# nmap 192.168.1.7

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 12:59 JST
Nmap scan report for 192.168.1.7
Host is up (0.00026s latency).
Not shown: 981 filtered ports
PORT      STATE  SERVICE
22/tcp    open   ssh
23/tcp    open   telnet
80/tcp    open   http
161/tcp   open   snmp
179/tcp   closed bgp
443/tcp   closed https
5900/tcp  closed vnc
5901/tcp  closed vnc-1
5902/tcp  closed vnc-2
5903/tcp  closed vnc-3
5904/tcp  closed unknown
5906/tcp  closed unknown
5907/tcp  closed unknown
5910/tcp  closed cm
50000/tcp closed ibm-db2
50001/tcp closed unknown
50002/tcp closed iiimsf
50003/tcp closed unknown
50006/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 4.75 seconds

特にポートを指定しなければ上記のポートをスキャンしてくれるようだ。
②次にサイトを参考にしてポート指定で実行してみる。
[root@centos ~]# nmap 192.168.1.7 -p 22 

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 13:08 JST
Nmap scan report for 192.168.1.7
Host is up (0.00050s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 2.08 seconds

③次は複数ホストを指定してみる。
・list.txt に複数のスキャン対象IPを記載しておく :-iL list.txt  #今回は2IP
・スキャン結果をres.txtに出力出来るようにする  :-oG res.txt
[root@centos tmp]# nmap -oG res.txt -iL list.txt

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 13:17 JST
Nmap scan report for 192.168.1.1
Host is up (0.00030s latency).
Not shown: 981 filtered ports
PORT      STATE  SERVICE
22/tcp    open   ssh
23/tcp    open   telnet
80/tcp    closed http
161/tcp   closed snmp
179/tcp   open   bgp
443/tcp   closed https
5900/tcp  closed vnc
5901/tcp  closed vnc-1
5902/tcp  closed vnc-2
5903/tcp  closed vnc-3
5904/tcp  closed unknown
5906/tcp  closed unknown
5907/tcp  closed unknown
5910/tcp  closed cm
50000/tcp closed ibm-db2
50001/tcp closed unknown
50002/tcp closed iiimsf
50003/tcp closed unknown
50006/tcp closed unknown

Nmap scan report for 192.168.1.2
Host is up (0.00027s latency).
Not shown: 981 filtered ports
PORT      STATE  SERVICE
22/tcp    open   ssh
23/tcp    open   telnet
80/tcp    closed http
161/tcp   open   snmp
179/tcp   closed bgp
443/tcp   closed https
5900/tcp  closed vnc
5901/tcp  closed vnc-1
5902/tcp  closed vnc-2
5903/tcp  closed vnc-3
5904/tcp  closed unknown
5906/tcp  closed unknown
5907/tcp  closed unknown
5910/tcp  closed cm
50000/tcp closed ibm-db2
50001/tcp closed unknown
50002/tcp closed iiimsf
50003/tcp closed unknown
50006/tcp closed unknown
■ちゃんと結果ファイルが出来ている #中身は長いので割愛
[root@centos tmp]# ls
list.txt  res.txt

④次は特定ポートに対して複数ホストを指定をしてみる。
・list.txt に複数のスキャン対象IPを記載しておく :-iL list.txt #今回は7IP
・スキャン結果をres.txtに出力出来るようにする  :-oG res.txt
-sT (TCP connect() スキャン) も指定
・-n (DNS解決を行わない) も指定
・--max-hostgroup 10 --scan-delay 1 :10 台づつ実行し、 1秒開けて次の10台を実行?多分
・--max-rtt-timeout 3 :3秒応答が無い場合は終了

[root@centos tmp]# nmap -oG res2.txt -p 22 -iL list.txt -sT -n --max-hostgroup 10 --scan-delay 1 --max-rtt-timeout 3

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 13:13 JST
Nmap scan report for 192.168.1.1
Host is up (0.00032s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.2
Host is up (0.00028s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.3
Host is up (0.00026s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.4
Host is up (0.00052s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.5
Host is up (0.00037s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.6
Host is up (0.00032s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.7
Host is up (0.00029s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 7 IP addresses (7 hosts up) scanned in 2.06 seconds
■ちゃんと出力ファイルが出来ている
[root@centos tmp]# ls
list.txt  res2.txt

■中身を確認してみる
[root@centos tmp]# cat res.txt
# Nmap 5.51 scan initiated Thu Jan 22 13:13:45 2015 as: nmap -oG res.txt -p 22 -iL list.txt -sT -n --max-hostgroup 10 --scan-delay 1 --max-rtt-timeout 3
Host: 192.168.1.1 ()   Status: Up
Host: 192.168.1.1 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.2 ()   Status: Up
Host: 192.168.1.2 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.3 ()   Status: Up
Host: 192.168.1.3 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.4 ()   Status: Up
Host: 192.168.1.4 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.5 ()   Status: Up
Host: 192.168.1.5 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.6 ()   Status: Up
Host: 192.168.1.6 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.7 ()   Status: Up
Host: 192.168.1.7 ()   Ports: 22/open/tcp//ssh///
# Nmap done at Thu Jan 22 13:13:47 2015 -- 7 IP addresses (7 hosts up) scanned in 2.06 seconds


■終わり
 経路上にFW等でポートが制限されていなければopenしているポートが確認できるのでかなり便利だと思った。
思ったよりオプションが沢山あるのでどの組み合わせがいいのか検討が必要かもしれない。

私の体験が誰かの生産性向上に役立っていただけることを祈って

2015年1月21日水曜日

python3でtelnetlibを使ってみる

■目的
 pythonを使えるようになりたいのでまずは環境を整えてみる
基本的にはネットワークエンジニアなのでネットワーク機器の操作を中心に学習していく。

■参考にさせて頂いたサイト&本
・みんなのpython
http://eayd.in/?p=273

■.pyファイルを作成してみる
aristaのSWにtelnetでログインし、sh runとsh verを実行し保存するという.pyファイルを作成する
URLを参考(丸コピ)して以下のように作成した

arista.py
#!/usr/bin/python

import telnetlib
import datetime

now = datetime.datetime.now()

host = "192.168.1.1" # your router ip
username = "arista" # the username
password = "arista"
filename_prefix = "arista-backup"

tn = telnetlib.Telnet(host)
tn.read_until("Username:")
tn.write(username+"\n")
tn.read_until("Password:")
tn.write(password+"\n")
tn.write("terminal length 0"+"\n")
tn.write("enable"+"\n")
tn.write("sh run"+"\n")
tn.write("sh version"+"\n")
tn.write("exit"+"\n")
output=tn.read_all()

filename = "%s_%.2i-%.2i-%i_%.2i-%.2i-%.2i" % (filename_prefix,now.day,now.month,now.year,now.hour,now.minute,now.second)

fp=open(filename,"w")
fp.write(output)
fp.close()

上記ファイルを作成後に
#python arista.py
を実行
同一ディレクトリにファイルが保存された。

■終わり
 teramacroまたは通常のシェルスクリプトでexportして実行するのと同様の事は出来そうだ。
対象IPを別ファイルにリストアップし、一行ずつhostに入れられるようにしてみようと思う


私の体験が誰かの生産性向上に役立っていただけることを祈って

Centos6.6にpython3を入れてみる

■目的
 pythonを使えるようになりたいのでまずは環境を整えてみる
MACを使用しているとpython2がデフォルトで利用出来るのだがpython3で覚えていきたい。
MACでpython3を使うという方法もあるようだが今回はCentOS6.6のSVでpython3をインストールしてみる。

■参考にさせて頂いたサイト
 http://takeshiyako.blogspot.jp/2014/03/python3yumpip.html

■python3のインストール
ソースからインストールするやり方も試してみたが、
やはりyumを使ったインストールの方が簡単なのでyumを使ってpython3を入れてみる。
サイトのやり方に従ってインストールしていく。


①yumリポジトリのインストール
# cd /etc/pki/rpm-gpg/
# wget -q http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias
# rpm --import RPM-GPG-KEY-puias

# vim /etc/yum.repos.d/puias-computational.repo
[PUIAS_6_computational]
name=PUIAS computational Base $releasever - $basearch
mirrorlist=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias

②yumでpython3をインストール
# yum install python3.x86_64 python3-tools.x86_64

正常にインストール出来た。

python3がインストールされた事を確認
# python3 --version
Python 3.3.2

④python3のパスを確認
# which python3
/usr/bin/python3

ここまででpython3を利用する事が出来る

■pipもインストール
 pipってそもそもなんだろうとwikiを見てみた所
pipを用いる主な利点は、コマンドラインインターフェースで簡単にPythonのパッケージソフトウェアをインストールできることである。 次の一行でパッケージのインストールを行える。 パッケージをアンインストールするときも同様に一行でできる。 pipで一番重要な機能は、ファイルに必要なパッケージのリストとそのバージョンを書いておけば簡単にパッケージ管理を行えるという点である。
という事なのでpipのインストールも行う

①pipのソースファイルを/tmp/等にダウンロードして展開・インストール
# wget https://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz --no-check-certificate
# tar xzvf  distribute-0.6.49.tar.gz
# cd distribute-0.6.49
# python3 setup.py install
# cd /usr/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg
# python3 ./easy_install.py pip

②pipがインストールされた事を確認
# pip -V
pip 6.0.7 from /usr/lib/python3.3/site-packages/pip-6.0.7-py3.3.egg (python 3.3)

■終わり
 とりあえずこれで環境は整った?ようなので実際にpythonを書き始めてみたいと思います。

私の体験が誰かの生産性向上に役立っていただけることを祈って

2015年1月14日水曜日

multitailを試してみた

■目的
 multitailというコマンドを知ったので試してみる

■参考にさせていただいた本
 サーバー/インフラエンジニア養成読本

■事前準備
 multitailをインストールする
   yum install multitail でもインストール出来るようだが参考本に従いソースダウンロードの手順で進める。

 ①以下のサイトにある最新のmultitailをダウンロードしてみた。
  http://www.vanheusden.com/multitail/download.php
  #2015/1/13時点では6.2.1が最新でした。

  適当なディレクトリでソースアーカイブをダウンロード
  wget http://www.vanheusden.com/multitail/multitail-6.2.1.tgz

  ソースの展開
  tar xvfz multitail-6.2.1.tgz

 ②作業ディレクトリを移動してビルドする
  cd multitail-6.2.1
  make
  make install

 ③設定ファイルをコピー
  mv /etc/multitail.conf.new /etc/multitail.conf

■結果
 multitail コマンドが使えるようになっているので二つのファイルを試しに開いてみる。
 multitail /var/log/messages /var/log/yum.log
    ↑2画面表示になった。multitailを終了させるには「q」で抜けられるようだ。



    -s 2 コマンドで縦に分割された。#2はカラム数らしい
 multitail -s 2 /var/log/messages /var/log/yum.log
 その他の引数についてはもう少しググッて見ようと思います。

■終わり
 通常のtail同様に multitail -f や multitail -n 100 等の使い方が出来るようなので結構便利かも
 multitail で3ファイル指定すると3分割されたので複数同時に見る事も出来る

 私の体験が誰かの生産性向上に役立っていただけることを祈って

2015年1月12日月曜日

iPhone5とiPad2でiBeaconを試してみた

■目的
 iBeaconについて興味があり、どのような活用法が出来るか試したかった。
iPhoneのアプリケーションで擬似検証出来る物があったので試してみる。

■参考にさせていただいたサイト
http://ascii.jp/elem/000/000/964/964201/

■事前準備
・iPhone 5 (iOS 8.1.2)  #こっちを受信側にする
・iPad 2  (iOS 8.1.2)  #こっちを送信(ビーコン)側にする
・以下のアプリを両機に入れる


iBeacon ScannerApp
価格無料作者IXSOFT
バージョン1.1.0ファイル容量1.6 MB
対応デバイスiPhone 4S以降、iPad 2以降、iPod touch(第3世代以降)対応OSiOS 7以降
■設定
 参考サイト通りに設定で出来ました。
□まずは送信側のiPad2で以下の設定を実施
 ①iBeacon Scannerを起動
 ②iBeacon Scannerのメニューから「Turn this device into iBeacon」をタップ
 ③適当なビーコン名を入力
 ④UUID、他と重複しないID(ex. org.hoge.fuga)、Major/Minor値にはそれぞれ初期値のまま
 ⑤右上の「Turn」をタップ
 
□次に受信機側のiPhone5側で以下の設定を実施
 ①iBeacon Scannerを起動
 ②iBeacon Scannerのメニューから「iBeacon Vendors」をタップする。
 ③画面右上の「+」をタップし、iPad2の画面と同じビーコン名、UUIDその他の情報を入力する
 ④登録されたビーコンの行をタップして選択(「*****」と印が付く)
 ⑤iBeacon Scannerのホーム画面に戻ると該当のビーコンが現れている
サイト上には上記設定のみの記載だが、以下の設定を確認しておく
両機でiBeacon Scannerのメニューから
 「Setup」→「EventPopup Notification」と「PUSH Notification」の2つを有効にしておく。


 以下は参考サイトからの転載、送信・受信機側で同一内容を入力している事がわかる
 


■結果
 上記設定を行うことで受信機を送信機から一定範囲離すと「see you」という表示が現れ、
 近づくと「good moning」という表示がポップアップされた。


■終わり
 このアプリで確かにiBeaconの動作を確認することが出来た。
欲を言うとポップアップ表示に何か別のメッセージを表示出来たらもう少し面白かったと思う。

また、一定間隔離れたり、近づいたりしてもポップアップ表示にタイムラグがあるのでタイミングもあるのかなと感じた。


私の体験が誰かの生産性向上に役立っていただけることを祈って