2017-09-30 (土)
夕方まで寝る.
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
夕方まで寝る.
飲み会的な.
使ってるGolangを1.9に移行.
Go自体とは関係ないけど,公式のDockerイメージで,以前はコンテナの実行ユーザをroot以外にするとGit fatal: unable to look up current user in the passwd file: no such user
とか言われてしまっていたのがGitのバージョン上がったおかげか出なくなったのが地味に嬉しい.
rootでも良かったのだけど,GOPATH以下をホストと共有してたり,生成されたファイルの所有者を変えたかったので,ビルド後にchownしていてイマイチだった.
Prometheus,データをインポート&エクスポートできないと色々試すの不便だなと思って,気づいたらストレージデータを直接読み書きするプログラム書いていた...
リモートのファイルシステムをWindowsでマウントするとき,WinSshFS使ってたけど,dokan-sshfsも試してみる.どちらもFUSEにはDokanを使ってる.マルチバイト文字まともに使えないし,動作もまだちょっとイマイチだった.キャッシュ周りが微妙で,リモートと手元両方で作業していると変な状態になりやすいのと,何かの属性に対応してないせいかマウントしたディレクトリをまともに使えないアプリケーションがある.
いまさらだけど,ニューダンガンロンパv3やりはじめる.とりあえず1章まで.
銀行の口座残高とかもGrafanaで見れるようにしておく.通知周りもちゃんと動いてるのか怪しいスクリプトからこっちに移行したいけど,残高以外の情報を使ってて移行が面倒そうだったのでしばらく様子見.
Prometeus,v2.0.0-betaも試してみたけど,1.7系とは保存されたデータの互換性ないのか.
定期的にデータ集めて通知したりグラフ表示したりするプログラムをいくつも動かしているので,よくあるモニタリングツールにまとめられないか試してみる.
とりあえず,仕事で触ってみて便利だったPrometheus + Grafanaの組み合わせに.(このままPrometheusにするかは微妙なところ)
どちらもDockerイメージが用意されてるので入れるのは簡単.Prometheusは小さいのでとりあえず全サーバに入れちゃっても良さそう.Prometheusには認証機能などは無さそうなので,インターネット越しに使うならnginxとかでBASIC認証するなど良しなにするのが良さそう.とりあえず参照だけならアクセスされても問題なさそうなので放置.
まずは,VPS上でうごいている温度計とかのセンサ類のデータを集めてるプログラムにPrometheus用のレスポンスを返す機能を追加して様子を見ることにする.
Prometheusに対応するためには,/metricsにHTTPでアクセスされたときに,EXPOSITION FORMATSに書かれている通りのデータを返せば良いらしい.これ自体は簡単.テキストとprotobufがあるけど,テキストで返すようにする.JSON返すAPIがすでにあるのでjsonだともっと楽だったのだけど.
本当は,センサから直接Prometheusに入れたいけど,通常時はスリープしてて定期的にWiFiモジュール使ってネットワークに繋がるので,いままで動かしていたやつをそのまま使う.
一応,prometheus/pushgatewayを使えば良さそうだけど,いまさらデータの送信フォーマット変えるのも面倒.
メトリクスのフォーマットにはtimestampがあるのだけど,Prometeusはスクレイピングした時刻で管理しているのであまり意味がない.完全に無視するわけでもなくて,データが古すぎないかどうかだけ見ているっぽい.
https://github.com/prometheus/client_golang/issues/187 まさしくこれか.そして,データの登録が5分おきのものもあるので,デフォルト設定だとグラフが結構途切れたりする.
常に動いていることが期待されていて頻繁にメトリクスが更新されるノードのモニタリングに使ったほうが良いな.
Grafanaも入れる.最初,グラフの設定の仕方がよくわからなかったけど,慣れれば簡単そうだった.
(グラフ重ねてみて気づいたけど,湿度センサが1つなんかおかしいな...)
GrafanaにはAnnotaionsというイベントを扱う仕組みがあるので部屋のドアの開閉記録とかそういうのも上手く流し込みたい.
お昼ご飯を求めて汐留と新橋あたりを1時間くらい彷徨う日.
昔の写真をGoogleフォトにアップロードしてたら,QV-100のCAMファイルが出てきて少し困る.そもそも表示できる環境すらなかったけど,中身はJPEGだと聞いたことあったので適当にJPEGヘッダが現れるまで謎データを読み飛ばすスクリプト書いて変換.
微妙に調子悪いので1日寝てた.
全て撤去されていると思ってたけど,特別棟の奥にケーブルだけ残っていた.
高校の文化祭らしいので,部活の様子を見に行ってきた.もう知ってる先生もいなさそうなので,こういう機会でないと校舎に入るの難しい.
やってることはだいぶ変わってしまったけど,部活も同好会も存続していた.子供向けにスライム作るコーナーとかやってて,すごく高校の科学部っぽくなっていそうだった(スライムは昔も文化祭で作ってた気がするけど).
少なくとも,海上に流出した重油を処理する研究のため保管してたC重油が実験室内に流出して大惨事とか,ロケット作ってる途中で推進剤が爆発してこれも大惨事とか,フラーレン合成しててドラフトが燃えて大惨事...みたいなことはもう無いんだろうな.どれも僕が起こした惨事じゃないです,一応.
ちょっと話をしてさっさと帰ろうと思ったら,懐かしいものを見つけて思わず写真を撮ってしまったのが上のやつ.
ネットに繋がるPCがコンピュータ室にしか無かったのを,自分たちで校内の各所をつないでネットワーク作ったのがコンピュータ同好会の最初の活動だった気がする.事務室や職員室のPCも繋いでたけど,当時ですら生徒に触らせちゃ駄目だよなあと思いながらPC全般のサポートみたいなことやっていた.卒業する頃に,真っ当な業者(確かF士通)が管理するようになって,一部を除いて使われなくなってしまったけど.
放課後になると,ドリルとガンタッカー(壁とかに打つでかいホチキス)を抱えてLANケーブル引きずって「白緑緑白橙青白青橙白茶茶」とかつぶやきながらケーブルを結線していたのを,果たして青春と呼んでよいものか微妙なところ.どちらかというと黒歴史感がある.
他にも自分が高校生やってたころのものを見かけた気がしたけど,見なかったことにした.
あと,一時期のあの花ほどじゃないけど,「心が叫びたがってるんだ。」のポスターやパネルが街なかにちらほらあるのと,羊山公園方面に行ったらコスプレしてる人たちも見かけた.
今週は体調悪かったけど,やっと良くなった.