タグ

ブックマーク / hirose31.hatenablog.jp (47)

  • VirtualBoxのスナップショットを簡単に管理できるツールを書きました。GO言語で。 - (ひ)メモ

    VagrantではSahara pluginを使うことで、VMの状態を以前の状態に巻き戻すことができます(sandobx mode)。 VMの中でいろいろいじっている際に変更前の状態に戻せるのはとても便利なのですが、Saharaでは戻せるチェックポイントをひとつしか作れません。 自分の場合、深遠なChefのレシピを書いている過程で、戻せるポイントを何個か置きたくなることがよくあります。 さて、VagrantのバックエンドとしてVirtualBoxを使っている人は多いかと思います。 バックエンドがVritualBoxの場合、SaharaのsandboxはVirtualBoxのsnapshotを使って実現されています。 VirtualBoxのsnapshotはひとつだけでなくいくつでも作ることができます。 CUIでVirtualBoxの操作(snapshotを作ったり)をするには、vboxma

    VirtualBoxのスナップショットを簡単に管理できるツールを書きました。GO言語で。 - (ひ)メモ
  • github:eで管理しているChefのクックブックを、Berkshelf APIサーバーを立てていい感じに依存解決する方法 - (ひ)メモ

    ちょっと前にリリースされた Berkshelf 3から、Berkshelf APIというインデックスサーバーからクックブックの情報を得るようになりました。 https://github.com/berkshelf/berkshelf/wiki/2.x-to-3.0-Upgrade-Guide https://github.com/berkshelf/berkshelf-api Berkshelf APIを使うと、外部に公開していないクックブックをBerksfileで指定する際の記述が簡潔になります。 まだ日が浅いせいか、Berkshelf APIgithub:e の情報が少ないので、備忘録も兼ねて残しておきます。 環境は以下のとおりです。 berkshelf (3.1.3) berkshelf-api (2.0.0) Berkshelf APIが必要な理由 Berksfile で c

    github:eで管理しているChefのクックブックを、Berkshelf APIサーバーを立てていい感じに依存解決する方法 - (ひ)メモ
  • bashでもpercolをイイ感じに使う方法 - (ひ)メモ

    [twitter:@stillpedant](mooz)さん作のpercolはシェルとは独立しているのですが、ググるとzshと共に使っている人が多いようです。これはzshの強力な行編集機能を提供するzleに因るところが大きいためだと思います。 bashでもpercolを使っている人もいるのですが、 percolが便利だけど、入れるにはpython2系のほうが良さそう - About Digital Big Sky :: Windows のコマンドプロンプトを10倍便利にするコマンド「peco」 「絞り込んだパスへのcdを実行する」ことはできても、「絞り込んだパスを現在のコマンドライン行に挿入する」ことは実現できていない、つまりコマンド実行はできるけど行編集はできていないようでした。 そこで今回ちょっと調べてみたところ、bashでも(zleには及ばないにしても)変数READLINE_LINE

    bashでもpercolをイイ感じに使う方法 - (ひ)メモ
    hirose31
    hirose31 2014/06/12
    bashから離れられない老害向けの情報です
  • InfluxDB をちょっとさわってみた - (ひ)メモ

    InfluxDBとは http://influxdb.org メトリクスやイベントといった時系列データを格納するのに適したデータストアです。 ちなみに go で書かれています。 ちなみに 2013のOpen Source Rookiesに選ばれました。 InfluxDBの特徴 RRDやMySQLに時系列データを格納する場合と比較して、InfluxDBの特徴を紹介します。 バックエンドは LevelDB LevelDBとは、キーでソートされた状態で可能されたKVSです(Google製)。詳しくはこのへん参照のこと。 http://en.wikipedia.org/wiki/LevelDB https://code.google.com/p/leveldb/ https://speakerdeck.com/smly/influxdb-and-leveldb-inside-out 将来的にLev

    InfluxDB をちょっとさわってみた - (ひ)メモ
  • Redisのクエリーアナライザー "redis-traffic-stats" を書きました - (ひ)メモ

    redis-traffic-stats という Redis のクエリーアナライザーを作りました。 https://github.com/hirose31/redis-traffic-stats redis-traffic-statsはtcpdump -wで書き出したpcapデータを解析して、以下のような統計を表示します。 総ネットワークトラフィック量と平均byte/sec 総リクエスト数と平均とピークのreq/sec コマンド毎のリクエスト数、総リクエスト数に占める割合、req/secを、リクエスト数が多い順に上位10コマンドを表示 コマンド毎の総転送バイト数、byte/secを、総転送バイト数が多い順に上位10コマンドを表示 コマンド別に、キー毎の総転送バイト数、byte/sec、リクエスト数、リクエスト数の割合、req/secを、総転送バイト数が多い順に上位10キーを表示 時間のかかっ

    Redisのクエリーアナライザー "redis-traffic-stats" を書きました - (ひ)メモ
  • ELBのIPアドレスの変更を監視するやつを書きました - (ひ)メモ

    https://github.com/hirose31/monitor-elb-address cpanm -l local --installdeps . cp config-sample.pl config.pl vi config.pl ./monitor-elb-address -c ./config.plな感じで使えて、列挙した FQDN の IP アドレス(Aレコード)の変更を通知します。 IPアドレスの変更によって、 IPアドレスが増えた ELBがスケールアウトしたのかも? AZが増えたのかも? IPアドレスが変わった AWS的都合で内部的なELBのインスタンスが変わったのかも? ELBがスケールアップしたのかも? といったことが推察できます。あくまで何一つ確証のない推察ですけど! ちなみに、DNSを引くと複数Aレコードが返ってきてたのが、ひとつだけAレコードが返ってきて問い

    ELBのIPアドレスの変更を監視するやつを書きました - (ひ)メモ
    hirose31
    hirose31 2013/12/12
    書いた
  • AWS::CLIWrapper-1.00 をリリースしました - (ひ)メモ

    先日 awscli が正式リリースされたので、 http://aws.typepad.com/aws_japan/2013/09/new-aws-command-line-interface-cli.html Perlのラッパーの AWS::CLIWrapper-1.00 をリリースしました。 https://metacpan.org/module/AWS::CLIWrapper awscli にはこれまで何度か互換性のない変更が行われており、不用意に awscli のバージョンを上げると古い awscli 向けに書いたスクリプトが動かなくなったりしていました。 正式リリースされたので、もうこうのような非互換変更は入らないだろうということで、できるだけ古いawscli向けに書いたスクリプトも新しいawscliで動くようにAWS::CLIWrapper側で非互換部分を吸収するようにしました。

    AWS::CLIWrapper-1.00 をリリースしました - (ひ)メモ
    hirose31
    hirose31 2013/09/06
    出したにょ
  • DNSのネガティブキャッシュの残存時間(TTL)はどのようにして決まるか - (ひ)メモ

    結論からいうと、 問い合わせた名前が見つからなかった場合のnxdomain応答は当該ドメインのSOAレコードが返ってきて、ネガティブキャッシュのTTLはその応答(SOA)のTTLになる です。 以下、詳細。 nxdomain応答の際のSOAのTTLは、SOAの(TTLではなく)minimumで指定できることになっています。 「SOAのminimumは通常のキャッシュのTTLでは?」と思ったあなた、私もそう覚えてたのですが、1998年に出たRFC 2308 Negative Caching of DNS Queries (DNS NCACHE)で用途が変更されたそうです。 ▼SOAのminimum値の役割 SOAのminimum値は、当初はDNSキャッシュサーバが一度検索したレコードをキャッシュに保持(通常のキャッシュ)しておく期間(単位は秒)として使用されていましたが、RFC 2308で役

    DNSのネガティブキャッシュの残存時間(TTL)はどのようにして決まるか - (ひ)メモ
    hirose31
    hirose31 2013/07/02
  • WEB+DB PRESS Vol.73にRedisの特集記事を書きました - (ひ)メモ

    WEB+DB PRESS Vol.73にRedisの特集記事を書きました。 2/23発売なので、もう書店に並んでいると思います。 http://gihyo.jp/magazine/wdpress/archive/2013/vol73 WEB+DB PRESS Vol.73 作者: 設樂洋爾,白土慧,はまちや2,大和田純,松田明,後藤大輔,ひろせまさあき,小林篤,近藤宇智朗,まかまか般若波羅蜜,Mr. O,川添貴生,重国和宏,柳澤建太郎,奥野幹也,佐藤鉄平,後藤秀宣,mala,中島聡,堤智代,森田創,A-Listers,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2013/02/23メディア: 大型購入: 12人 クリック: 131回この商品を含むブログ (7件) を見る 前半がRedisの概要、2.6の紹介と運用系の話で自分が担当、後半がRedisのコマンドや実

    WEB+DB PRESS Vol.73にRedisの特集記事を書きました - (ひ)メモ
  • Re: sourceで読み込んだらいい感じにPATHに追加するbashrc - (ひ)メモ

    sourceで読み込んだらいい感じにPATHに追加するbashrc - As a Futurist...

    Re: sourceで読み込んだらいい感じにPATHに追加するbashrc - (ひ)メモ
    hirose31
    hirose31 2012/08/28
    (ほぼ)pure bashで書いたし!!
  • Amazon VPCで浮動IPアドレス的なことができないかのメモ - (ひ)メモ

    フェイルオーバーを実現する手法のひとつにVIP(Virtual IP、浮動IPアドレス)というものがあります。 Amazon VPCにてVIPができないか、ちょっと考えてみたのでそのメモです。 環境としては、10.0.0.0/16のVPCの中に、 10.0.0.0/17のpublic subnet (AZはa) 10.0.128.0/17のpublic subnet (AZはb) というそれぞれ別のAvailability Zoneに属する2つのsubnetを作り、これらsubnetをまたいでVIP的なことができないか、という考察です。 思いついた方法としては以下の3つです。 ENIを移動する - NICを移動する secondary private addressを移動する - IP Aliasする Routerの力を借りる ほかにもいい方法があったら教えてください>< ENIを移動する

    Amazon VPCで浮動IPアドレス的なことができないかのメモ - (ひ)メモ
    hirose31
    hirose31 2012/08/23
    AWSのエライ人おしえてください><><
  • Re: 若者がパッケージ管理について思うこと - (ひ)メモ

    若者がパッケージ管理について思うこと - As a Futurist... 「パッケージ」を あまり入れ替えしないし、入れ替えたくもないもの 好きに入れ替えしたいもの の2つに分類して、ここ数年自分がどう管理してきたかを書いてみたいと思います。主に構成管理の切り口の話になります。 あまり入れ替えしないし、入れ替えたくもないもの 具体的には、 基的なソフトウエア coreutilsとかtarとかそういった類のもの です。 これらは最初の最初にサーバーをセットアップするときに、ディストリのバイナリパッケージを入れて基的にはそれでおしまいです。 バージョン管理、依存関係の管理はディストリのパッケージシステムにお任せです。 セットアップ後はよっぽどのことがない限り、アンインストール、ダウングレードは基的にしません。アップグレードも当に当に影響のあるセキュリティ修正のみ。追加インストールは

    Re: 若者がパッケージ管理について思うこと - (ひ)メモ
    hirose31
    hirose31 2012/03/29
    お返事書いてみた
  • 株式会社ディー・エヌ・エーに入社しました - (ひ)メモ

    12月1日付けで株式会社ディー・エヌ・エーに入りました。 入社して1週間が経ち、少しずつ環境にも慣れてきたところで、優秀な仲間たちと楽しく充実した日々を送っています。 自分の仕事はこれまで通り、コードも書ける(書きたい)インフラエンジニアです。 まだ把握しきれていませんが、想像していた以上のトラフィック、サーバー台数のスケールで、これほど大きなシステムに関われることに興奮して鼻血が出そうな毎日です。 特に前職では人数が少なかったせいもあり、エンジニアリング以外のこともいろいろとやりました(おかげでいろいろと経験できてよかったです)が、ディー・エヌ・エーではエンジニアリングに集中し、自分のこれまでの経験と知識と勘を活かし早期にバリューを出せるように努力しつつ、優秀な仲間たちと切磋琢磨し、より自分の腕に磨きをかけていきたいと思っている所存です。 また、ブログや勉強会等しばらくおやすみしていまし

    株式会社ディー・エヌ・エーに入社しました - (ひ)メモ
    hirose31
    hirose31 2011/12/09
    ぼくのかんがえたさいきょうのむげんなつやすみ糸冬了のお知らせ
  • Teeny Nagios - Nagiosのスマートフォンビューを作ったよー - (ひ)メモ

    自分の場合、iPhoneでNagiosを見たい場合というのは、 アラートが飛んできたので状況を確認したい →ざっと状況をつかみたいので、一覧性の高いビューがいい 即時対応は必要なさそうなので、とりあえずアラートを止めたい →ホスト単位、またはサービス単位で「Schedule downtime」したい ぐらいなので、それに特化したスマートフォンビューを作りました。 プロジェクトホーム http://hirose31.github.com/teeny-nagios/ レポジトリ https://github.com/hirose31/teeny-nagios Mobile Safariで通常のNagiosのページを見てもいいんですが、操作性、一覧性がイマイチだなーと思ったのが作った動機です。 ホーム。ざっくり状況を確認するのに。 ホストの一覧。黄色はwarningが、赤色はcriticalが出

    Teeny Nagios - Nagiosのスマートフォンビューを作ったよー - (ひ)メモ
    hirose31
    hirose31 2011/06/10
    ナギオス!!
  • Kyoto Tycoonの運用TIPSなどなど - (ひ)メモ

    チャオ!みんな、Kyoto Tycoonライフをエンジョイしてるかい!? 今日はKTライフを満喫してるミーからの運用TIPSアンドソーオンをお届けするYO! kchashmgrとktremotemgrコマンドの補完 人間の脳活動のピークは22歳の今日このごろ、みなさんいかがおすごし? もうね、ミーは全然コマンドオプションとか覚えられないからシェル(bash)で補完しまくってるYO! kchashmgrとktremotemgrだけだしオプション網羅してないし補完ルールもアレだけどオープン&シェアなマインドとガッツで気になる人はfork & push! Nagiosで死活監視 ナギオス!みんな使ってるよね? ミーはcheck_httpでKTのHTTP RPCのechoにアクセスしてデッドオアアライブの監視してる! define command { command_name check_kyot

    Kyoto Tycoonの運用TIPSなどなど - (ひ)メモ
  • memcached(プロトコル)のデータレプリケーション - (ひ)メモ

    国内だけでなく国外(なぜか主に中国語)でもまだrepcachedについて言及してるのをちらほら見かけるのですが、repcachedはmemcached 1.2.8ベースですし(memcached 1.4.5に対応してる人もいるようですが)いまならKyoto Tycoon使えばいいんじゃないかと思うのです。 Kyoto Tycoonなら: memcachedプロトコルプラグインを使えば、Kyoto Tycoonがそのままmemcachedの代替になる(memcachedプロトコルを喋るクライアントコードはそのままでよい) Tokyo Tyrantと違ってexpireもOK memcachedの代替が目的なら、速いオンメモリDB(StashDBとか)でOK 非同期レプリケーションもできる ホットスタンバイ側のサーバリソースが無駄に思うなら、keyに応じてmodとかでリクエストするサーバを2台の

    memcached(プロトコル)のデータレプリケーション - (ひ)メモ
  • nginxで特定ホスト以外からのアクセスをメンテナンス画面にする方法 (2) - (ひ)メモ

    d:id:sfujiwara:20100812:1281587030 の revise。 Nginxのifは条件節に&&(and)が使えない、ifのネストもできないので、複数の条件で判別したい場合は変数を使うといいよって感じです。 server { ... #error_page 500 502 503 504 /static/50x.html; ### maintenance error_page 500 502 504 /static/50x.html; set $go_maintenance "true"; if ($uri ~ "^/error/") { set $go_maintenance "false"; } if ($remote_addr ~ "^192\.0\.2\.") { set $go_maintenance "false"; } if ($remote_addr

    nginxで特定ホスト以外からのアクセスをメンテナンス画面にする方法 (2) - (ひ)メモ
  • これはもう手放せない!社内ツールベスト4 - (ひ)メモ

    どれもオープンなサービスではあるんですが、社内限定でも使いたいなーというものたちです。 IRC プロトコルと実装がオープンなので、周辺のライブラリやツールが充実してるのがいいですね。 ぼくは、家のサーバに IRC proxy (bouncer) のTiarraを常駐させて、PCがあるときはLimeChatで、ないときはiPhoneのSafariでmobircを使っていつでも見られるようにしています。 コミュニケーションはもとより、いろんなボットを常駐させて通知プラットフォーム的にも使っています。これがまた便利なんです。 deployスクリプトから状況をポスト Continuous Integrationの自動テストの結果をポスト 「#NNN」に反応して、当該チケットのタイトルとURLをポスト 「これから#765やる」、「XXXの修正のチケットってどれだっけ?」「#973だにょ」とか コミッ

    これはもう手放せない!社内ツールベスト4 - (ひ)メモ
    hirose31
    hirose31 2011/01/13
  • Plack::Middleware::Pictogram::MobileJp - 3キャリア対応の絵文字に変換するPlack::Middleware - (ひ)メモ

    id:tokuhiromがHTML::Pictogram::MobileJpというモジュールをリリースしていたので、これを使ったPlack::Middlewareを作ってみました。 http://github.com/hirose31/Plack-Middleware-Pictogram-MobileJp 「モバイル用のHTMLのチェックを実機やFireMobileSimulatorでやりたいのだけど、&#xXXXX;で絵文字を指定するとドコモ以外のクライアントで絵文字が表示されないのでチェックにならない」 というような場合に、このMiddlewareを介して表示すれば、クライアントのUser-Agentをみてキャリアに応じた絵文字のコードポイントに変換してコンテンツを返してくれるので便利なんじゃないかと思います。 ごくシンプルですが、こんな感じで使えます。 # psgi use Plac

    Plack::Middleware::Pictogram::MobileJp - 3キャリア対応の絵文字に変換するPlack::Middleware - (ひ)メモ
  • 前月を知る - sh編 - (ひ)メモ

    shっていうかdateコマンドですけど。 安直に「1 month ago」でいいじゃん!と思った人は負けです(ぼくもですけど><)。 これはいいんだけど、 $ date '+%Y-%m-%d %T.%N'; date '+%Y-%m-%d %T.%N' -d '1 month ago' 2010-09-16 18:05:00.342008278 2010-08-16 18:05:00.344293593 このケースだと前月になってない # date 053100002010 >/dev/null; date '+%Y-%m-%d %T.%N'; date '+%Y-%m-%d %T.%N' -d '1 month ago' 2010-05-31 00:00:00.000000000 2010-05-01 00:00:00.004000016set $(date '+%Y %m') y=$1

    前月を知る - sh編 - (ひ)メモ
    hirose31
    hirose31 2010/09/16