Google Cloud Associate Cloud Engineerに合格した(2020/6)
しました.6月中旬頃です.
GCPが何なのか勉強するために受験したので,実務では使わない.
実はAWS SAAの資格も持ってるけど,実務では使っていない.
一体何をやっているんだ俺は...
勉強方法・期間
コロナの影響で5月のGWが吹っ飛んだので,そのあたりから開始.
5月
- GCPの教科書を読む
- QwiklabsのGoogle Cloud Essentialsをやる
- Courseraをやる
- 模擬試験を受験する
5月中旬までに上記をやった.
5月末に受験しようとしてたけど,忙しくなって諦めたり, ゼノブレイドDEを始めてしまったので終わった.
6月
受験そろそろしないと...となったので勉強を再開.
ゼノブレイドDEを1週間封印し,下記を実施.
- Coursera・模擬試験をもう一回やる
- udemyで下記を受講する
感想
ゼノブレイドは10年前にしていたら,多分人生変わっていた気がする.
やっておけばよかったと思う一方,この歳でこれだけ熱中できるゲーム・シリーズに出会えたことに感謝したい.
あと,個人的にはメリアちゃんがめっちゃ好きで,今回のリメイクでは彼女が主役のシナリオが追加されているのも最高だった.
皆もゼノブレイドDEを買ってメリアちゃんを好きになってほしいし,GCP試験にも合格してほしい.
2も当然のように面白いので一緒に買ってほしい.
Mackerelで自宅のインターネット状況を監視する(Ciscoルータ編)
※Ciscoルータ編しかありません.YamahaルータとかJuniperルータとかくれ.
目標
- 自宅のWANのパケロスとかをMackerelで確認できるようにする
- 自宅〜Google Public DNS(8.8.8.8)へのRTTをMackerelで確認できるようにする
背景
突然なんですけど、家のインターネットの統計がとりたくて、いい感じにパケロスとか遅延測るソリューションってないですか?raspberry piぐらいなら用意できそう
— mot (@pg_mot) 2020年6月30日
上記に対してあんまりいい回答ができなかったので悔しくなったから.
環境
お金がないのでありものを使う.
- Raspberry Pi 1 B+(Debian的なやつを入れている)
- Cisco C841M(1万で買えた.皆はFortiGateとか買ったほうが良いと思う)
作業
パケロス確認
Mackerelはプラグインを使うとSNMPとかの情報が取れる.
なので,取り合えすプラグインを入れる.
使ったのはmackerel-plugin-snmp
気をつけるポイントとして,Raspberry Piの場合,apt
でシャッと導入ができないのでソースからうまいことしないとだめな一方,
マシンパワーが低いのでコンパイルにめっちゃ時間がかかる.
なので,適当な環境でGoバイナリをクロスコンパイルして入れてあげるほうが良い.
- 適当なPC(Mac)
$ git clone https://github.com/mackerelio/mackerel-agent-plugins.git $ cd mackerel-agent-plugins/mackerel-plugin-snmp $ env GOOS=linux GOARCH=arm GOARM=6 go build $ scp ./mackerel-plugin-snmp pi@[raspberrypiのIP]:/home/pi/
RTT確認
これもプラグインを使う.
使ったのはmackerel-plugin-pinging
これもクロスコンパイルして送ってあげる.
$ git clone https://github.com/kazeburo/mackerel-plugin-pinging.git $ cd mackerel-plugin-pinging $ env GOOS=linux GOARCH=arm GOARM=6 go build $ scp ./mackerel-plugin-pinging pi@[raspberrypiのIP]:/home/pi/
これでPlugin導入は完了.
mkrのインストール
次にMackerelへの設定をする.
調べるとagentが無いホストについてはmkr
コマンドでホスト登録をするらしい.
なので,mkr
コマンドをインストールする.
これもクロスコンパイルして送る.クロスコンパイル最高.こういう事ができる後輩がほしい.
$ git clone https://github.com/mackerelio/mkr.git $ cd mkr $ env GOOS=linux GOARCH=arm GOARM=6 go build $ scp ./mkr pi@[raspberrypiのIP]:/home/pi/
バイナリが送れたら,Raspberry Pi側にSSHする.
今更だけどRaspberry PiからSNMPコマンドやPingコマンドを発行して,それをMackerelにメトリクスとして送る感じです.
あと,Raspberry Piにはmackerel-agent
は導入済みです.あしからず.
バイナリファイルの移動
バイナリファイルを雑に送っていたので移動させる.
ここからRaspberry Pi側での操作です.
$ sudo mv ~/mackerel-plugin-snmp /usr/local/bin $ sudo mv ~/mackerel-plugin-pinging /usr/local/bin $ sudo mv ~/mkr /usr/local/bin
ホストの登録
今回のメトリクスを登録するようのホストを登録する.
これは,別に違うマシンからしてもいいと思う.
$ mkr create --customIdentifier home-router home-router
mackerel-agentの設定
続いてmakerel-agent
の設定を変更する.
設定ファイルは/etc/mackerel-agent
にある.
プラグインとかの設定を適当にする.
$ cd /etc/mackerel-agent $ sudo nano mackerel-agent.conf
- mackerel-agent.conf
apikey = "APIキー" [plugin.metrics.internet-rtt] command = "/usr/local/bin/mackerel-plugin-pinging --key-prefix='googledns' --host='8.8.8.8'" custom_identifier = "home-router" [plugin.metrics.snmp-router-interfaces] command = "/usr/local/bin/mackerel-plugin-snmp -name='interfaces.wan' -host='<ルータのIPアドレス>' -community='<community名>' '1.3.6.1.2.1.31.1.1.1.6.1:ifHCInOctets:1:0' '1.3.6.1.2.1.31.1.1.1.10.1:ifHCOutOctets:1:0' '1.3.6.1.2.1.2.2.1.14.1:ifInErrors:1:0' '1.3.6.1.2.1.2.2.1.20.1:ifOutErrors:1:0' '1.3.6.1.2.1.2.2.1.13.1:ifInDiscards:1:0' '1.3.6.1.2.1.2.2.1.19.1:ifOutDiscards:1:0'" custom_identifier = "home-router"
OIDは適当に調べる.面倒くさがりなので標準MIBとかは下記Qiitaとかをよく見る.
あと,mackerel-plugin-snmp
ではCounterの値は問題なく取れるけど,それ以外,例えばGaugeの値がうまく取れなかったりした.
SNMP get failed: Unable to decode packet: Unable to decode value: No such instance
面倒くさがりなので深くは追ってない.snmpwalk
だとうまく取れているので,多分gosnmp
でなんかなってるんだと思う.
mackerel-agent再起動
設定反映のためにmackerel-agent
を再起動する.
reload
的なコマンドもあるかもしれないが,自宅なのでこれで良い.
$ sudo systemctl restart mackerel-agent
確認
Mackerelのサイトにアクセスして,ホストが追加されていることと,5分くらいしてメトリクスが入っているのを確認する.
うまくいくとこんな感じになる.
終わり.
感想
- Mackerelは導入コストが低いので良い
- snmpとかはPrometheusのexporterの方が出来が良い
- 山に行きたい
Prometheus関連資料
OpenMediaVault 5 (beta) をインストールした
追記(2019/05/12)
なんかそもそもOpenMediaVaultの導入がうまく行ってないっぽい?
Vagrantで試したら,下記不具合はありませんでした.
背景
OpenMediaVault 4で自宅NASを運用していたのですが,色々あって設定が吹っ飛びました.
公式サイトを見ると,OpenMediaVault 5がbetaになっており,これもなにかの機会ということで試してみました.
所感
- Pluginが現状少ない(Docker-GUIとVirtualBoxが使えないのは痛い)
- UIいじってるだけで変なエラーが出ることがある(直接xmlファイル書き換えるとうまくいく)
- TimeMachineがNetatalkなしで使えるのは便利
導入
今回はOpenMediaVaultをUSBメモリにインストールして利用しています.
USBメモリについては8GBと32GBのものを準備し,それぞれインストールメディア,インストール先としています.
Debian 10 RC1 + OpenMediaVault 5.0.1です.
問題
パーティション設定時にエラーが出る
解決策
OpenMediaVaultのイメージから導入せずに,Debian 10のイメージからインストールするとうまくいきます. (これは私のハード固有の問題かもしれませんが)
Debian 10導入後,ここのサイトにあるコマンドを入れこむと良いです.
Samba
問題1
The property 'nullpasswords' does not exist in the model 'conf.service.smb'."
というエラーが出てSambaを有効にできませんでした.
解決方法
OpenMediaVaultの設定用xmlを直接編集しました.参考
設定側にlocalmaster
の項目を追加すれば解決するかとも考えましたが,同様のエラーとなりました.
/etc/openmediavault/config.xml
<smb> <enable>0</enable> // 0→1に変更 <workgroup>WORKGROUP</workgroup> <serverstring>%h server</serverstring> <loglevel>0</loglevel> <usesendfile>1</use
問題2
共有フォルダでTimeMachineが有効になりませんでした.
解決方法
共有フォルダのオプションに下記設定を追加すると有効になりました.参考
vfs objects = catia fruit streams_xattr fruit:time machine = yes
OMV
導入は以下のコマンドで可能です.
wget -O - http://omv-extras.org/install | bash
その他
また気づいたことを追記していきます.
PakcetTracerの導入(Mac)
PacketTracerをMac(Mojave)に導入した.
動機としてはCCNPの勉強のためだったのだが,route-map
やdistribute-list
などのコマンドがサポートされていないので全然使えなかった.
やり方
- PacketTracerをCiscoのサイトからダウンロード(要アカウント作成)
Learn the Basics With Introduction to Packet Tracer Course | Networking Academy
- EasyWineをインストール
PacketTracerのインストール用exeをEasyWineで開き,インストールする
yippee!!
感想
ネットワークはなかなか成果が目に見えないので,こういう可視化された勉強環境は非常に嬉しい.
(Helloパケットがルータ間でやり取りされているのを眺めるだけでも楽しい)
CiscoルータからGoogleDomainsのDDNS機能を使う
悩んだ末に無理やり解決した...
日本語の情報があまりなかったのでメモ.
目標
Ciscoルータ(今回はC841M)からGoogleDomainsのDDNS機能を使う.
問題
CiscoルータではDDNS更新を行う場合,下記コマンドで設定を行う.
更新用のAPIがHTTPSで提供されている場合,更新に失敗する(下記の<URL>
の部分)
# conf t #(config) ip ddns update method <WORD> #(DDNS-update-method) http #(DDNS-HTTP) add <URL> #(DDNS-HTTP) exit #(DDNS-update-method) interval maximum 0 0 30 0
解決方法
案1. ルートCA証明書を手動でインストールする(正統解)
そもそも更新に失敗するのは証明書がインストールされていないため.
下記方法でCiscoルータに証明書をインストールする.
参考 Ciscoルータでの設定例 - KDNS.JP Beta
案2. IFTTTなどで無理やりAPIをhttps->http化
IFTTTではWebhooksのAPIをhttps/httpどちらでも利用可能.
また,URLパラメータも利用可能.そこでIFTTT側で以下のように設定.
IF THIS(Ciscoルータ側) http://maker.ifttt.com/trigger/{event}/with/key/{key}/?value1=<h>&value2=<a>
THEN THAT https://<Username>:<Password>@domains.google.com/nic/update?hostname={{Value1}}&myip={{Value2}}
結果
2の解決方法で対応.疲れた.
モダンな登山環境構築のススメ
この記事はRCC OBOG Advent Calendarの4日目です.
昨日はいちご無双さんのスーツケース一つで引っ越しして困ったこととかです.
だいぶ前にRCCにいました@Mekapikuです.
普段はネットワーク関係のお仕事をしています.
気がつけば,後輩の多くも立派な老害社会人になっていました.
月日が経つのは早いですね...
さて,社会人になると体が資本ということで,健康のために運動をしている方が多いかと思います.
特に登山は10万円程度から始められる活動的な趣味であり,しかも生涯楽しめるため,健康面・コスパ共にとして非常に優秀です.
私も3年程前から趣味として登山を始めており,今年は槍ヶ岳の登頂も果たしました.
これは昨今の登山用具の発達に加え,スマートフォンの普及に伴う登山支援サービスの進歩により実現できた成果だと考えています.
そこで,今回はこれまでの経験から,最近の登山に関するサービスについて紹介します. 皆さんの登山,そして健康促進の一助となれば幸いです.
注意
とはいえ,スマートフォンの信頼性は紙よりも低いので,
必ずバックアップとして紙の地図とコンパスは準備しておきましょう.
また,基本的な登山装備については下記文献を参考にして下さい.
テント山行まで幅広くサポートされていて分かりやすい文献です.
そもそも登山とは?
山に登ることですが,もう少し砕くと
- 登頂に向けた計画を立てる
- 山行が計画通りであるか逐次進捗を確認する
- 進捗の遅れや,天候変化等の問題に対して適切な対応を行う
といった風に業務プロジェクトと同様のステップを踏みます.
そう,登山は一つのプロジェクトなのです.
そして進捗悪化は最悪の場合は死につながります.
登山を舐めるな.
一方,計画や進捗確認に問題がなければ,普段は見られない美しい風景やそれをおかずにしながら最高のご飯を頂くことができます.
登山に関するサービスというのは,正しい計画や進捗管理を強力に支援してくれる,
いわば,登山におけるプロジェクト管理ツールなのです.
登山に関するおすすめサービス
主に普段使っているのは2つです.
ヤマレコ
ヤマレコは登山計画の作成と共有に使っています.
似たサービスはいくつかありますが,
計画作成に山と高原地図が無料で使えるのが大きな優位点です.
ヤマプラ - 「山と高原地図」で登山のプランを作ろう! - ヤマレコ
どこに何があるか?どこまでに何分掛かるか?等がひと目でわかり,
目標地点を選択するだけでコースタイムやコース難度もわかるので
初心者でも無理なく山行計画を立てることができます.
また,他の人の計画を引用することも可能です.
私の場合,山行スピードは1.0倍で,1時間毎に10分の休憩,
お昼休憩は60分として計画しています.
計画作成後には,それをWebから登山届が出せる山ピコ等へ投稿することができます.
また計画の印刷することで,配布用やバックアップ用として紙媒体を持ち歩くことができます.
その他,後述の山と高原地図で使えるGPXファイルも出力可能です.
山と高原地図
こちらは山行中の現在地把握,並びに進捗管理に使っています.
山と高原地図のデジタル版購入の他,GPSを使ったロギングが可能です.
また,GPXファイルをインポートすることで,地図上に計画経路を表示することができます.
似たようなサービスとしてYAMAP等がありますが,
地図についてはやはり山と高原地図がわかりやすく,おすすめです.
(YAMAPはAndroid Wearで地図表示ができたりして凄い)
今後の登山環境について
計画や進捗管理については,かなり便利な状況となりましたが,
課題として,登山者側からの緊急発信ができない事が残っています.
地理的な特性上,山中ではLTEはおろか3Gも入らず,衛星電話しか使えないというケースが多いのです.
怪我をして動けない場合,現状では数日以上経過し,捜索願が出されるまで異常に気づかれないという可能性もあります.
現在,LoRaWANなど安価な広域通信サービスによる実証実験が進んでおり,将来的には有名な山ではより安全な登山が楽しめるようになるでしょう.
最後に
山に行きたくなる画像です.
山に行っても人生観は変わらないけど,地上では食えない最高の料理が食えるぞ.
明日は@PG_nokkiiです.よろしくおねがいします.