kenkino’s diary

おそらく技術・グッズ・自転車系 当ブログは、Amazonアソシエイトやその他アフィリエイト等の収益メディアを表示しております。

自宅J-COMが繋がらなくなって復旧させた話

7月に突然J-COMが繋がらなくなり、色々やって復旧した話をこれからしていこうと思う。

内容

不具合発生 

7月上旬、自宅で使っているChrome Bookで電子書籍をダウンロードしようとしたらネットワークエラーで途中終了し「なんだダウンロード失敗したか、再度ダウンロードだな」とダウンロードをかけたところ今度は全くダウンロードができず「サーバが混んでるか、混むのが解消するまでSNSでも見るか」とSNSのビューワーを立ち上げたらこちらも接続できないという表示が。

「???」となりながらWebブラウザを立ち上げてYahooやGoogleを見ようとしたら軒並み接続できず。

J-COMの障害か?」と思い、スマホのモバイル接続でDowndetectorという障害情報が掲載されるサイトでJ-COMをチェックしたのだが障害の情報は無く「まぁしばらくしたら回復するかな」と思い、夜も遅い時刻だったので寝る事にした。 しかしこれが1ヶ月近くも続いた騒動の始まりだった。

障害状況と確認 

翌日起床後にネットワークの状態を確認したところ、昨日と変わらず「やけに長引くな」と思いつつ状況の確認を始めた。

自宅は以前書いたように自宅のネットワーク構成を変更している。

kenkino.hatenablog.jp

ネットワーク不具合発生時の構成はザッと書くとこのようになっていた。

通常自宅のネットワークが繋がらないという場合は以下の場合が考えられる。

1.使っているPCのファイアウォールの設定ミスでPCがネットワークから来るパケットを全て遮断している

2.アクセスポイントが機能せずに自宅のルータまで繋がらなくなっている

3.ルータの設定ミスでインターネットに繋がらなくなっている

4.DNSというサーバーと接続できなくなってドメイン名とIPアドレスの変換ができなくなっている

ということで上記1、2を確かめるため無線LAN経由で自宅ケーブルモデムルーターの管理画面へアクセスしたところ問題なくアクセスができており1と2の可能性が消えた。

そして3と4の可能性を探るためにMacBookのターミナルからpingコマンドを実行してみた。

このコマンドはコマンドを実行したマシンとネットワークのとあるサーバが通信できるかを確かめるコマンドで、通信ができる場合はサーバから返答が返ってきたことと要した時間等が表示されるコマンドである。

まずは3の可能性を確かめるためにGoogleDNSサーバのIPアドレスである「8.8.8.8」へコマンドを実行した。

IPアドレスというのはコンピュータ個々のネットワークデバイスが持っているアドレスで実はコンピューター同士はこのIPアドレスがわからないもしくはアドレスに到達しないと通信ができないため、返答が返ってこないということはネットワーク的に問題があるということなのだが、結果としては問題なく返答が返ってきていた。

次はDNSだが、DNSとは簡単に言うとIPアドレスでしか接続できないコンピューター同士がWebブラウザ(EdgeやらChromeとかのインターネットのホームページをみるソフト)でホームページをみるためのhttp://以降の文字は実はIPアドレスと紐づいており「この名前のサーバのIPアドレスはこれ」と伝えるサーバでこれと通信ができていないということはhttp://以降の文字を入れてもIPアドレスが取れずに通信ができないということになる。

4の可能性を確かめるためにはwww.yahoo.co.jpやwww.facebook.comにpingコマンドを実行して返答が返ってくるかを確かめる(ただしpingコマンドは下手なアドレスに対して実行するとネットワーク攻撃と見なされることもあり、実行する場合は上記のようなメジャーなところにして欲しい)結果としては返答が返ってきており、ネットワーク接続的には問題はないということになり、状況は暗礁に乗り上げてしまった。

サポートその1~~ケーブルモデム交換

上記のような状況であることまで確認してJ-comのサポートに連絡、やり取りをした結果ケーブルモデルルーターを交換ということになり、日時を調整してサポートの方が到着してケーブルモデムルーターを交換、交換直後は問題なく接続ができていたため「ケーブルモデムルーターの不具合だったか」と思っていたのだが、2〜3時間後に状況が元に戻ってしまいその日のうちにサポートに連絡するという事態になってしまった。

サポートその2~~ケーブルTV関係接続機器の交換

ケーブルモデムルーターで状況が改善しないということで、再度サポートのお世話になることに、実の話7月の半ばからリモートワークが始まる事が決まっており、このままでは業務ができない状況に陥る恐れがあったためかなり焦っていた。 再度サポートが訪問して今度は自宅の接続機器の交換ということになり、交換をしてもらったのだが状態は解消せずサポート要員の方もできることはここが限界ということで終了。

ただし訪問していただいたサポートの方の話によると、基地局から自宅マンションのケーブル回線(自宅マンションは、地上デジタル化の際に電波対策地域となっていたためケーブル回線が引きまわされている)と自宅までの通信はできているのは確認できているが、通常一定を値を示す通信状況が自宅のみ振幅しているとの話で、接続機器の不調を疑ったが交換しても不調なためそれが何が原因かはわからないという話で、現状では対応できるのはここまでが限界という話だった。

ということで、自宅の回線が不調のため旅行の際に使っているポケットWiFiルーターにリモートワーク用のPCを接続して当面はリモートワークを行うことにして、対応を考えることにした。

意外なキッカケ

自宅のネットワークが不調のためポケットWiFiルーターでリモートワークが始まり、リモートワーク用のPCは一応問題なく接続が行えていて一安心といったところだったのだが、ある時仕事中にリモートワーク用のPCのステータスを確認したところ自宅のネットワークに繋がっていることに気づき「自宅ネットワークが不調なはずなのに何で繋がって使えてるんだ?」となり、業務終了後にリモートワーク用のPCを調べていたところリモートワーク時には勤務先のネットワークとVPNというPCと勤務先のネットワークをソフトウェアを使って仮想的に勤務先のネットワーク内にいる状態になっていると問題なくインターネットのサービスが使えることに気いた。

「もしかして」と以前自宅のストレージに問題があった際にProtonDriveというサービスに申し込んでいて、登録した際にProtonVPNというVPNサービスが使える様になっていた。

go.getproton.me

そのため試しに自宅のMacBookProでProtonVPNに接続してみたところMacBookProで問題なくWebやメールが使えるという状況になった。

その頃たまたまネットワーク関係の人と飲む機会があり自宅の状況を説明したところ「もしかしてケーブルモデムルーターのNATテーブルが溢れてない?」という話に。

※この先は自分のちょっと曖昧なネットワークの知識を元にして書いているので、これより先はネットワーク系の皆さん間違っていたらご指摘お願いいたします。

NATというのは、家庭のネットワークは内線電話とすると、インターネットという外線に繋ぐ場合、自宅のPCのIPアドレスを一旦自宅のルーターに割り振られた外線のIPアドレス置き換えて繋ぐ仕組みというと分かりやすいだろうか

NATテーブルというのは「現在のインターネットサービスを利用している(これをセッションといったりする)リスト」といったところで、これが一杯になってしまうと内部のネットワークから外部のサービスへ繋げなくなってしまい結果的にネットワークが使えなくなってしまうということになる。

試しに自宅のRTX1200でNATのセッションを見てみると6000くらいのセッションがあり、RTX1200は20000セッションが限界なので問題ないがケーブルモデムルーターのNATテーブルが溢れているということであれば説明がつく。

他のネットワーク関係の方に聞いてみたところ家庭用だとNATテーブルは大体2000前後で設定されているのではとのことで、これはほぼ確定ではなかろうかということになった。

VPNを使うと繋がるのはVPNのクライアントとサーバを接続するとその間にトンネル接続という接続がなされてVPNの接続先のネットワークを介してインターネットに接続される状態になるため、自宅のNATの制約を受けなくなるからであると考えられる。

完全復旧?

ということでVPNを使えば個々のPCは問題なく使えるのだが、自宅内にはPCの他にインターネットを使っているマシンがあったことからインターネットの繋ぎ先であるケーブルモデムルーターで対処しないとダメだろうという結論になり、ケーブルモデムルーターのNAT関連の設定を見たが、テーブル操作に関する設定は存在しなかった。

どうするかと思ったが、現在自宅のネットワークはケーブルモデムルーターにはRTX1200がつながっているのみなのでケーブルモデムルーターのNATを含めたルーター機能を停止してインターネットの繋ぎ先になるブリッジモードに変更して、ルーティングはRTX1200に任せればと思い立ち、設定を行ってみたところネットワーク接続が復旧し、とりあえずは以前と同様に使える様になった。

このように、自宅でのJ-COMの接続は復旧したが、この解決策を取ろうとすると

  • 自宅からインターネットにどの様な機器を介してつながっているかを把握しているか?
  • ネットワーク接続機器がどの様なものがあり、どの様に使うか?
  • IPアドレスの知識
  • ネットワーク調査用のコマンドの知識
  • ネットワーク接続トラブルの対処経験

が必要で、先に示した知識が全く無い人がこれをやろうとすると事態が悪化するためオススメはできない、あえて作業を行う場合は自宅のネットワークをダメにする覚悟で自分でそこら辺の知識を勉強するか、その様なことを知っている人に頼んだ方がいいだろう。

このような方法で解決後にJ-COMのサポートに連絡、ケーブルモデムルーターのNATテーブルに関してセッション数の限界について聞いてみたのだが、サポートにもNATテーブルの限界セッションの情報はないとのことで、他に自宅のネットワークについて確認をしてみたところ原因不明の回線の不安定状況は継続しているとのことで、当面は問題なさそうだがまた繋がらなくなりそうな気配もあり、その際の代替経路も準備しないとダメなのか考えているところである。

暑さ対策グッズを試す ~ ソニーReon Pocket 4 編 ~

内容

自宅の片付けをしていたら

最近、自宅の片付けをしていたら某家電量販店の株主優待券を見つけてしまい、加えて優待券の期限がもう直ぐということで「何を買おう」と思っていたらフト「サンコーのセナクールはあるけど、優待券使えば手に届く価格になるな」ということで以前から気になっていたソニーが販売しているReon Pocketの最新モデルを購入することにした。

商品について

この商品は大体の人が知っていると思うが、ソニーが発売しているペルチェ素子式の冷却・加熱デバイスである。

4の名前が示す通りこれまで四回モデルチェンジが行われており、モデルチェンジを行うたびに色々と改良が加えられていて最初のうちは「う〜んこれだとあまり使いたくないな〜〜」と思っていたのだが最近のは「ちょっと使ってみたいな」と思うほど改良が加えられていて気になっていた。

というのも報道を見る限りだと、最初は装着するために作られたのウェアに入れて使うようになっていて時間が経つと自動的に停止するものだったのだが、最近のはネックバンドで服装に構わず取り付けられるようになっていたり、外付けの外部環境センサーで外部の環境によって自動的に冷却・加熱が行えるようになっていたりで急速に進歩しており

「これなら使ってみてもいいかな」という性能になってきていたタイミングで優待券を見つけたので購入した次第である。

今回購入したのは外部環境センサーなしのモデルであるが、本体についた温度センサーで運転モードにより最適な温度にするモードが付いていたらしい。

購入したものが到着してチェックしたところ、セナクールに比べると全体的に大きめであるがペルチェ素子の冷却部分も大きくネックバンドもシッカリした作りになっており、耐久性のありそうなデザインになっている。

加えて排気口の延長ノズルが付属しており少し襟の高い服でも排熱ができるように配慮されているところは、モデルチェンジを繰り返したフィードバックの結果かと思われるがよく考えられているなと思った。

使ってみて

動作については、本体にスイッチがあるのでそちらを使って操作することもできるが、スマートフォンにアプリをインストールしてBluetoothで接続して使うのが圧倒的に使いやすい。

操作は

1.電源を入れたReon Pocketを首につける

2.スマホのアプリを起動する

3.アプリが起動しているReon Pocketと接続

といったところで、アプリで冷却・加熱の切り替え、動作のON/OFFと動作モードの選択が行える。

デフォルトの場合はSMARTモードという周りの温度や設定温度に合わせて動作を変えるモードになっており、そのモードでもいいのだが、もう少し冷たくしたいという場合も手動で調整が可能である。

内蔵バッテリーの持ちというところではSMARTモードでは7~8時間となっているが、自分の場合だと朝6~7時くらいから使い始めて昼の1〜2時くらいに動作が止まっていてほぼメーカー公式性能通りで、普通に勤めている人ならお昼の休憩時に充電して1日使えるといったぐらいになるのかと思う。

内蔵バッテリーだけでなく、モバイルバッテリーを接続して使うことも可能で、本体からケーブル等が伸びてしまうが最近のモバイルバッテリーの容量(10000mA)くらいなら一日中つけたままで使用可能になる。

排熱についてはダクトが付属しており、これが結構効果的で付けている時はほとんど排熱を感じなかったのだが、自分の場合はいつの間にか脱落orz、結構効果があると思うのでダクト単体で長めとか角度を付けたタイプとか売ってくれると助かるなと思った。

動作音については、SMARTモードだとものすごく静かで、静かなオフィスで動作させていても空調の音に紛れる位の大きさで、オフィスでスーツを着て働いている人には結構いいのではと感じた。

セナクールと比較して

前回投稿したセナクールと比較すると、セナクールが動作時に常時フルパワーで冷やすといったところに対してReon Pocketはセンサーで細かく冷却モードを変更しながら外気温や動作モード等の最適点で冷やすといったところで、セナクールの倍以上のお値段だがそのお値段分の機能が盛り込まれている感はあるなと感じた。

使い方としては、セナクールがバッテリーなしならちょっとした外出、モバイルバッテリーをつけて長時間の野外作業で使うに向いているかなというのに対して、Reon Pocketはモバイルバッテリーを付ければセナクールと同じ使い方はできるが、この時期とかでもスーツ着用必須(どんなブラック職場だ)で節電設定されたオフィスにいても暑いなという人たちが付けて冷却の補助に使うといった使い方に向くのかなと思った。(まぁスーツ着用必須の場合、こういうのを付けるのも許されない気はするが....)

そういう相違点はあるのだが、両方とも排熱が少し問題で背中にあたる角度によっては冷却プレートではなく排気口だけ背中に当たって暑いだけ(火傷するほどではないが)だったり、電源ボタン・充電コネクタが右側にあり、外付けモバイルバッテリーのコードをつけた場合スイッチが押しにくいし、外付けバッテリーは胸ポケットに入れるはずで大抵のポケット付きの服は胸の左側にポケットがあるのに何故電源コネクタが右側に付いているのかと思うことがあり、ここら辺はオプションの排気対策パーツを用意したり、電源コネクタの位置を変更したりと双方ともも少し考えた方が良いのではと思う。

いずれにせよ「ネッククーラーは付けずらいが、シッカリ冷えるものが欲しい」とか「一見して冷却デバイスを使っているのが見えると差し障りがあるところで使いたい」という場合はオススメできる製品だと思う。

最近は異常に暑く熱中症で病院へという話も増えているのでこういう製品を買ってできるだけ凌ぐのも一つの方法なのではないかとも思う、皆さんも気をつけて過ごしていただきたい。

暑さ対策グッズを試す ~ サンコー セナクール 編 ~

内容

何故かこの時期になると

昨年末に転職してとある仕事をやっていたのだが、リモートワークではあったのだが色々合わないところがあり契約期間で終了させてもらい、現在は転職サイトで声をかけてもらった別のところで仕事をさせてもらっている。

現在の仕事の方はリモートワークも行えるが現在のところは通勤している状況で、これから暑くなる中も通勤するということで暑さ対策グッズを常時持ち歩いているという状況になっている。

ここ最近、何故かこの季節になると新しい暑さ対策グッズを買ってきて「今年は無くてもいいか」と思いつつ購入していて今年も「ファン付きウェアもある、冷却ベストもある、ネッククーラもあるからもういいだろう」と思っていた。

kenkino.hatenablog.jp

kenkino.hatenablog.jp

kenkino.hatenablog.jp

しかしサンコーのサイトを見ていたら面白そうな製品がでていたのでまた買ってしまったという次第であるorz

商品について

商品について説明すると本体部分にペルチェ素子と排熱及び周辺への送風用のファンと首に掛けるネックアームがついており、ネックアームを首に引っ掛けると背中にペルチェ素子が密着してスイッチを入れると冷却が始まると言ったものである。

電源ボタンは本体横に付いており、一回長押しすると連続動作モードで動作開始、電源が入った状態で一回短く押すとエコモード(1分間冷えた後、3分間ファンのみ駆動)で動作というものである。

本体バッテリーは連続動作モードで1時間、エコモードで2時間となるが、外部バッテリーを接続可能でメーカのマニュアルによると10000mAで連続動作モードが5時間、エコモードで10時間駆動できるとのことで、付属のUSB Type-Cケーブルを接続することで充電や外部バッテリー駆動を行う、ただし付属のUSB Type-C充電ケーブルは形状がL型でケーブルをつけた状態で電源ボタンを押そうとするとかなり押しづらい上にコネクタが右側にあり、普通の服は大体左側にポケットがあるものが多く外部バッテリーを使う場合は大体そこに入れるはずなのに何故ケーブルの取り回しが面倒になる右側なのかが謎だったりする。

使ってみて

5月くらいに購入して、暑くなりそうなときを見計らって使っていたのだが背中につけることもあり、ネッククーラのようなつけ外しの面倒さも無くペルチェ素子は結構冷たくなりかなり効果はあると感じていた。

初めの頃はファンの部分が密着してしまいペルチェだけで無く本体自体が相当熱くなり「これ、設計ミスでは?」と思ってマニュアルを読んでみたらスペーサー付属していたことが判明、単にマニュアルをよく読んでいなかっただけだった。orz

スペーサをつけたところ、常時排熱できるからかペルチェの冷たい感覚が得られてペルチェ周辺は冷え続けている感覚があり「これは良いか」と思っていた。

しかし長時間使っているとペルチェの排気口から当たる熱風で冷や熱いと言った状況となり、おまけに排気口周辺も熱を持ってくるのか「ペルチェ周辺は冷たいが排気口の熱で台無しになる」感覚で短いバッテリー動作時間や意外に音も大きいというのも相まって「これ、ハズレだったかな」と考えてしまうようになっていった。

意外な組み合わせ

「なんか冷や熱いし本体バッテリーも持たないしビミョーだな〜〜」と思っていたのだが、とある気温の高い休日に野外で行動しようと思いファン付きウェアを着ようとしたところ「このウェアってファンはUSB駆動だし、バッテリー大容量のを使っているからセナクールと組み合わせるといいんじゃないか?」フト思い立った。

kenkino.hatenablog.jp

今年ウェアの電源を強化しておりバッテリーを入れる場所もウェアの右の裏ポケットなのでケーブルの取り回しも面倒では無く、おまけにペルチェの排熱はウェアのファンで吹き飛ばせるのでいいのではないかと思ったのだ。

早速ウェアのバッテリーと接続してテスト、突入電流の関係で時間差でスイッチを入れて使ってみたところ狙い通りにファンの風がペルチェの熱風を吹き飛ばしているのと同時に、本体もファンの風で冷却されるためか排気口にあまり熱がこもらずかなり冷感が改善された。

最近サンコーとワークマンでペルチェ素子付きのファン付きウェアが出ているが

これらはペルチェ部分はアンダー一枚隔てて接触するのに対して、今回の方式だとペルチェ素子が直接背中につくのでこっちの方が効果が高い&お値段もお得であり、ファン付きウェアだけでは暑い時にこれを付ければこれをつけた部分は確実に冷たいので、双方の微妙な点を補う形になり、更に冷却ベストを付ければかなり効果があるのではと思う。

暑い時期の通勤用として使うのは微妙だがファン付きウェアを使う野外作業でウェアのサポートとして使ういったところでかなりの効果を発揮するアイテムだと思うので、USB接続のファン付きウェアを使っているがウェアだけでは物足りないという方がいたらこれを購入して使ってみるのがいいのではと思う。

FreeBSD 13.1にZabbix 6.0を入れてみた


内容

自宅環境の監視 

自宅ネットワークの再構築や

kenkino.hatenablog.jp

Minisforumを入れて仮想化環境を入れたりしていて、色々と試したりしていたのだが

kenkino.hatenablog.jp

監視についてはネットワークのモニタのみでその他の監視を行っておらず

kenkino.hatenablog.jp

「仮想化環境も揃ったことだし、何か監視用のサーバを立ててみるかな?」

ということで、オープンソースの監視ならLinuxでZabbixを何度もインストールしていたりしたので、Zabbixを立ち上げようと思ったのだが「これまでLinuxで立ち上げはやったが自宅で主に使っているFreeBSDでいれてみるのはどうなのだろう?」ということで、FreeBSD仮想マシンを立ち上げてZabbixのインストールを試してみることにした。

Zabbixのダウンロード・インストールについて調べる 

Linuxの場合、最近はOSとアーキテクチャ、OSバージョン・DB・Webサーバを指定すればインストール方法が表示されるページがあるのだが、生憎FreeBSDはそのようなモノが用意されおらず、いろいろ手順を探しながらのインストールなる。

www.zabbix.com

といってもZabbixのインストールの大まかな流れとしては

  • Zabbix-server、frontend、DB、Webサーバをインストール
  • DBサーバにZabbix用のテーブルを追加
  • Webサーバのphp用設定を有効にして起動

というところを押さえておけば、OSが違ってもインストールは行えるハズである。

今回は下記のような構成でFreeBSD 13.1にインストールを行うことにした。

Zabbix : 6.0 LTS

DBサーバ : PostgreSQL

Webサーバ: nginx

インストール前調査

まず最初に行うのはFreeBSDのインストールパッケージであるpkgの依存関係を確認である、ここでパッケージ間の依存関係が自分のインストールしたい設定となっていればいろいろと全自動で行ってもらえるので、かなりの作業を省くことが可能となる。

# pkg search -d zabbix6-server
zabbix6-server-6.0.12
Comment        : Enterprise-class open source distributed monitoring (server)
Depends on     :
    fping-5.0_2
    net-snmp-5.9.1_2,1
    curl-7.87.0
    pcre2-10.40
    libevent-2.1.12
    unixODBC-2.3.11
    mysql80-client-8.0.31
 # pkg search -d zabbix6-frontend-php81
zabbix6-frontend-php81-6.0.12
Comment        : Enterprise-class open source distributed monitoring (frontend-php81)
Depends on     :
    php81-session-8.1.13
    php81-xmlwriter-8.1.13
    php81-xmlreader-8.1.13
    php81-xml-8.1.13
    php81-simplexml-8.1.13
    php81-dom-8.1.13
    php81-ctype-8.1.13
    php81-fileinfo-8.1.13
    php81-filter-8.1.13
    php81-sockets-8.1.13
    php81-ldap-8.1.13
    php81-snmp-8.1.13
    php81-bcmath-8.1.13
    php81-8.1.13
    php81-gd-8.1.13
    php81-gettext-8.1.13
    php81-mysqli-8.1.13
    php81-mbstring-8.1.13

パッケージの依存関係でDBはMySQL前提だったorz

これで方法はないのかと思う方もいるかもしれないが、FreeBSDにはportsというネット上のソースをダウンロードしてビルド・インストールする機能が用意されており、今回はこちらよりインストールすることにした。

FreeBSDのインストール前準備

インストール前にまずはOS本体とパッケージの更新を行う。

セキュリティアップデート

# freebsd-update fetch
# freebsd-update install
# shutdown -r now
# freebsd-update install
# pkg update -f
# pkg upgrade -y
# freebsd-update install

portsのアップデート

下記コマンドでportsの内容を最新にする。

# portsnap fetch
# portsnap extract

Zabbixに必要なパッケージのインストール 

Zabbix6-server インストール

portsの存在するディレクトリに移動してインストールを行う

# cd /usr/ports/net-mgmt/zabbix6-server/
# make install

インストール途中でncursesの画面が出てくるが、使うDBをpostgresqlに変更する以外は、デフォルトの状態でOKを押せば問題はない。

zabbix6-frontend インストール 

zabbix-frontendのディレクトリに移動してインストール

# cd ../zabbix6-frontend
# make install 

こちらは全てデフォルトで

PostgreSQL インストール

DBはPostgreSQL13を使う

# cd /usr/ports/databases/postgresql13-server/
# make install

こちらも全てデフォルトで構わない

nginx インストール

# cd /usr/ports/www/nginx
# make install

こちらも全てデフォルトで

DBの設定

PostgreSQLユーザーの確認

PostgerSQLのデフォルトユーザーが登録されているかを確認する

# cat /etc/passwd | grep postgres
postgres:*:770:770:PostgreSQL Daemon:/var/db/postgres:/bin/sh

rc.confへPostgreSQLの起動設定を追加

下記コマンドでFreeBSDのサービスを司る/etc/rc.confというファイルにPostgreSQLの起動設定を追加する。

# sysrc postgresql_enable=YES

DB初期化

下記コマンドでPostgreSQLの初期データベースを作成する

# service postgresql initdb

postgresql 起動

既に起動しているかもしれないが、改めて起動を行う。

# su - postgres
$ /usr/local/bin/pg_ctl -D /var/db/postgres/data13 -l logfile start
pg_ctl: another server might be running; trying to start server anyway
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.

postgres パスワード設定

下記コマンドでpostgresの初期ユーザがDBにアクセスする際のパスワードを設定する

$ psql -c "alter user postgres with password 'postgresユーザーパスワード'"
ALTER ROLE

zabbix ユーザー作成

DBにアクセスするzabbixユーザーを作成する。

# su - postgres
$ createuser --pwprompt zabbix
Enter password for new role: zabbixユーザーのパスワード

DBにzabbix用のテーブルを作成する

portsでインストールした場合 /usr/local/share/zabbix6/server/database/postgresql/にテーブルのテンプレートが存在するので、postgresユーザーに入って下記コマンドでテーブルを作成する。

# su - postgres
$ cd /usr/local/share/zabbix6/server/database/postgresql/
$ psql -U zabbix -W zabbixのDBユーザーのパスワード < postgresql/schema.sql
$ psql -U zabbix -W zabbixのDBユーザーのパスワード < postgresql/images.sql
$ psql -U zabbix -W zabbixのDBユーザーのパスワード < postgresql/data.sql

Zabbixの設定

zabbixのタイムゾーンの設定

/usr/local/etc/php/zabbix-required.inをエディタで開いて、下記の箇所を Asia/Tokyoに設定する。

[Date]
date.timezone = Asia/Tokyo

DBのパスワードを追加

/usr/local/etc/zabbix6/zabbix_server.conf のDBPasswordを下記設定に変更する。

### Option: DBPassword
DBPassword=zabbixのDBユーザーのパスワード
#   This option can only be used if DBUser and DBPassword are not specified.

サーバの起動、しかし

/etc/rc.confに下記コマンドでサーバの起動設定を追加する

# sysrc zabbix_server_enable="YES"
# sysrc php_fpm_enable="YES"
# sysrc nginx_enable="YES

下記コマンドでサーバを起動

# service zabbix_server start
# service php-fpm start
# service nginx start

これで起動したハズということでWebブラウザhttp://ZabbixサーバのIPアドレス/zabbix6/にアクセスしたのだがエラーとなってしまったorz

原因の調査、そして起動成功

nginxのログを調べたところ、php関連のスクリプトが動いていないとのことでphp-fpmのステータスを確認したところエラーに

調べてみたところphp-fpmでnginx関連の設定がすっぽ抜けていたらしいorz

nginxユーザー作成

nginxユーザーを作成、shellはnologinで構わない

# adduser nginx
Username: nginx
Full name: nginx
Uid (Leave empty for default): 
Login group [nginx]: 
Login group is nginx. Invite nginx into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh nologin) [sh]: nologin
Home directory [/home/nginx]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: 
Enter password: 
Enter password again: 
Lock out the account after creation? [no]: 
Username   : nginx
Password   : *****
Full Name  : nginx
Uid        : 1002
Class      : 
Groups     : nginx 
Home       : /home/nginx
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (nginx) to the user database.
Add another user? (yes/no): no
Goodbye!

php-fpmの設定変更

ユーザーを作成したら /usr/local/etc/php-fpm.d/www.confのuserとgroupをnginxに変更

user = www
group = www
↓
user = nginx
group = nginx

加えてlistenの項目も変更する

listen.owner = www
listen.group = www
listen.mode = 0660
↓
listen.owner = nginx
listen.group = nginx
listen.mode = 0666

再び起動したところ、ソケットが存在しないというエラーが出た

# service php-fpm start
Performing sanity check on php-fpm configuration:
[20-Mar-2023 04:16:59] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful

Starting php_fpm.
[20-Mar-2023 04:16:59] ERROR: unable to bind listening socket for address '/var/run/php-fpm/php-fpm.sock': No such file or directory (2)
[20-Mar-2023 04:16:59] ERROR: FPM initialization failed
/usr/local/etc/rc.d/php-fpm: WARNING: failed to start php_fpm

/var/run以下にphp-fpmのディレクトリを追加

# cd /var/run
# mkdir php-fpm

再びphp-fpmを起動したところ起動に成功したのだが、ブラウザでZabbixにアクセスできずnginxのログにもphp関係でエラーが発生していた。

nginxの設定変更

調べてみたところnginxのロケーションに問題がありそうで /usr/local/etc/nginx/nginx.confのロケーション関係の項目を下記に修正した

        location / {
            root   /usr/local/www;
            index  index.html index.htm index.php;
        }
   location ~ \.php$ {
            root           /usr/local/www;
            fastcgi_index  index.php;
            fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

改めてnginxを再起動してWebブラウザでアクセスしたところ、Zabbixの設定ページが開きZabbixが使えるようになった。

設定を一通り行ったところ管理画面が表示されてZabbixの設定は一通り完了した。

日本語化

これまでの手順で一通り動作するまでに持ち込んだのだが、そのままでは表示が英語なので日本語表記にしたい方々はこちらも行うとよい。

フォントのインストール

下記コマンドで日本語フォントをインストールする

# pkg install ja-font-ipa
# pkg install ja-font-ipa-uigothic

インストール後、リンクを作成

# ln -s /usr/local/share/fonts/ipa-uigothic/ipagui.ttf /usr/local/www/zabbix6/assets/fonts/ipagui.ttf

Zabbixの設定を変更

エディタで/usr/local/www/zabbix6/include/defines.inc.phpの下記設定を変更する

define('ZBX_GRAPH_FONT_NAME',         'DejaVuSans');   この行を変更

         ↓

define('ZBX_GRAPH_FONT_NAME',           'ipagui');  変更後

変更後にZabbixを再起動してWebブラウザを再度接続すると表記が日本語化になっている。

インストール後

現在、ネットワークの監視やMacのバックアップサーバを行っているraspberry pi にエージェントを入れて状態をモニターしているが、そのほかに動いているマシンがいくつかあるので、適宜監視対象を増やしていく予定でいる。

まぁ、FreeBSDにZabbixのサーバーをインストールして監視に使おうとする人はあまりいないとは思うが、何かの参考になれば幸いである。

先日、久々にオフラインでOSCが開催された際にZabbixのブースに立ち寄って色々話していたら「これもできませんかね?」とZabbixの方々から色々提案されたので、そちらも機会があったら試してみようかと思う。

raspberry pi でMacのバックアップサーバを作ってみる

内容

Macのバックアップどうしてる?

現在、自分使いのメインPCはMacBook Proで色々活用しているといった具合で、色々と便利なのではあるが「ちょっとここら辺どうしよう?」という部分もなくはない、その内の一つとしてあるのが現在使っているデータ等のバックアップである。

Mac公式では

macOSにはTimeMachineというバックアップ機能があり、外付けストレージもしくはmacOSのバックアップに対応しているNASをバックアップの対象に指定すれば、自動的に現在使っているmacOSの情報を定期的にバックアップする仕組みがあり、トラブルでMacにOSからインストールしなければならない場合でもTimeMachineでバックアップを取ってあれば復元できるという便利な機能である。

しかし、外付けストレージは据え置きの型のiMacMac Proならいいが、MacBook系で頻繁に持ち運ぶ場合、一旦外付けストレージをOSから取り外し&物理的に取り外してて持ち運ばないと何かの拍子にストレージが外れた場合、ストレージ内のアクセス情報に問題が生じてアクセスできなくなったり、書き込み途中のデータ情報の矛盾が生じてデータが読めなくなったりHDDの場合だとごく稀にヘッドが記録面に接触してに破損するすることがある。

SSDなら機械的な動作機構もないので大丈夫だろう」と考える方もいるかもしれないが、書き込み途中でストレージが外れてしまった場合のデータ情報の矛盾については状態が小規模であれば修復してアクセスするのだが、それらが修正しきれないものになるとのOSがそれを検知した時点でストレージを読まなくなることが多いのでSSDでも結構危険だったりする。

Windows に関しては最近抜き差ししても問題ないということをアナウンスしているようだが、アクセスを行っている際に抜き差しするとやはり問題があるようなのでやはりUSBで接続したストレージデバイスは雑に扱わない方がいいだろう。

ということでUSBメモリースティックとかではともかく、ケーブル経由で繋いでいるストレージだと何かの拍子にケーブルが外れる場合もあり、持ち運びを考えるとちょっと手間だったりする。

かといってNASを使おうとすると、バックアップだけではなく他の用途に使いたくなったりするのが人情で、そうなると選択に困ってしまうという事もあるかもしれない。

丁度いいのがないなら作ってみよう

「一々ストレージ外すのも面倒くさいし、かといってNASをバックアップに使うのはなぁ」と思っていたのだが自宅に何も使っていないRaspberry Pi 4が転がっており、「これにUSBストレージ繋いで使うとよくないか?」ということでRaspberry Pi 4でMacBook Proのバックアップサーバーを作ってみよういうことで情報を集めていたところお手軽そうな方法があったので、その方法を元に作ってみることにした。

qiita.com

これから説明となる前に最初に断っておくが、これは自分の環境でこのようにすれば動作したという記録なので挑戦する場合は自己責任ということでお願いしたい。

まず必要なものとしては、これらになる。

Raspberry Pi 4 : 今回使ったのは自宅に転がっていた2GBモデル

USB接続ストレージ : 自分が使っているMacのストレージの2倍の容量のモノを用意

Raspberry Piについては3までは、USBは2.0でLANについては100MbpsでLANについてはまぁまぁといったところだったがUSBについては、遅くはないが100GB以上を保存するとなるとどうだろうといったところではあった。

しかしRaspberry pi4になってからLANは1Gbps、USBも3.0となりその部分の心配はあまりせずに使えるものになってきている、これくらいの性能だとちょっとした用事を済ますためのPCとしても使えそうで、今後そういう用途で使い始めるところも出てくるだろうと思う。

USBストレージについては、大昔からある「バックアップデバイスはPC内蔵ストレージ容量の2倍の容量を用意すべし」という原則に基づき内蔵ストレージ容量の2倍サイズのUSB3.0接続モバイルHDDを用意した。

予算を注ぎ込めるのであればUSB3.0接続のモバイルSSDでも良いかもしれないが、一つご注意を。

最近通販でTBと表記があっても実際の容量はかなり少ないSSDバイスが出回っており、しかも大手通販サイトで頻繁に掲載されているため購入する際は注意が必要になる。

見分けるポイントとしては、通販サイト内でブランドメーカー(ウェスタンデジタル(WD)、SanDisk、Crucial等)の同じ容量の製品の10分の1くらいの価格で出ており、ブランドメーカーの同容量の製品と比べて異常に安いのならその製品は購入を見合わせた方がいいだろう、判断を付けられる自信がない場合は家電量販店で購入するのが確実である。

USBストレージの初期設定

まずは、USBストレージを接続、Finderを立ち上げて

  • アプリケーションをクリック
  • 一覧の下にある[ユーティリティ]をクリック
  • 表示される一覧から[ディスクユーティリティ]をダブルクリックして起動

ディスクユーティリティを開いたら接続されているUSBストレージをクリックして[消去]ボタンをクリック。フォーマット形式は[Mac OS 拡張(ジャーナリング)]を選択して[消去]ボタンを押して消去とフォーマットを行う。

消去後、FinderでUSBストレージを右クリックして情報を表示してデバイスの書き込み権限で「everyone」に対して「読み/書き」の権限を設定した後USBストレージを取り出す。

raspberry pi の設定

Raspberry pi 4についてはmicroSDraspberry pi OSを書き込んで起動し、セキュリティやネットワーク等について設定しておく

パッケージのインストール

設定が終わったら下記のコマンドでパッケージをインストール

# apt install avahi-daemon
# apt install hfsprogs hfsplus ←Macでフォーマットしたストレージの中身を閲覧できるようにするパッケージ
# apt install netatalk ←Macで使われるネットワークファイルシステムサーバーとして動作するパッケージ

USBストレージの接続設定

USBストレージのマウント用ディレクトリを作成する。

# mkdir /media/timemachine ←USBストレージマウント用ディレクトリ

その後raspberry pi にUSBストレージを接続して 下記コマンドでUSB HDDのIDを確認

$ blkid

表示されたストレージ一覧でhfsplusと表示されたストレージのIDを控えて /etc/fstabに記述する

UUID=USBストレージのID  /media/timemachine  hfsplus force,rw,user,auto,nofail 0 0
             ↑マウントするディレクトリ

下記コマンドを実行したあと

# mount /media/timemachine

下記コマンドの表示で /media/timemachineが表示されていれば問題はない

# df 

その他の設定

これまでの作業が終わったら下記ファイルを作成・設定する

/etc/netatalk/afp.conf 一番最後の行にTimeMachineとして使うディレクトリとTimeMachineとして使用可能とする設定を入れる

[TimeMachine]
  path = /media/timemachine
  time machine = yes

/etc/nsswitch.conf hostsの行にmdns4とmdnsを追加(mdns4はいらないかもしれない)

# hosts:          files mdns4_minimal [NOTFOUND=return] dns
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

/etc/avahi/services/afpd.serviceというファイルを作成、内容についてはqiitaの記事にあった通りにした。

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
    <name replace-wildcards="yes">%h</name>
    <service>
        <type>_afpovertcp._tcp</type>
        <port>548</port>
    </service>
    <service>
        <type>_device-info._tcp</type>
        <port>0</port>
        <txt-record>model=TimeCapsule</txt-record>
    </service>
</service-group>

サービス起動

これまでの設定が終わったらサービスを起動してみる

# service avahi-daemon start
# service netatalk start

サービスのステータスを確認してactiveであれば動作している

# service avahi-daemon status
# service netatalk status

下記コマンドで raspberry pi 起動時にサービスが起動するようになる。

# systemctl enable avahi-daemon
# systemctl enable netatalk

使ってみる

Qiitaではraspberry piへ接続するという作業が必要とあったが、自分の環境ではraspberry pi でサービス起動後Macの方で見つけて接続できたので下記の作業を行なった。

  • Macの「システム設定」→「一般」→「Time Machine」でバックアップの設定を開く
  • +をクリックしてraspberry piにマウントしたディスクが出てくるのでバックアップ用に設定

しばらくすると、バックアップ用に指定したディスクにバックアップが開始される。

といったところで、これらの設定で raspberry piMac用のバックアップサーバとしての構築は完了である。

しかし、現在このような構成を組もうとするとRaspberry pi 自体が品薄なのに加えて価格が高騰しており、USB接続のストレージやその他の手間を考えると安いNASを購入してMacのバックアップ専用にした方が良いかもしれない。

自分の場合、たまたま自宅にRaspberry pi 4があり、USBストレージも何故か安く手に入ったのでやってみたといったところだが、こういうことをすることにより色々とOSやストレージ・ネットワークの勉強になる面もあるので、挑戦したい方はやってみるのが良いのではと思っている。

しかし先日この報告をとあるLinuxユーザーズグループに出した際「Sambaを使った方がいいのでは?」という指摘もあり、こちらの方も機会があったら挑戦してみようかと考えていて、それが成功した場合そちらの方も報告しようかと思う。

寒さ対策にハッキンカイロを使ってみる

内容

試される冬がやってきた

今シーズン、物価高やら電気料金高騰で節約を考えなければならない冬となってしまった。節電要請とかいっているが「電気代も燃料費も上がっていて無駄遣いできるかっ!!」といったところが実際だと思う。

巷では重ね着やタートルネックやらという話もでてきており、自分も昨シーズン購入した体温反射式のブランケットやインナーシュラフを活用しながらできるだけ電気やガスを使わない毎日を過ごしているのだが。

やはり寒いモノは寒いワケで「これからもっと寒くなる中それだけではやっていけんよなぁ・・・」となるワケで、自宅にあるハクキンカイロを引っ張り出して今年も使うことにした。

ハクキンカイロとは

ハクキンカイロ」と聞いて大抵の人は後ろの「カイロ」という言葉を聞いて「携帯して温める道具」ということは想像できるかと思うのだが、前の「ハクキン」という言葉を聞いて「???」となる方が多いかもしれない。

「ハクキン」とは漢字では白金と書くのだが「プラチナ」の日本での呼び名であって、材料にプラチナを使用していることからこの名前が付いている。

使い捨てカイロが普及する前はかなり使われていたのだが、簡単に使える使い捨てカイロが広まるとほとんど見なくなってしまった。しかし使い捨てカイロより発熱量が多いことや燃料(後で書くが厳密には違う)を補充すれば何度も使えるということで、未だに需要もあるといった製品である。

詳細

形としては、手のひらサイズのステンレス製の印籠といったところで

上の方がフタになっていてそれを外すと火口と呼ばれる部分がある

その部分を外すと脱脂綿のようなのが詰まった中身が見えるのでそこに揮発性の燃料を染み込ませて火口を戻してライターとかで火口を炙ると温まり始めるので、フタを付けてハクキンカイロ用の袋に入れて携帯するというものである。

揮発性の燃料とか火口という言葉から「燃料が燃えて温かくなるのか?」と思う方がいるかもしれないが、実際のところ火口を温めることにより火口に付けられているプラチナが触媒反応で燃料の揮発した蒸気を水と二酸化炭素に分解して熱を出すという仕組みである。

よく「ハクキンカイロはエコ」という話があるが、直接灯油やガスを燃やすストーブやヒーターに比べると圧倒的に出るCO2は少ないが、燃料が石油由来なのは確実なのでホントにエコなのか?というと「う〜んどうとでも言えるのでは」といったところになるのではないかと思う。

燃料は、ベンジンという揮発性の液体で昔はドラッグストアに行くと大抵一本800円くらいで売っていたのだが、最近は可燃物を取り扱わない方向になっているのか見掛けることがなくなり、現在は通販で購入している。ハクキンカイロ一つにつきボトル一本で毎日使って1ヶ月くらいと考えるといいかと思う。

持続時間は、スタンダードサイズで最大24時間ということなのだが、自分が使っている範囲では時々二日ぐらい暖かいのが持続していたり、逆に20時間くらいで冷えてたりすることもあるが温かさと持続時間は使い捨てカイロより圧倒的に上で、温かすぎて専用の袋に入れているのに低温火傷することもあるので注意が必要である。

もう一つ注意点としては、触媒反応は温度が下がると反応が低くなって止まってしまうので「外に放置していても冷えない」という人がいるのだが、冷えたところに置きっぱなしにしていると反応が止まって冷えてしまうことがあるので、インナージャケットのポケットやハクキンカイロのネットショップで販売している専用のベルトに入れてシャツの上からつけておいた方がいいと思う。

効果は?

効果としては使い捨てカイロあたりだと手で触ると温かいくらいというのが多いが、ハクキンカイロは入れた部分の周辺が温かくなり暖房がないところで動き回るのであればかなり効果を感じることができる。

自分の場合、自宅ではダウンジャケットのポケットに入れて使っているが、自転車に乗るときに使う場合は以前暑さ対策グッズで紹介した冷却バックを入れるタイプのベストがたまたまハクキンカイロを入れるのにジャストサイズで、インナーシャツを着た後に脇の部分に二個のハクキンカイロを入れたベストを装着してその上からジャージを着て必要ならアウターを着て自転車に乗っている。

熱でベストが融けてしまわないか心配なのだが今のところは大丈夫そうなのでそのまま使っているが、実際に使う場合はその点は十分注意した方がいいだろうと思う。しかし以前は動き出すまでかなり寒さに参っていたがこうすることによりかなり温かく走れるようになったので「耐熱素材でできたこの手のベストが出てきてくれないかな〜〜」と思っていたりする。

どこで買う?

これまで語ってきたように、効果的なハクキンカイロだが購入したい場合、店舗等ではアウトドア系のショップかホームセンター等辺りにあるのではと思う。

通販の場合では、AmazonやYahoo、楽天アフリエイトを貼っている身で恐縮だが、ハクキンカイロは公式の通販サイトで購入した方がお得だと思う。

www.hakukin.co.jp

公式通販サイトでは他の通販では購入できない製品を販売していたりし、価格も公式通販サイトだけあって定価ではあるが、製品も公式の製品なので安心ができるという意味でオススメできるのではと思う。

来年はハクキンカイロの製造会社が設立100周年ということでTwitterで記念アカウントも作られており、もしかしたら100周年記念で何か記念グッズが出てくるかもしれないので、そういうのが好きな方はチェックしておいた方がいいかもしれない。

raspberry piネットワークモニタが立ち上がらなくなったのでUSB起動を試してみる

内容

トラブルは間の悪い時にやってくる

ある日、ふと「ネットワークの状況をチェックしよう」と思ってWebブラウザでネットワークモニタにアクセスしたところ何故か「サーバーに繋がりません」との表示が。

「あれ?落ちてる?」と思いネットワークモニタにしているraspberry pi 4 の電源ランプとmicroSDアクセスランプがついており「フリーズしてるのか?まぁ再起動すれば治るか」ということで再起動したのだが、電源ランプとmicroSDのランプを見た限りでは正常に起動しているように見えるのだが、ネットワークモニタが起動した気配がなく「う〜んどうなってるんだろう?」ということでディスプレイを繋いで起動してみた。

起動したところ、OSの起動途中でkernel panicが発生しており「microSDがダメになったのか・・・まぁ代わりのがあるし」と別のmicroSDRaspberry PI OSを入れて起動したのだがこれもkernel panic

「ん?」と思い丁度raspberry pi 3で動いていたmicroSDがあったので差し替えて起動したところこれもkernel panicで立ち上がらないという状況にorz

「ひょっとして本体が逝った?」と思い別のraspberry pi 4を購入しようとしたが、昨今の半導体不足でraspberry piも煽りを受けてすぐに購入できる状況ではなく「うわぁ〜〜どうする」と考えていたところ、しばらく前のOSCでAkkiesoftさんが「raspberry pi 4の最新ファームの機能としてネットワークインストール機能がある」という話をしていたのを思い出し

akkiesoft.hatenablog.jp

「まぁ、ネットワークインストールが可能ならそれでUSBメモリにインストールすれば立ち上がったりしないか?」ということで試してみた。

USB起動が成功するまでの道のり

ひとまずUSB起動をするためにUSBメモリを購入することに、刺した後にあまり邪魔にならないように小さめのメモリを購入。

今時の64GBUSBメモリのサイズに驚くに加えて、購入後にUSBメモリの外側が全て樹脂製ということにビビる「熱暴走時に燃えたりしないか」と一瞬心配になったが、まぁ実績のあるストレージメーカの製品なので大丈夫だろうとということで使用することに。

そしてネットワークインストールのための情報収集、大元のAkkiesoftさんのスライドを見ていたのだが「Raspberry pi OSを起動してファームウェアを最新にする」というところで詰んだ感がorz

Raspberry PI OSが起動しない状態でどうしろと・・・」一瞬唖然となったが「Raspberry PI OSを起動しないでファームをアップデートする方法はないのか?」と探してみたところ幾つか方法があるようでチェックしたところアップデートしたファームをインストールするイメージをライティングソフトでを使ってmicroSDへ書き込みraspberry pi 4を起動するという方法を見つけた。

www.fastoe.com

ということでMac用のライティングソフトを使ってmicroSDにアップデート用のイメージを書き込みを行い起動。

起動後書き込みに成功すると画面が緑色になるとのことで「OSが立ち上がらないのに上手くいくのだろうか?」と思ったがディスプレイをみたところ無事に緑色になった。

一旦電源を切ってmicroSDを抜いて起動したところインストーラーが起動USBメモリを指してインストーラーを操作したところ無事に認識。

USBメモリRaspberry PI OSのインストールを行い「これでOSが立ち上がるかな」と思ったのだが再起動後何故かインストーラーが起動orz

「う〜んここまでか」となったのだが調べたところライティングソフトで特定のboot方法で起動するモードに書き換えられるmicroSDを作れるという情報があり、microSDにUSBデバイスからブートするイメージを書き込みraspberry pi 4に差し込んで再度起動ファームのアップデートと同じく画面が緑色になったところで電源を落としてUSBメモリを差し込んだところ無事に起動することができた。

起動後のあれこれ

起動後、ユーザー設定やセキュリティの設定を行った後、ntopngのインストールを行うとしたが何故かこんなメッセージが・・・

# apt install ntopng
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package ntopng is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
\
E: Package 'ntopng' has no installation candidate

一瞬焦ったがntopngのWebページでインストール方法を参照したところ、どうもインストール方法が変わったようでコマンドラインで下記コマンドを入力を行ってインストール

# wget https://packages.ntop.org/RaspberryPI/apt-ntop_1.0.190416-469_all.deb
# dpkg -i apt-ntop_1.0.190416-469_all.deb
# apt update
# apt install ntopng nprobe n2n

ということで、これまでのデータは無くなってしまったが無事にネットワークモニタが復旧した。

それにしても何故microSDで動作不良になってしまったのかと思いログをみたところ「・・・Voltage normalised ・・・・」というログが頻発しており、調べてみたところどうも電源周りのエラーで「う〜んraspberry pi 4向けの推奨ACアダプターを繋いでいるのだが」と思ったのだが、自宅で使用しているもう一台のraspberry pi 4(これについては後日書く予定)はほぼノートラブルで動作していることから、認定リセラーではないのだがraspberry pi関係の機器を取り扱っていて結構お世話になっている業者さんのACアダプターにかえたところほぼ問題なく動作している。

microSDから起動できない状態というのはちょっと不安なのだが、現状動かしている限りではほぼ問題なく動作しておりraspberry piの供給が安定するまでこのままにしようかと考えている。

microSDで起動しなくなったとしてもUSBが余っていればこの方法で動かすことができるかもしれないので、壊れたかもと思っておいてあるraspberry pi 4があったら試してみる価値があるのではと思う。ただし、動作を保証するものではないのでその辺りは自己責任にて試していただきたい。