AristaNetworks cEOS-labのインストールと起動(Docker for Windows)
はじめに
AristaNetworks社の製品について業務で少し関わっており、気軽に触りたい環境を作りたいと考えていた。 Arista社にはハイパーバイザー上で利用できるvEOS※という仮想版がリリースされてはいるものの、必要とされるメモリが2G程度で少々自宅のパソコンにいれるには厳しかったが、コンテナ環境で利用できるcEOSがリリースされている(メモリは600M程度で動く)のでそれを試しに入れてみた際のメモである。 本当はLinuxサーバマシンで試そうと思ったのだが、Windows10マシンを新規に購入したのでDocker for Windowsでも動くのかまず試すことにした。
※正確にいうとlab版とそうでないものに分かれている。簡単には以下。
名称 | 説明 |
---|---|
vEOS | 商用版。購入の必要あり。 |
vEOS-lab | 評価用。Arista.comからダウンロード可能。 |
cEOS | 商用版。購入の必要あり。 |
cEOS-lab | 評価用。Arista.comからダウンロード可能。 |
インストール手順
1.Arista社のサイトからcEOS-labのイメージダウンロード(ユーザ登録が必要)。
今回はcEOS-lab4.21.1Fを利用。
2.import※
※Docker for Windowsをインストールしていること前提で記載しています。自分はWindows10Proの64bitマシンを使用した。
docker import cEOS-lab.tar ceos:latest
3.create
docker create --name=ceos --privileged -p 443:443 -e CEOS=1 -e container=docker -e EOS_PLATFORM=ceoslab -e SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 -e ETBA=1 -e INTFTYPE=eth -i -t ceos:latest /sbin/init
4.ネットワークの作成
EOS Centralにも以下記述が記載されているのですが、eth0は使えないようなのでeth1以降を設定することにする。
Note: Connection to docker0 is created by default when no network parameters are specified in docker create
. Ethernet0 interface cannot be used and is not available inside the Cli shell.
docker network create net1 docker network create net2 docker network connect net1 ceos docker network connect net2 ceos
5.コンテナ起動
docker start ceos
6.EOSのCLI
先ほど作ったコンテナネットワークのnet1とnet2につながっているEthernet1とEthernet2が作成されている。
まとめと今後やりたいこと
Docker for Windowsでちゃんと動くのかなぁという好奇心もあり、ひとまずWindowsマシンでcEOSを建ててみました。 今回は単純に1ノードのみ作成しましたが、マルチノードやAPI叩いたりやっていきたいです。 もっと早くにチャレンジしたかったのですが、年明けてからの実施になってしまった・・・。
本記事はすでにcEOSについて記載されている以下の記事も参考にさせて頂きました。
https://qiita.com/arashi1977/items/1f728035670c0a57dffd
https://tekunabe.hatenablog.jp/entry/2018/12/17/arista_cEOS-lab_one
その他
元記事
Cisco MerakiのWebhooksを試してみた
背景
個人で使えるCisco Merakiの評価機を幸運にも所有している。 たまたま目に入ったWebhooks(まだベータ版らしい)の機能が目についたのでお試しに使ってみた。 自分への備忘録を兼ねて投稿します。 一部Cisco Merakiを触ったことがある人/知っている人しかわからない用語等も含まれます。
Webhooksの設定画面
ダッシュボードを開き、ネットワーク全体→設定→アラートを選択すると一番下の画面にこんな設定画面があります。
ここでWebhookを受信するHTTPサーバを追加設定します。 HTTPサーバを追加をクリックするとこんな感じで任意の名前とHTTPサーバのURL等を記載することになります。
当初このHTTPサーバをどうしようかと思ってMerakiの英語のコミュニティを見ていたところ、Zapier(多数のアプリを組み合わせて自分ならのワークフローが作れるintergration Platform as a Service)が使えるよ!って書いてあるのを見て調べたのですが、 どうやらZapierの無料版ではWebhookの機能は使えない(Premiumのマークがついてました)ようなので途方に暮れていたところ、 Googleスプレッドシートで試せるようなのでそちらに方向転換しました。
Webhooksを使うためのステップ
とてもシンプルでこの4つのステップを実行するだけです。
1.Googleスプレッドシートを作成 2.GitHubに公開されているコードを持ってきてコピー 3.Webアプリ公開 4.MerakiダッシュボードにWebhookの設定を投入
1.Googleスプレッドシートを作成
新規にGoogleスプレッドシートを開いてツール→スクリプトエディタを選択します。すると下のような画面になります。
2.GitHubに公開されているコードを持ってきてコピー
GitHubのここからコード(code.gs)を持ってきてスクリプトエディタの初期から記載されているコード.gsの内容を入れ替えます。
3.Webアプリ公開
公開→ウェブアプリケーションとして導入を選択
次に下のような画面がでてくるのでWho has access to the appのところはAnyone,even anonymousを選択してDeployを押してください。 ※Execute the app asは自分のメアドが表示されてしまうのでマスキングしてます。 Deployが終了するとWeb whook用のURLの宛先が表示されるのでこのURLをコピーします。
4.MerakiダッシュボードにWebhookの設定を投入
MerakiのダッシュボードのWebhooksに戻り先ほどコピーしたURLを登録します。
ネットワーク全体→設定→アラートを開いた一番上のアラート設定の受信者に先ほど登録したWebhook用のサーバを登録しましょう。 今回はWebhook:GoogleSheetという名前になっています。
確認作業
保存した後はWebhookのテストを実施します。Webhooksの設定箇所でWebhookテストが実施可能です。 成功すると緑色、失敗すると赤になります。自分は最初URLを最後までコピーしてなくて失敗しました。
次に設定可能なパラメータを何か変更して見て設定変更がGoogleスプレッドシートに反映されるか見てみます。 一部情報を非表示にしたりしてますが、スプレッドシートにアラート情報を受け取っていることはわかるかと思います。
まとめ
直接Webhookの設定をするのは初めてでした。やっぱり自分の手である程度やらないとイメージもわかないので、 思い立ったが吉日でやってみた結果、多少理解度が深まった気がします。 設定変更が発生したらSlackやTEAMSに通知みたいなこともゆくゆくは試してみたいですね。
参考
今回の検証はほとんどCisco Devnetのコンテンツを参照して実施してます。 https://developer.cisco.com/meraki/build/meraki-dashboard-alerts-with-google-sheets/
元記事