知らなかったけど、ケネディが暗殺されたのがここダラスらしい。photos.app.goo.glケネディが撃たれたところに印が付けてある。ここに立って記念写真を撮ってる人もいた。中東系っぽい人々が反戦運動っぽいことをしていた。次なる目的地に向かう。最近流行りのLime(モバイルアプリで時間貸ししてる電動スクーター)があって移動はとても便利。なんかかっこいいビルがあったので適当に写真撮ったらいい感じになった。AWSがビルの壁に全面広告を出していた。アメリカの都市圏はどこに行っても美術館があるな?展示はあんまり刺さるものがなかった。入場無料だしね......。庭に欠けた星が刺さってるのだけ面白かった。Visitorsという映像作品がここでも展示されていて、ちょっと感動した。いい作品がちゃんと評価されてると嬉しい。大画面のスクリーンを9枚使う大掛かりな作品なんだけど、映像作品は簡単に本物を展示できるんだなぁ......。レイアウトもヒューストンと違っていて、作品としてレイアウトそのものにはこだわりがなさそうなのも発見で面白かった。en.wikipedia.org疲れたのでホテルに戻ってダラダラしてから夕食を食べに行く。昼間にイタリアンの店を見てイタリアンの気持ちになっていたので、適当に良さそうなところを探して行った。www.tripadvisor.comチキンとバジルのパスタとキャロットケーキ。味はそこそこだけど、店の雰囲気が良かった。うるさい音楽がかかってないし、バーテンダーが丁寧だった。年末だからなのかは知らないが、夜のダウンタウンはあんまり人がいない。電飾がいたる所にあって、ちょうどいい華やかさになっていた。寝て、ホテル内のスタバで軽く朝食を食べて、帰路へ向かう。Mapを眺めてて見つけた謎のラーメン屋に立ち寄った。www.tenramen.com日本かぶれのアメリカンという感じのラーメン屋。アメリカにしては珍しく立ち食いしかない。Mapでは★4.5だったのでちょっと期待してたんだけど、トンコツラーメンはスーパーの生ラーメンみたいな味だった......。悪くはないけど、$12で食べるほどではない。厚く切った豚バラの炙りが乗っていたり、スープがぬるめだったりするところなど、全体的にアメリカ式ラーメンという感じ。I-35をひたすら南下してオースティンに帰る。都市部を抜けるとひたすらこういう感じの風景が広がっている。きついカーブとかもなく、ほぼ直線みたいな道が延々と3時間続く。日本は森や山が広がっているのでそれなりに刺激はあるけど、テキサスは本当に平地しかなくて飽きてくる......。なんもない平地でネズミ取りしてるっぽいパトカーがいて、その脇を制限速度+20マイルくらいで通り過ぎてしまったけどなんも言われなかった。いうか周りの車もそれくらい出している......。ヤバい奴を取り締まるためのネズミ取りなんだろうか。photos.app.goo.glWacoの北で渋滞が起きていたので、給油がてらハイウェイを降りて休憩したところでパノラマ写真を撮った。年末という特殊な時期ではあったけど、ダラスは結構いい街だった。オースティンよりすっきりとした感じだし、高層ビルが林立しているとちょっと安心する。Spaはもっと近ければ定期的に行きたい。このためにダラスに移住するのも考えるレベル。ダラスの交通はちょっと悪い。オースティンはオースティンで道路のキャパシティ以上に車がひしめいていてヤバいんだけど、ダラスは全体的に古いのか、ボコボコになっている道路とか、停止線が消えていてどこで止まればいいか分からない信号とかがちょくちょくあって困った。17:51ダラス旅行Tweet広告を非表示にするもっと読むコメントを書く2019-12-26collectdを試す仕事だとモニタリング周りは既に整備されており、アプリケーション書きとしては社内用のライブラリを叩くだけでメトリクスが勝手に飛んでいってダッシュボードに表示されてしまう。それはそれで楽なんだけど、せっかく自宅サーバを立てたことだし、いい機会なのでモニタリング周りを勉強してみることにした。調べた結果、collectdでメトリクスを集めてCloudWatchに飛ばすのが良さそうという感じになった(このへんの話は後で書く(と思う))。collectdはWikiがあって大体のことがまとまっているっぽい。collectdで入った。設定collectdは本体にいろいろプラグインを差し込むことで機能拡張ができるようになっている。cpuプラグインを読み込むとCPUの使用状況を集めてくるし、networkプラグインを読み込むと集めたデータを定期的にサーバへ送りつけるようになる。便利そうなプラグインはパッケージにバンドルされており、/usr/lib/collectd以下にインストールされている。Ubuntuの初期設定だとcpuやmemoryといったシステムの基本的なメトリクスを集めるのに加え、RRDという形式でメトリクスを/var/lib/collectd/rrdに保存するようになっている。RRDの扱い方はいまいち分からないが、ドキュメントを流し読みして勘で以下のようなコマンドを叩いたらそれっぽい感じになった。/tmp/a.pngなんかCPU使用率っぽいグラフが出ている。RRDのセマンティクスはなんか独特っぽい雰囲気があるが、さしあたりの目標はCloudWatchに送ることなのであんまり深追いはしないでおく。ネットワーク経由の出力も見ておこう。pluginをロードする。26826になる(参考)。|p_io.....in.....|(snip)確かになんかやっているっぽい。StatsDプラグインを書いたら対応するメトリクスを収集してくるという世界観はなかなかUNIXっぽくていいが、実際問題としてはアプリケーション固有のメトリクスも吐きたいし、かといってアプリケーションごとにプラグインを書くのはあまりにもめんどい。そもそもアプリケーションのカスタムメトリクスはpush的であり、CPUやメモリの使用率のように定期的にポーリングしてくるというアーキテクチャはあんまり適合しない......。幸いにして世の中には既にStatsDという標準があり、DataDogもStatsD互換のagentを提供しているほどに市民権を得ているので、これに乗っかるのが普通だと思う。Pluginを提供しており、StatsD形式の入力を受け付けてメトリクスとして吐いてくれるようになる。LINE:a#0000FF"time",""1577345230,"NaN"1577345240,"NaN"1577345250,"NaN"1577345260,"NaN"1577345270,"NaN"1577345280,"NaN"1577345290,"NaN"1577345300,"2.1000000000e-01"1577345310,"0.0000000000e+00"1577345320,"0.0000000000e+00"1577345330,"0.0000000000e+00"(snip)うーん、なんか値は出ているものの、レートっぽい値が出力されてしまっている。合計値も見たいんだけど......。WikiWikiによると、Deriveは読んで字のごとくDerivativeで、要するに前回記録された値との差分を時間差で割ったものを保持しているらしい。?じゃあ生の値は保存してないってこと?確かに積分すればだいたい元には戻るけど、計算誤差が出るから嬉しくなさそう......。合計値が出せないことはないだろうと思ってソースを読んでみると、どうもconf_counter_sumという変数がセットしてあると、Gaugeとして別に値を出力してくれるらしい(statsd.c:800)。これはCounterSumというコンフィグでコントロールされていることが分かる(statsd.c:639)。コメントの雰囲気的に、合計値が知りたいならDeriveを積分すりゃいいじゃんって思っていそうで不安だけど......。pluginではどうもDeriveの意味がオーバーライドされているっぽい。true</Plugin>なんかひどいことになっている。3つの数を足すとちょうど7になるので、時間差で記録したcountが均されているっぽい。statsd.cを読んでもこういう平均っぽい処理は行われていない......。collectdのソースコードを読んでみると、plugin_dispatch_valuesという関数を呼ぶことでこのプラグインが読んだ値をcollectdに通知しているっぽい。pluginの読んだ値を書いているはず。shutdownのコールバックを登録するという、よくある感じの構造になっている。Wiki上でも書いたplugin_dispatch_valuesの実装はdaemon/plugin.cにある。queueに詰めることしかしていない。pluginというのを見つけた。飛んできたメトリクスをCSVに書き出すやつのように見える。/var/lib/collectd/glados/statsd/derive-azunyan-2019-12-26epoch,value1577353227.505,31577353237.505,71577353247.505,71577353257.505,7ちゃんと記録されてるーーーーーー!!!ただDeriveのセマンティクスがWikiと違って累積和になってるっぽい......というかcountとderive逆じゃない?バグっぽい雰囲気がする。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。