タグ

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

  • galloc - Gachapin alloc というのを作りました - (ひ)メモ

    Overriding System Functions for Fun and Profit | Hacker Boss をみて自分も試してみたくなったので書きました。 https://github.com/hirose31/galloc malloc(3)するとガチャピンが、free(3)するとムックがSTDERRに報告してくれます。便利!!1 $ make galloc.so $ LD_PRELOAD=./galloc.so ls # or arbitrary command Gachapin .oO(malloc(568) = 0x172e040) Gachapin .oO(malloc(120) = 0x172e280) Mukku .oO(free = 0x172e040) Gachapin .oO(malloc(6) = 0x172e040) Mukku .oO(free =

    galloc - Gachapin alloc というのを作りました - (ひ)メモ
    mickn
    mickn 2013/11/06
  • dstatの万能感がハンパない - (ひ)メモ

    サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47

    dstatの万能感がハンパない - (ひ)メモ
    mickn
    mickn 2013/10/07
  • Apacheでreverse proxyするときに、受けのパスに応じて異なるタイムアウト値を設定する方法 - (ひ)メモ

    Apacheでreverse proxyするときに、バックエンドは同じなんだけど受けるパスに応じて別なタイムアウト値を設定しようとしてハマったのでそのメモです。 以下、Apache 2.2.22 でのお話です。2.4でどうなってるか、どなたかご存知でしたら教えてください>< まず思いつくのはこんな設定だと思います。 ProxyTimeout 7 ProxyPass /3sec/ http://127.0.0.1:9999/ timeout=3 ProxyPass /5sec/ http://127.0.0.1:9999/ timeout=5バックエンド (127.0.0.1:9999) は、こんなのを動かしておけば十分です。 $ while true; do echo listen...; nc -l 9999; doneこれでクライアントでアクセスしてみると… $ time curl h

    Apacheでreverse proxyするときに、受けのパスに応じて異なるタイムアウト値を設定する方法 - (ひ)メモ
    mickn
    mickn 2013/06/13
  • branchを切った時点のコミットとbranchの最新コミットとのlogとdiffをみたい - (ひ)メモ

    Pro Gitから図を引用すると、こういう 場合に、分岐した時点のmasterとexperimentの先っちょのlogやdiffをみたいというお話です。実際的には、topic branchをmasterにマージする前に変更点を確認したいといった局面です。 log logの場合は「..」です。 $ git log --pretty=oneline master..experiment ec8428d4d1884d3413e0949603c0c5cdd8aef414 D 863f5738a395fe090afaeaa120b67c45d65131c4 Clogにおける「..」についてPro Gitから引用すると、以下のように書かれています。 これは "experiment からはたどれるけれど、master からはたどれないすべてのコミット" という意味です。 Git - リビジョンの選択 一

    branchを切った時点のコミットとbranchの最新コミットとのlogとdiffをみたい - (ひ)メモ
    mickn
    mickn 2012/12/26
  • Apache 2.4.1 で気になった新機能などのメモ - (ひ)メモ

    Overview of new features in Apache HTTP Server 2.4 - Apache HTTP Server Expressions http://httpd.apache.org/docs/2.4/en/expr.html やSetEnvIfExpr, RewriteCond, Headerで使える評価式 の追加 http://httpd.apache.org/docs/2.4/en/mod/core.html#if ヘッダや環境変数を参照して細かい制御ができるようになったことに加え、else的なブロックを書くのに苦労したことがあるんで朗報です ErrorLogFormat http://httpd.apache.org/docs/2.4/en/mod/core.html#errorlogformat ErrorLogも書式設定できるように。 %L (L

    Apache 2.4.1 で気になった新機能などのメモ - (ひ)メモ
    mickn
    mickn 2012/02/25
  • 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 - (ひ)メモ
  • IPアドレスブロックを集中管理する方法と、その活用法 - (ひ)メモ

    やりたいこと 携帯3キャリアのIPアドレスブロックは比較的頻繁に変わるので自動更新したい 自宅やオフィスその他のIPアドレスは、変わることがあまりないので手動管理でいい これらIPアドレスブロックの情報は、後述する通りいろいろなところで使いたい 即ち、いろいろな形式で表現したい このように、頻度の差こそあれ、IPアドレスブロックは増減したり新しいブロックが追加したりするので、簡素な機構で包括的な管理をしたい。 実現方法 スクリプトを2つ書きました。いずれもgithubにあります。 http://github.com/hirose31/cidr-manager 図も用意しました。 update-mobilejp-cidr キャリアのサイトをスクレイピングして、指定されたディレクトリにその情報を書き出します。 その形式は、1行1アドレスブロック、コメントは "#" です。 $ cat plai

    IPアドレスブロックを集中管理する方法と、その活用法 - (ひ)メモ
    mickn
    mickn 2010/04/07
  • kumofsの死活監視はこんな感じでNagiosでやってます - (ひ)メモ

    分散Key-Valueストア「kumofs」を公開しました! - 古橋貞之の日記 \(^o^)/ kumofsは、弊社のフォトストレージサービス Ficia で現在大絶賛モリモリ稼働中なんですが、その死活監視は自家製の Nagios プラグインで行っています。 というわけで、kumofsをサービスで使いたい人の一助になればと思い、ぼくが実際に行っている kumofs の監視について紹介したいと思います。 サーバノードとマネージャノード サーバノードとマネージャノードの監視には、それぞれのノードに対してステータスを問い合わせるコマンドを発行して、その応答で死活を判断するスクリプトを書いて使っています。 kumofs公開記念ということでgithubにpushっておきました。 http://github.com/etolabo/nagios-check_kumofs 問い合わせの処理は、管理用コ

    kumofsの死活監視はこんな感じでNagiosでやってます - (ひ)メモ
    mickn
    mickn 2010/01/19
  • YAPC::Asia 2009 で「インフラのはなし(仮)」について話します - (ひ)メモ

    このところ、MySQL と Nagios と mod_perl 関連のエントリをいろいろ書いていますが、それは、スケールアウト可能で、かつ、管理が容易なネットワーク・サーバインフラを、今まさに作っている、という理由があるからです。 ただ、ブログエントリだとどうしても細切れになるので、一連のモジュールやプログラムを組み合わせて、どうやってスケールするインフラを作るのかという話を YAPC::Asia 2009 でさせていただくことにしました。 YAPC::Asia 2009 は9月10日(木)と11日(金)の2日間、東京工業大学大岡山キャンパスで開催されます。今日からチケット販売も始まったので、興味のある方はお越しいただければ、と思います。 YAPC::Asia 2009 インフラのはなし(仮) 【参考文献】 http://d.hatena.ne.jp/tokuhirom/20090807/

    YAPC::Asia 2009 で「インフラのはなし(仮)」について話します - (ひ)メモ
  • Interop Tokyo 2009のクラウドコンにkumofsで出場します - (ひ)メモ

    月曜からはじまったInterop Tokyo 2009ですが、6/11(木) 13:00からのクラウドコンピューティングコンペティション(略称:クラウドコン)に、古橋さん(id:viver)と一緒にチームえとらぼで出場します。 クラウドコンピューティングコンペティション(略称:クラウドコン) kumofsについての概略は、Key Value Store勉強会のときの彼の資料がありますのでこちらをどうぞ。 Key Value Store勉強会に行ってきました by kumofsのひと - 古橋貞之の日記 DHTとして、ノードが1つ2つ落ちたぐらいではサービスが停止しない・データが欠損しないというのはもちろんですが、kumofsは弊社で目下絶賛開発中のサービスのために開発されたプロダクトなので、「こういう動きの方が現場の運用がしやすい」という意見も取り込んで実装しています。この「運用しやすさ」

    Interop Tokyo 2009のクラウドコンにkumofsで出場します - (ひ)メモ
    mickn
    mickn 2009/06/10
  • NagiosからのアラートをIRCにも通知してみた - (ひ)メモ

    Nagiosのアラート通知をメールだけじゃなくてIRCにも通知したいなぁと思ったのでやってみました。 IRC bot 今までだと Plagger 付属の plagger-ircbot を走らせて、適宜 POE の IKC で通知命令を送っていたんですが、ちょっと CPAN を探してみたら、 Bot::BasicBot::Pluggable というのがありました。 karmaもつけられていいなーと思ってこれを使おうと思ったんですが、POE を使っているものの IKC で連携する機能がありません。 そこでこのモジュールを継承して、Bot::IKCBot::Pluggable というのを作りました。 http://github.com/hirose31/p5-bot-ikcbot-pluggable/tree/master Bot::IKCBot::Pluggable BasicBotとの違いは

    NagiosからのアラートをIRCにも通知してみた - (ひ)メモ
  • DNS NOTIFYを受け取ってくれる無料のセカンダリDNSサービスと、NOTIFYを送るスクリプト - (ひ)メモ

    個人所有のドメインのDNSサーバは、マスタは自宅サーバ(djbdns)でセカンダリはXNameの無料のセカンダリネームサーバのサービスを使っていました。 それなりに動いてくれていたXNameですが、不満な点が1つありました。それは、マスタを変更したときのゾーン情報の伝搬に時間がかかる点です。XNameは数台のセカンダリネームサーバを提供していて、伝搬速度はサーバによってもタイミングによってもばらばらですが、早いときは数十分、遅いときは5,6時間たってようやく更新されることもありました。 XNameもDNS NOTIFY受けてくれたらいいのになーなんて思いつつも、個人所有ドメインでそんなシビアなサービスもしてないので、ま、いっかーと思っていたんですが、先日、EveryDNS.netがダウンして巷でわーぎゃーわーぎゃーな騒ぎになったときに、ちょろっと調べてみたらいくつかDNS NOTIFYを受

    DNS NOTIFYを受け取ってくれる無料のセカンダリDNSサービスと、NOTIFYを送るスクリプト - (ひ)メモ
    mickn
    mickn 2009/04/10
  • tcpdumpとiptablesの関係 - (ひ)メモ

    追記 2009-04-03 まったくもってブコメでいただいた指摘の通りです>< h2onda linux, tcpdump tcpdump(というかlibpcap)は、データリンク層(OSI layer2)レベルでパケットを取得する packet プロトコルを使ってるので、そうなります。参照: man packet(7) 2009/04/02 はてなブックマーク - h2ondaのブックマーク / 2009年4月2日 tt_clown network 細かいけど,図は逆(NIC が下)のが良いかなと思った./ "ip"tables と言う位だから,IP層でパケットをフィルタしてるて事だろうな.tcpdumpはEthernet Frameも見えるので,後は分かるな?・・・てとこか. 2009/04/02 はてなブックマーク - tt_clownのブックマーク / 2009年4月2日 pack

    tcpdumpとiptablesの関係 - (ひ)メモ
    mickn
    mickn 2009/04/02
  • mod_log_rotate がよさげかも - (ひ)メモ

    mod_log_rotate のススメ で紹介されていた mod_log_rotate がよさげです。 http://www.hexten.net/wiki/index.php/Mod-log-rotate ドキュメントには書いてない(と思う)んですが、CustomLogのファイル名にstrftimeの書式指定が使えるようになります。 ついでに、rotatelogs より cronolog の方がフットプリントが小さそうなので、ErrorLogcronologを使うようにしてみました。 before ErrorLog "|/usr/local/bin/rotatelogs /var/log/httpd/irori.org/www.err.%Y-%m-%d 86400 +540" CustomLog "|/usr/local/bin/rotatelogs /var/log/httpd/ir

    mod_log_rotate がよさげかも - (ひ)メモ
    mickn
    mickn 2009/03/11
  • Apache 2.2 + mod_authnz_ldap vs ActiveDirectory - (ひ)メモ

    Apache 2.2.4 mod_authnz_ldap ActiveDirectory / Windows 2003 Server LoadModule authz_user_module modules/mod_authz_user.so LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so # (snip) <Location ~ "^/trac/.*/login"> AuthType Basic AuthName "trac" AuthBasicProvider ldap AuthLDAPURL "ldap://ad.example.org:389/OU=hatena,DC=AD,DC=EXAMPLE,DC=ORG?sAMAccountN

    Apache 2.2 + mod_authnz_ldap vs ActiveDirectory - (ひ)メモ
  • テキストでシーケンス図を描くツール - (ひ)メモ

    Graphvizは、 テキストで記述できて MediaWikiやTracでも使える(Graphviz Plugin) んで重宝してるんですが、同じノリでシーケンス図も描けないものかと。 Quick Sequence Diagram Editor - Summary よさげかも。 Javaアプリ テキストの記述データを受け取って画像返すサーバにもなるっぽい。(未確認) サンプル てけとーな記述をするとSemanticErrorと怒られる。 Mscgen: A Message Sequence Chart Renderer 記法がGraphvizライク。んで、シンプルでよさげかも。 サンプル ラフでてけとーななんちゃってシーケンス図的な図をささっと描くならこれがいいかもす。 Web-Based UML Sequence Diagram / MSC Generator ローカルアプリじゃなくてW

    テキストでシーケンス図を描くツール - (ひ)メモ
    mickn
    mickn 2007/08/08
  • 1