タグ

ブックマーク / sfujiwara.hatenablog.com (32)

  • fluent-plugin-zabbix リリース - 酒日記 はてな支店

    fluentd の出力プラグイン、fluent-plugin-zabbix をリリースしました。 Github fujiwara/fluent-plugin-zabbix https://github.com/fujiwara/fluent-plugin-zabbix fluent-plugin-zabbix | RubyGems.org https://rubygems.org/gems/fluent-plugin-zabbix] 監視とメトリクス収集に Zabbix を使っているので、fluentd で収集した値を zabbix に送って扱いたかったのです。 挙動としては zabbix_sender でホスト側から送信するのと同様です。主に datacounter や flowcounter で集計した値を送るのを想定していますが、送信頻度に気をつければなんでも送れると思います。 作成

    fluent-plugin-zabbix リリース - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2012/05/02
  • #fluentd で maillog を読み込んで MongoDB に投入 - 酒日記 はてな支店

    MTA が吐く maillog は普段あまり見ないのだけど、トラブルがあったときには大変重要。これも Mongo に入れれば、問い合わせがあったアドレスで検索してログを管理画面で見るとかできて便利!ということでやってみた。 # fluentd.conf <source> type tail path /var/log/maillog tag maillog format /^(?<date>[^ ]+) (?<host>[^ ]+) (?<process>[^:]+): (?<message>((?<key>[^ :]+)[ :])? ?((to|from)=<(?<address>[^>]+)>)?.*)$/ </source>正規表現がなかなかですが、これで maillog を parse して以下のような生ログから 2012-03-26T19:49:56+09:00 worker00

    #fluentd で maillog を読み込んで MongoDB に投入 - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2012/03/26
    ヒャッハー|:3ミ
  • [nginx] nginx で upstream を active backup 構成 - 酒日記 はてな支店

    nginx で振り分けるのに、いままで自分の作った構成だと backend はすべて active でロードバランスしてたけど、都合により active-backup 構成にしたくて調べたら簡単だった。一応メモ。 HttpUpstreamModule - Nginx Community backup - (0.6.7 or later) only uses this server if the non-backup servers are all down or busy upstream server の定義に backup を付けておくと、それ以外のが全て落ちたときだけ振り分けられる。 upstream backend { server 127.0.0.1:5000; server 127.0.0.1:5001 backup; }

    [nginx] nginx で upstream を active backup 構成 - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2012/03/20
    いままでコメントアウトするしかなかったんだけどbackupとかdownとかつけられてパッと見わかりやすいし管理しやすくなった気がします。
  • Perl から Fluentd にログ出力 - Fluent::Logger リリース - 酒日記 はてな支店

    皆さん、ログ書いてますか!?(挨拶) Fluentd meetup in Japan も開催間近、最近大変熱いイベントログ収集システム Fluentd なわけですが、Perl からログを出力する Fluent::Logger というモジュールを CPAN にリリースしたのでお知らせします。 (最初の版は id:hirose31 さんが書かれて、それに同僚の id:shin1rosei と手を加えたものです) インストールは cpanm などでどうぞ。使い方は POD にもあるように簡単です。 use Fluent::Logger; my $logger = Fluent::Logger->new( host => "127.0.0.1", port => 24224 ); $logger->post( "myapp.info" => { foo => "bar" } ); 上記の例で送信す

    Perl から Fluentd にログ出力 - Fluent::Logger リリース - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2012/02/07
  • クエリキャッシュを切ったほうがいイカ? ベンチマークしてみた - 酒日記 はてな支店

    カジュアル!(挨拶) このエントリは MySQL Casual Advent Calendar 2011 の18日目の記事です。 昔、専ら PostgreSQL を使っていた頃、MySQL のクエリキャッシュって簡単に性能上がるしみたいだし羨ましいなあ、と思っていました。そのため、1年ほど前から業務で MySQL を使うようになっても、クエリキャッシュは当然のごとく有効にしておりました。 ところが先日 DSAS開発者の部屋:クエリキャッシュは切ったほうがいいんじゃなイカ? というエントリを読みまして、クエリキャッシュはグローバルロックを獲得するとのこと。これはちょっと検証してみなければなるまい、ということでベンチマークをしてみました。 ベンチマーク結果 結果は別ページにまとめました benchmark script と my.cnf ざっくりと説明しますと、 平均 260 byte/行、1

    クエリキャッシュを切ったほうがいイカ? ベンチマークしてみた - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2011/12/21
  • 酒日記 はてな支店

    最初に3行でまとめ AWS CLIは便利です。しかし起動が遅いので、Goで実装された高速な(ただし機能は少ない)代替品を作りました。awslim といいます リリースバイナリは無駄に大きいので、必要な機能だけを組み込んだビルドを簡単にできるようにしてあります。ビルドして使うのがお勧めです どうぞご利用下さい github.com 以下はこれに至るまでの経緯とか、実装や使い方の話とかです。長いです。 作成の経緯 AWSの各種サービスにアクセスするための AWS CLI は、スクリプトやコマンドラインから処理を自動化するために大変便利なツールです。AWSでサーバーサイドの開発、運用している人であれば、ほぼ全員がお世話になっているんじゃないかと思います。 しかし、AWS CLI (コマンド名aws) には「起動が重い」という問題があるなとずっと思っていました。具体的には、aws --versio

    酒日記 はてな支店
    hiroyukim
    hiroyukim 2011/10/27
  • #isucon で優勝してきました - 酒日記 はてな支店

    なんでもありのWebアプリケーション高速化バトル、#isucon に会社の同僚 @Songmu @sugyan と3人で、fujiwara組として参戦してきました。結果、幸いにも優勝を勝ち取ることが出来ました。 こんなに楽しいイベントを企画、運営していただいた Livedoor の皆様、当にありがとうございます!! さて、ざっとチューニングした経過などを記録しておきます。 [追記] もっと詳しいレポートを @Songmu が上げているのでそちらもご覧ください おそらくはそれさえも平凡な日々: #isucon で優勝させてもらってきました [さらに追記] #isucon ではどんなことを考えながら作業していたか - 酒日記 はてな支店 自分でももう少し詳しく振り返りエントリ書きました。 まず説明を聞いて、環境を作るところから。IPアドレスでは作業がしにくいし事故も起こりそうなので、host

    #isucon で優勝してきました - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2011/08/28
  • 新しいPerlに今まで使ってたモジュールをまとめてインストールする - 酒日記 はてな支店

    Perl-5.12.1 がリリースされたということで早速インストールされたかたも多いと思いますが、新しい Perl にモジュールを全部入れ直すのは面倒ですよね。 ExtUtils::Installed を使うと楽ができます。 今まで使ってる perl でインストールされているモジュールの一覧をファイルに落として、新しい perl で cpanm にわせるだけです。 $ cpanm ExtUtils::Installed $ perl -MExtUtils::Installed -e 'print "$_\n" for ExtUtils::Installed->new->modules' > modules.txt $ perlbrew switch perl-5.12.1 $ cpanm < modules.txtあと、perlbrew でインストールした直後は cpanm も perl

    新しいPerlに今まで使ってたモジュールをまとめてインストールする - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2011/07/14
  • Webアプリケーションのログについてあれこれ - 酒日記 はてな支店

    社内勉強会で話したスライドをおいておきます。(IE以外のブラウザ推奨) http://dl.dropbox.com/u/224433/kayac-01-log/index.html 初心者向けというか、かなりざっくりしたスピリチュアルな話でございます。 要約すると、 後で役に立つからログは出しておけ ログ捨てるな 捨てたら椅子投げるぶん殴る という感じですね。

    Webアプリケーションのログについてあれこれ - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2011/06/04
  • YAPC::Asia2010で「nginx & Perl」の発表をしてきました - 酒日記 はてな支店

    YAPC::Asia2010 で、「nginx & Perl」という題名で20分の発表をさせていただきました。 発表資料はこちらにあげてあります 内容はざっくり nginxおもしろげなモジュールの紹介、組み込み Perl の使いかたと注意事項、Plack Server に Reverse Proxy する場合の設定例などです。 資料内で Lighttpd は single process という記述がありますが、「最近 Lighttpd も fork するようになった」(@myfinder さん) とのご指摘を受けました。ありがとうございます。 あと、言おうと思ってて言い忘れたのですが、「nginx の if はネストできないし else もないので、複雑な rewrite をする場合は組み込み Perl 使ってやるのもアリじゃないかな」と思ってます。「柔軟な config を書くため

    YAPC::Asia2010で「nginx & Perl」の発表をしてきました - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2010/10/19
  • node.jsでTwitter ChiarpUserStreamを閲覧するWebアプリを作った - 酒日記 はてな支店

    先日 Perl + AnyEvent で作った TwitterのChirpUserStreamsをダラ流しするWebApp を、node.js で作ってみました。 node.js というのは、「JavaScript V8 Engineでイベント駆動I/Oなネットワークサーバを書くためのフレームワーク(実行環境)」ということでいいんでしょうかね。 # インストールは ./configure && make && make install で終わるので詳細割愛 イベント駆動IOを使って、以下のような処理を1プロセスで行います。 CharpUserStream から流れてくる JSON を取得して node.js 組み込みの httpd のレスポンスに渡す ブラウザは Long poll して node.js から JSON を取得して画面描画 実際動いてるのを動画で見るとこんな感じです。左側の

    node.jsでTwitter ChiarpUserStreamを閲覧するWebアプリを作った - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2010/06/28
  • Go で http アプリケーションサーバ - 酒日記 はてな支店

    デフォルトで付いてくるパッケージで、httpd (アプリケーション) が簡単に作れます。 import . "http" とすると、http. の前置なしで http パッケージの関数が使えるので、見た目も結構すっきり。 HandlerFunc(func(c *Conn, req *Request) { が繰り返されるのはちょっとうるさい感じですが。 # あとはテンプレートエンジンがあれば…… 付属してました → Go でテンプレートエンジン (json template) - 酒日記 はてな支店 http://gist.github.com/236088 package main import ( . "http"; // http パッケージの関数を http. prefix なしで使えるように "io"; "fmt"; ) func main() { gourl := "http:/

    Go で http アプリケーションサーバ - 酒日記 はてな支店
    hiroyukim
    hiroyukim 2009/11/19