GrowthForecast のデータを Elasticsearch にインポートした

そもそもこんな理由で、インポートしました。 このサーバで Elasticsearch + Kibana と GrowthForecast を両方稼働するのはリソースの無駄 GrowthForecast は私の環境では [2014-09-23-2] という問題がある インポートする方法はこちらの Issue にまとめました。 GrowthForecastのデータをelasticsearchにインポートする方法を調べる · Issue #4 · masutaka/masutaka-metrics Elasticsearch の Bulk API で比較的簡単にインポートすることが出来ま した。少しクセがあり苦戦した経緯は上の Issue に書いてあります。 インポートしたデータ量はたったの 600 レコード程度です。データの内 容としてはこのブログの Feedly, Hatena::Bookmark, Live Dwango Reader の購読者数やブックマーク数をグラフ化しています。 POST しているのは自作の masutaka-metrics です。今は GrowthForecast と fluentd 両方に POST していますが、そのうち fluentd だけにします。 今回 fluent-logger gem を導入しました。 fluentd にも POST する by masutaka · Pull Request #40 · masutaka/masutaka-metrics いろいろあった話は次回に書くとして、簡単に fluentd に任意のデータ...

2016-06-13 (Mon) · masutaka

GrowthForecastがsegmentation faultで落ちるのでrelocatable-perlを使い始めた件

こちらも前回[2014-09-23-1] に引き続き、さくらのVPS上のUbuntu 14.04の話です。 今までのUbuntu 12.04 32bitではGrowthForecast は問題なく動いていたのに、Ubuntu 14.04 64bitにしたらなぜか動かなくなりました。。 Perlはplenvでインストールした5.20.0と5.20.1で確認。GrowthForecastは最新。 $ carton exec -- perl growthforecast.pl --data-dir . --enable-float-number & zsh: segmentation fault carton exec growthforecast.pl --data-dir . --enable-float-number (エラーメッセージはメモしてなかったので適当) ググってみたらこちらを発見。 https://github.com/shoichikaji/relocatable-perl-growthforecast って、YAPC[2014-08-31-1] のLTで発表されていたKajiさんじゃないですか。 リロケータブル Perl - skaji’sblog にも紹介記事があります。 ひとことで言うと「ツールのためにPerlインストールのだるいので、再配置可能なPerlにしてツールと一緒に配布しちゃえばいいんじゃね?」というやつです。 トラブル続きで意識が低くなっているので、リリース版をそのまま使用。 $ mkdir ~/growthforecast && cd $_ $ wget https://github.com/shoichikaji/relocatable-perl-growthforecast/releases/download/0.23/growthforecast-0.83-x86_64-linux.tar.gz $ tar xzf growthforecast-0.83-x86_64-linux.tar.gz $ ./growthforecast-0.83-x86_64-linux/bin/growthforecast.pl --data-dir . --enable-float-number & 動いた! http://masutaka.net:5125 しかし、、 loading... if (localStorage.getItem("pref-theme") === "...

2014-09-23 (Tue) · masutaka

このブログのはてなブックマーク数もGrowthForecastに記録し始めた

前回[2014-02-03-1] に引き続きこの話題です。 このブログのはてなブックマーク数も記録し始めました。 http://masutaka.net:5125/list/chalow/subscribers 実装はこれ。 https://github.com/masutaka/growthforecast_postman/pull/1/files 今回初めてXMLRPC APIを使いましたが面倒ですね。Wikipedia によると その後、これに新たな機能を追加したものがSOAPへと発展した。 とあるので、今は廃れた仕様なのでしょうか。 初め、こんな感じでXMLRPC::Client使おうとしたけど、取得後のエラー チェックに引っかかってうまくいかなかった。 最終的にはNet::HTTP使ったシンプルなもの になりました。RESTに慣れてい る身としては、こちらのほうが分かりやすい。 See also はてなブックマーク件数取得API - Hatena Developer Center

2014-02-04 (Tue) · masutaka

FeedlyやlivedoorReaderの購読者数をGrowthForecastにポストするRubyスクリプト作った

settings.example.ymlをsettings.ymlとしてコピーし、適当に書き換えて main.rbを実行すれば、お手元のGrowthForecastにポストされると思います。 cronに登録しとけばよいかと。 こんな感じで確認できます。 http://masutaka.net:5125/list/chalow/subscribers 作ったきっかけ 先日、55はてブ取得できた[2014-01-25-1] は、Pocketでは68ストックされ ていたのですよね。 あと、今までは[TopHatenar] masutaka.net さんの順位 を見ていればなん となく人気具合が分かりましたが、他のサービスも台頭してきてよく分か らなくなってきました。更新もリアルタイムじゃないし。 それじゃあ、全部まとめてGrowthForecastに記録すれば分かりやすいかなと。 今のところ記録するのは、FeedlyとlivedoorReaderだけです。Pocketや はてブは今後対応する予定です。Pocketについてはひとまずパブリッシャー ツールを申し込みました。 あとで読まれた回数までわかる!Pocketパブリッシャーツールを使ってみることにしました。サイトの登録方法など|10251 最初は気になったらFeedly Subscribers Checker 2 で調べりゃいいかなー と思いましたが、調べるうちに履歴も欲しくなってきたw 雑感 初めはshell scriptでcurl使うくらいのつもりが、気がついたらそれなり の大きさになっていました。。 Raspberry Pi[2013-12-05-1] を有効活用しようとも思っていたけど、使う 意味を見出せなかった。 作るにあたって、@june29 さんの29hours[2013-04-14-2] を参考にさせて頂 きました。gemとか全く調べずに車輪の再発明する気満々で作ったので、今 後はリファクタリングもする予定です。 Thanks! Feedlyでのブログ購読者数を取得するためのメモ|メモ帳代わりのブログ RubyでJSON形式の結果が返ってくるURLをParseする - Qiita [キータ] RSS購読者数を知るための方法をご紹介 / かりんと~く 【 夢猫工房 】 See also The feedly Cloud API

2014-02-03 (Mon) · masutaka

Raspberry Piを購入して、部屋の温度を淡々とグラフにしてみた

特に目的はなかったけどRaspberry Pi を買ったので、ついでに温度センサーも買って、淡々と部屋の温度を記録することにしました。 Raspberry Pi購入まで 購入したのはRaspberry Pi Type B with 8GB SD card です。$52.28でした。 昔より性能も値段も高くなったような。。。 Features •8GB SD card pre-installed with the Raspian operating system •Broadcom BCM2835 700MHz ARM1176JZFS processor with FPU and Videocore 4 GPU •GPU provides Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode •GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24GFLOPs with texture filtering and DMA infrastructure •512MB RAM •Boots from SD card, running a version of the Linux operating system...

2013-12-05 (Thu) · masutaka

nginxのアクセスログをFluentd経由でGrowthForecastのグラフにしてみた

昨日[2013-08-14-1] インストールしたGrowthForecast をFluentdと連携させ てみます。 今回グラフにしたのは2つの情報です。 (1) nginxが各リクエストを処理した時間($request_time) (2) nginxが返したHTTP Status Codeの数 (1) nginxが各リクエストを処理した時間($request_time) [2013-07-14-1] に追加した設定が以下になります。それぞれ fluent-plugin-growthforecast をインストールするChefのレシピと、 td-agent.confの設定です。 FluentdがnginxのアクセスログをMongoDBとGrowthForecastに渡しています。 特に難しいことはなくて、type copyとstoreを使うと複数の出力先を指定 できました。 <match タグ名> type copy <store> type mongo ... </store> <store> type growthforecast ... </store> </match> (2) nginxが返したHTTP Status Codeの数 追加した設定が以下になります。さらにdatacounter plugin に渡して、 HTTP Status Codeを数え、それをGrowthForecastに渡しています。 name_keysに何を渡せばよいか少し悩みました。 タグの中でtype fileなstoreを 増やしたら、datacounter pluginが吐き出すjsonを確認出来ました。この タグの実行は数分のタイムラグがあるのは注意です。 グラフのタイトルはもっと短くしたかったのですが、remove_prefixや input_tag_remove_prefixを使っても希望のタイトルに出来なかったので、 今回は見送りました。(タイムラグのせいでデバッグしづらく、ムキーッて なって諦めました。。) 最後に http://example.com:5125 とかに(1)と(2)が表示されたはずです。 今回は伊藤直也さんの記事 が参考になりました。...

2013-08-15 (Thu) · masutaka

GrowthForecastをインストールする

前回[2013-07-17-1] から間が空いてしまいましたが、GrowthForecast をイ ンストールしました。 インストールするだけなら、これだけでOKです。 % mkdir ~/growthforecast % cd ~/growthforecast % echo "requires 'GrowthForecast';" > cpanfile % sudo apt-get build-dep rrdtool % plenv exec carton install 起動方法はこんな感じ。http://example.com:5125とかにアクセスすると確 認出来ると思います。 % cd ~/growthforecast % carton exec -- perl growthforecast.pl --data-dir . & –data-dirオプションを指定しないと ~/growthforecast/local/lib/perl5/auto/share/dist/GrowthForecast/data/ 以下にsqlite関連のファイルが作られます。~/growthforecast/localは 削除することもあるでしょうから、指定した方が良いと思います。 Chefのレシピはこれ。‘Install packages depending RRDTool’のあたりが 汚いですが、仕方がないですかね。 今回初めて知りました。。 loading... if (localStorage.getItem("pref-theme") === "light") { const elements = document.getElementsByClassName('twitter-tweet'); for (let i = 0; i 次回はGrowthForecastとfluentdの連携を試してみます。...

2013-08-14 (Wed) · masutaka