ようへいの日々精進XP

よかろうもん

ruby

超メモで走り切る 2015 年(4) LXD の REST API クライアントを作っている

tl;dr LXD の REST API クライアントを作っているのでメモ。 github.com メモ 使い方 インストール $ git clone https://github.com/inokappa/oreno_lxdapi.git $ cd oreno_lxdapi $ bundle install 以下、pry を使って説明。 初期化 $ bundle exec pry [1] …

超メモで走り切る 2015 年(2)〜 test-kitchen のドライバが気になったので kitchen-mocoz を作ってみた 〜

追記 ちょっと修正した。 $ kitchen create -----> Starting Kitchen (v1.4.2) -----> Creating <エクストラバージン-オリーブオイル>... もこみち流 スライスアップルパイ | http://www.ntv.co.jp/zip/mokomichi/3971780.html いただきます Finished creati…

(ショロカレ 13 日目)Elasticsearch 及び Amazon ES で Bulk API を試すメモ

遅延していますが...これは「初老丸の独り Advent calendar 2015」の十三日目の記事です。 tl;dr 先日の勉強会で Amazon ES に Web 上から取得したデータを解析して Amazon ES に放り込むデモをやったら Amazon ES にデータを放り込む前にタイムオーバーして…

(ショロカレ 6 日目)terraform.tfstate の情報を terraform が扱えるリソース以外から再利用するメモ

これは「初老丸の独り Advent calendar 2015」の六日目の記事です。 tl;dr 前の記事で久しぶりに Terraform 触っていて tfstate ファイルを terraform が扱えるリソース以外から再利用出来そうって思ったのでメモ。 メモ 参考 Output Variables - Terraform …

(ショロカレ 5 日目)2015 年のうちにやっておきたい Amazon Elasticsearch Service 入門(2)~スナップショットとレストア~

これは「初老丸の独り Advent calendar 2015」の五日目の記事です。 tl;dr 昨日の続き。Amazon Elasticsearch Service では自動でスナップショットを作成してくれるが、手動でスナップショットを取ったり、レストアしたりしてみる。 手動でスナップショット…

(ショロカレ 4 日目)2015 年のうちにやっておきたい Amazon Elasticsearch Service 入門

これは「初老丸の独り Advent calendar 2015」の四日目の記事です。 tl;dr ちゃんと Elasticsearch そのものをを使えていないこともあるが、Amazon Elasticsearch Service に入門したのでメモ。 うんちく 参考 aws.typepad.com aws.amazon.com Elasticsearch…

(超メモ)Python とか Ruby でターミナルのテキストに色を付ける

tl;dr オレオレテストスクリプトを作っていて OK ならば緑色や青色、 NG であれば赤色のテキストで出力したいと思って調べたメモ。 参考 unicode - Print in terminal with colors using Python? - Stack Overflow colors - Colorized Ruby output - Stack O…

(超メモ)ちょっとしたスクリプトで Elastic Kibana 4 を実現する

あまりニーズが無いのかもしれないけど... tl;dr 自分のざっくりとした理解では Kibana4 のダッシュボードを作るまでの工程は以下の通りかと。 Discover でメトリクスを検索して search オブジェクトとして保存 Visualize で search オブジェクトを利用して …

(超メモ)Ruby と Python で TCP Server サンプル

tl;dr ちょっとした動作確認とかで TCP Server が必要な時に使いたいので、参考サイトを見よう見まねで Echo サーバーっぽいのを写経した。 github.com Python de TCP Server 参考 http://docs.python.jp/2/library/socketserver.html http://qiita.com/pons…

(超メモ)Datadog の HTTP や TCP コネクションチェックのインターバル設定

tl;dr Datadog で HTTP や TCP のコネクションチェックを行うことが出来るけど、Agent Check が HTTP エンドポイントや TCP ポートへの接続を試行する間隔を指定出来ないのかなって調べたら、以下のように言及されていたので実際に調べてみた。 help.datadog…

Ruby の Hash キーへのアクセスで String と Symbol でどのくらいの差があるのか比較してみた

tl;dr Hash キーへのアクセスは String よりも Symbol の方が速いことがあるよというのを本で読んだけど、その速さの違いはどれくらいなのか、又、歴代の Ruby バージョンでどの位の違いがあるのかを比較することにしました。 既に 試されている方がいらっし…

スクショで振り返る Hosted InfluxDB 48 分チュートリアル(InfluxDB を触ってみたぜよ 2015)

tl;dr inokara.hateblo.jp こんなミーハー感満載の記事を書いて一年以上経過した今朝、以下のようなトゥイートに気づく。 Hosted InfluxDB plus @grafana! Spin up a single node in seconds and try it free for 14 days - http://t.co/b9TPMtcu8w pic.twit…

「PM2.5 in 九州」更新メモ(2015/09/24)

tl;dr 小さな更新だけどメモ。 更新内容 概要 JSON 出力を修正 1. JSON 出力を修正 各観測地点のデータを JSON っぽい出力で表示しているけど、より JSON っぽい出力にした。 以下のように表示される。 もちろん curl でも。 % curl -s "http://pm25.test.in…

「PM2.5 in 九州」更新メモ(2015/09/22)

tl;dr 先日作った、そらまめ君のデータを拝借させて作った可視化サイト(今後は「PM2.5 in 九州」という名前で暫定的に呼ぶ)を更新したのでメモ。 PM2.5 in 九州 / 2015-09-21 更新内容 概要 観測地点全ての情報が網羅されていなかった問題を一部解決 観測…

DynamoDB + Data Pipeline + S3 + Google Chart API を少しずつ使ってそらまめ君で提供されている大気中の汚染物質濃度速報データを可視化するサイトを作ってみた

以下、自分が今後メンテナンスする為にも必要なのでメモっておく。 tl;dr 今までの復習のつもりで DynamoDB + Datapipeline + S3 + Google Chart API を少しずつ使ってそらまめ君で提供されている大気中の汚染物質濃度速報データを可視化するサイトを作って…

ダイナミック!ダイナモー(DynamoDB tutorial)番外編 〜 Google Chart API でちょっとしたグラフを書いてみる 〜

tl;dr DynamoDB にデータを溜めているのなら、そのデータを可視化しなければ...と思ったけど、さくっとグラフ書けないかなと思ったら Google Chart API なるものがあるらしいので、その Ruby ラッパーである mattetti/googlecharts と合わせて利用させて頂き…

ダイナミック!ダイナモー(DynamoDB tutorial)vol.2 〜 JSON サポートの動作確認 〜

tl;dr aws.typepad.com JSONフォーマットのドキュメントをそのままDynamoDBの1アイテムとして保存できるようになりました(後述の新たなサイズ上限である400KB以内が条件) とのことなので JSON フォーマットをドキュメントとして登録してみる動作確認。 参…

ダイナミック!ダイナモー(DynamoDB tutorial)番外編 〜 Datapipeline を使って出来るだけ EC2 レスなデータ収集環境を作る 〜

いきなり番外編。 tl;dr そらまめ君のデータを定期的に集めて DynamoDB に投入する流れを作るにあたってどこかのサーバーを常時起動しておくのもなあということで Datapipeline の ShellCommandActivity を cron として利用してみた。 尚、Datapipeline の S…

alerty プラグイン三種盛り - いくつかの知見を添えて

tl;dr alerty という cron の失敗の結果を各種通知先にアラートを飛ばすツールを sonots さんが作られた。 blog.livedoor.jp このツールのイイなあと思うところの一つはプラグインによって通知先を増やせる点。また、README にも書かれているが、プラグイン…

無料枠でざっくり学ぶ Microsoft Azure その 1 ~ Blob ストレージと Azure SDK for Ruby 等 ~

無料枠が続く限り Microsoft Azure を弄ってみる。 Blob ストレージとは Microsoft Azure におけるストレージ ストレージの概要 | Microsoft Azureazure.microsoft.com 上記に詳しいことはおまかせして...以下の四種類に分類される。 Blob ストレージ テーブ…

VPC Flow Logs Tutorial(2) - CloudWatch Logs Subscriptions + KCL for Ruby + Datadog Event で Reject されたトラフィックの可視化 -

tl;dr 前回の続き。 VPC Flow Logs を CloudWatch Logs Subscriptions と Kinesis Client Library for Ruby アプリケーションを利用してトラフィックログから Action が REJECT なログを Datadog Evnet に通知して可視化してみる。 可視化してみるとゾッとす…

JMeter でシナリオを書く時に HTTP プロキシサーバを使えば少し捗るかもしれないメモ

台風直撃の朝。 tl;dl 先日立ち上げた Redmine 環境に対して JMeter で負荷テストを行う為のシナリオを作ってみようと思った 但し HTTP リクエストをポチポチ作るのは辛いと思ったら HTTP プロキシサーバ(HTTP(S) Test Script Recorder)という機能を利用す…

Datadog のコマンドライン API クライアントを試行錯誤で作っている

はじめに Ruby と Datadog の勉強を兼ねて Datadog の コマンドライン API クライアントを作っている。(※コマンドライン API クライアントという言葉があるかどうか怪しい。) inokappa/hachikogithub.com Hachiko の名前は忠犬ハチ公から名前を頂戴したm(_…

Datadog の Monitor 定義を Ruby DSL で管理する Barkdog を使ってみた

はじめに Datadog にはモニタリングしているメトリクスに対して、設定したしきい値で通知を飛ばす Monitor という機能が備わっている。 Datadog Docs - Monitor機能の設定ガイド この Monitor の設定は WebUI 又は提供される API 経由で設定を行うことが出来…

fluent-plugin-haproxy_stats というプラグインを作ってみた

HAProxy は自身の状態を Web ブラウザ又は UNIX ドメインソケット経由で確認することが出来る stats という機能を備えているが、UNIX ソケットドメイン経由で出力される状態を収集する fluentd の input プラグインを勉強がてら作ってみた。 inokappa/fluent…

fluent-plugin-datacounter を使って日本語を含んだログメッセージをカウントしたいと思った時に僕が選んだ苦肉の策

きっかけ 日本語を含んでいるログメッセージを fluent-plugin-datacounter でカウント出来ないかなって思ったので試行錯誤してみた。 参考 tagomoris/fluent-plugin-datacountergithub.com OSS編~Fluentdでexec_filterを試してみる~recipe.kc-cloud.jp で…

Ruby でワンライナー Web サーバーを起動する

参考 Ruby - ワンライナーWebサーバを集めてみた - Qiitaqiita.com ホントにワンライナー 起動 # 作業用のディレクトリ作成 mkdir ~/web cd ~/web # HTML ファイルを用意 touch test.html # ワンライナー Web サーバー起動 ruby -run -e httpd . -p 8000 & #…

jq を使わないで Python や Ruby だけで JSON から任意のキーの値を取り出す苦肉の策

jq のありがたみを感じる今日此の頃。 以下のような... test.json があるとする。(consul の service 情報を取得した際の出力結果) [ { "Address": "192.168.10.2", "Node": "node01", "ServiceID": "oreno-service", "ServiceName": "oreno-service", "Se…

dd-agent の DogStatsD 使ってカスタムメトリクスを Ruby を使った送るメモ

はじめに Datadog のエージェント(dd-agent)をインストールすると DogStatsD を利用出来るようになる(と言うよりも DogStatsD は dd-agent の構成要素の一つだと思っている)ので DogStatsD を Ruby からサンプル通りに使ってみた。 DogStatsD がナニモノ…

fluentd 復習(3)〜 HTTP API + Fluentd で始める RabbitMQ のリソースモニタリング 〜

ども、かっぱです。 sensu では RabbitMQ が重要な役割を担っているはずなんだけど内部情報とかよく解ってなくて本当に申し訳ございません。せめて内部リソースモニタリングしたいなって思っていたら RabbitMQ には HTTP API が提供されているのでコレと flu…

Ansible で Docker コンテナの Dynamic Inventory を試す

ども、かっぱです。前回の続き。 あくまでお試し Python 版の Inventory スクリプト ということで Ansible の Dynamic Inventory スクリプトの Docker コンテナ版を作ってみた。尚、Docker コンテナ版については Python 版が存在するが、consul 版と同様に手…

続々・sinatra を使って td-agent(fluentd) のバッファの状態をモニタリングするダッシュボードを作ってみた

はじめに 前回の記事を書いてから幾つかバージョンアップしてみたw 俺のダッシュボード 俺のダッシュボード 変更点 概要 デザインを変えてみた メトリクスグラフを modal 表示にしてみた 画面(overview) 画面(メトリクス) 以下のような HTML で実現して…

InfluxDB を Ruby から操作するチュートリアル

1500 万人の時系列データベースファンの皆様、おはようございます。かっぱです。 はじめに InfluxDB を Ruby 経由で使いたくなったのでメモ Grafana と連携が簡単なので合わせてメモ InfluxDB のうんちく うんちくよりも以下の参考サイト。 本家 InfluxDB を…

続・sinatra を使って td-agent(fluentd) のバッファの状態をモニタリングするダッシュボードを作ってみた

はじめに 以前に作ったきりですっかり放置状態だったが、放置するにもあまりにも恥ずかしい状態だったので出来る範囲で修正と機能追加をしてみた。 俺のダッシュボード 俺のダッシュボード 俺のフレンチとか俺のイタリアンとかにインスパイヤされた訳ではあ…

Focuslight と eye を試してみたメモ

Focuslight を試す + eye でプロセス監視してみる memo eye でプロセス監視するところは期待通りに動作させることが出来なかったけどとりあえずメモ。 Focuslight を試す + eye でプロセス監視してみる unicorn のプロセスは監視することができたんだけどな…

最近のほげふが

ほげふが serverspec メモ Serverspec メモ サーバーにログインしてバックアップの結果とか確認するのがかったるくなったので。あと、スポット的に監視とかにも使ってる。 RabbitMQ メモ RabbitMQ のクラスタ構成を体感する 近くに詳しい方が居るのはかなり…

2014/05/07 のほげふが、ほげふが

知ったかぶり infrataster を試してみた。 Infrataster を試す 本当に「試してみた」レベルで恐縮だが、従来は curl とかを駆使してやっていたことが汎用化し易い(と思っている)記法(RSpec)で書かれているので色々と広がりそうな予感。

sensu で docker コンテナの数をチェックするプラグインを作ってみた

はじめに せっかくなので sensu プラグインの勉強のつもりで Docker Remote API を使ってプラグインを作ってみた 参考 ryshinoz/rubocop_sample こんなの スクリプト こちら 目指したこと Docker Remote API を使う 起動中のコンテナの数をチェック しきい値…

sensu の Mutators をドキュメント通りに試した

どうもご無沙汰してます自称 sensu 芸人のかっぱです。 はじめに sensu の Mutators を試せていなかったのでまずはドキュメントを見よう見真似で試す Mutators とは? ざっくり言うと... 監視イベントをハンドラに渡す前にイベントデータに手を加える処理 イ…

今更だけど docker の Remote API を Ruby から使うなど(2)

はじめに 前回の続き バージョンはシステムの情報を取得する API を試す 試した環境は Amazone Linux 本当にメモ書き程度 参考 Docker Remote API v1.10 swipely/docker-api やってみる docker の稼働状況等を取得する。 docker のバージョンを取得する Show…

せっかくなので Dashing で docker の何か作ってみた

はじめに 前回の続き ホストで動いているコンテナの数とかを Dashing で見れるようにしてみた こんなん出来ました サンプルをそのまま利用したのでサンプル感が否めない。 スクリーンショット(1) スクリーンショット(2) 開発途上版w github https://git…

今更だけど docker の Remote API を Ruby から使うなど

はじめに 今更だけど... 以前に docker の Remote API を触ったことがあったが Ruby からも扱えるようなので試してみた 前回の記事でも Dashing から Remote API を使っている 参考 Docker Remote API v1.10 細かいことは置いといて 逆引き◯◯的な感じで。 ge…

docker で Dashing を触ってみた

日本全国 5000 万人の docker とダッシュボード愛好家の皆様、おはようございます。 参考 Dashing かっこいいダッシュボードが簡単に作れるDashingがすごい Dashingで簡単にダッシュボードを作る方法 セットアップ せっかくなので Dockerfile こちら ちょっ…

im.kayac で sensu の通知ハンドラを作ってみた

はじめに 単発で次から次へとすいません 今朝 im.kayac で遊んでいてその勢いで sensu の通知ハンドラを作った Ruby 新卒の自分でも出来ました 本家の Community Plugin にプルリクエストしてみたいけどやり方がイマイチわからん スクリーンショット 障害検…

im.kayac が面白い(sensu の通知ハンドラを作ってみる)

はじめに im.kayac で iPhone の push 通知を始めるまでの簡単な手順 ついでに sensu の通知プラグインも作ってみる 手順 こちらでアカウント作成 Apple Store でアプリをダウンロード アプリでログイン設定 コマンドラインから im.kayac.com に対してcurl …

sensu で Elasticsearch にイベントデータを放り込むハンドラスクリプトを書いた

はじめに handler の勉強を兼ねてイベントデータを Elasticserch に放り込むハンドラスクリプトを書いてみた 参考 sensu-community-plugins / handlers / notification / fluentd.rb コード github にアップした こちら 参考 @repeatedlyさんが作られたこち…

gistub を公開するのに docker 使ってみて Blue-Green Deployment をちょっと体感した

どうも、自称 docker 芸人の川原です。 はじめに gistub という gist の互換ツールをローカルな環境で公開することになったが、お試しでという要望だったのでローカル PC の docker コンテナに作った gistub 環境をそのまま公開してみて、ああ、これが Blue-…

mod_mruby でユーザーエージェントを判断してアクセス先を振り分けてみる(2)

引き続き 前回の記事を書いた後、速攻で @matsumotory さんからご連絡頂いた。ハヤっ! mod_mrubyのバグ(中で呼び出しているmrbgemのバグ)ですね。正規表現使えるように最新版で更新しておきました。 / “mod_mruby でユーザーエージェントを判断してアクセ…

mod_mruby でユーザーエージェントを判断してアクセス先を振り分けてみる

はじめに mod_mruby を動かせる環境が作れたのでユーザーエージェントを判断してアクセス先を振り分けてみる 参考 Apacheのmod_rewriteをmod_mrubyによって無くす事ができるか Apacheによるバーチャルホスト構築レシピ mod_mruby編 mruby から正規表現が消え…

mod_mruby と Apache が動く Dockerfile を作った(2)

そして追記 なんと mod_mruby のインストールドキュメントにも紹介して頂きました! mod_mrubyもngx_mrubyもDockerでbuildする方法を公開して下さったので、Installページに掲載しました。http://t.co/EszTx8MaUA http://t.co/xBaonCe3Nn thanks @inokara @h…