combinedに代わるオレ流ログフォーマット

こんにちは、combinedログ撲滅委員会のひろせです。ApacheのcombinedやNginxのデフォルトのlog_formatは、機械処理(日付でのソートやパース)がしづらい上に、人の目にもあまり見やすいフォーマットとはいえないと思っています。なので自宅のサーバーでは、 …

git commit時にコミッタの情報を環境変数で指定する方法

git

コミッタの情報は環境変数で指定することもできます。 深遠な理由で ~/.gitconfig が置けない or 置けても [user] セクションの email, name に意味のあるものを書けない場合なんかに、便利だと思います。 export GIT_COMMITTER_NAME='HIROSE Masaaki' expor…

perlbrewを使うにあたっていろいろな小細工をした件

最近perlbrewを使っています。で、いろいろ小細工をしたので問題点とその解決方法のまとめです。補足すると、深遠な理由とかマリファナ海峡より深い事情とかがなければ、バッチ用、shebang用に(↓で書いてる)appperl的なラッパーを用意するだけでいけるんじゃ…

perlbrewなperlで共通のパスを@INCに入れたい、もしくはperl実行時にごにょごにょしたい話

perlbrewでインストールしたperlたちの@INCは$PERLBREW_ROOT配下のディレクトリになります。おかげで互いに影響せずにモジュールを入れられるわけですが、システム全体で共通のモジュールも読ませたい局面もあります。PERL5LIB(でパスを指定)やPERL5OPT(で-M…

MySQL 5.1→5.6のmy.cnfの差分とか

MySQL 5.1で使ってたmy.cnfを試しに5.6で動くようにしたときの差分す。網羅的には調べてないんで他にも廃止になったパラメータはあるかもです。あくまで参考までに。 # log-binにパラメータ指定しないと怒られます -log-bin +log-bin = mysqld-bin # old-pas…

Re: sourceで読み込んだらいい感じにPATHに追加するbashrc

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

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.…

同じサブネットへのNIC 2枚指し、またはソースルーティングのおはなし

「NIC 2枚刺し」というと「IP masqueradeを使ってLinuxでルーターを作ろう!」的な話を思い出す老害です。こんにちは。NICを2枚生やしたサーバーから同じサブネットに両方の足をのばす機会があったのですが、じゃっかん躓いたのでそのメモです。具体的にいう…

複合インデックスで範囲検索が遅いとき

DDLとデータは末尾に示しますが、複合インデックスが効くはずのクエリなんだけどナめてる行数が多くて困ったというお話です。(MySQL 5.1.55) このクエリで返ってくる行数は246件なんですが、それにしてはナめてる行数(rows)がやたら多いです。where句で使っ…

branchを切った時点のコミットとbranchの最新コミットとのlogとdiffをみたい

git

Pro Gitから図を引用すると、こういう場合に、分岐した時点のmasterとexperimentの先っちょのlogやdiffをみたいというお話です。実際的には、topic branchをmasterにマージする前に変更点を確認したいといった局面です。 log logの場合は「..」です。 $ git …

Re: 若者がパッケージ管理について思うこと

若者がパッケージ管理について思うこと - As a Futurist... 「パッケージ」を あまり入れ替えしないし、入れ替えたくもないもの 好きに入れ替えしたいもの の2つに分類して、ここ数年自分がどう管理してきたかを書いてみたいと思います。主に構成管理の切り…

dstatの万能感がハンパない

サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。さて、vmstatはメモリの状況やブロック数単位のI/…

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…

jwhoisでwhois.jprs.jpへの問い合わせが失敗する→IPv6がらみの問題?→解決

そういうや最近、jwhoisでjpドメインのwhoisが失敗するなー $ jwhois --version jwhois version 4.0, Copyright (C) 1999-2007 Free Software Foundation, Inc. This program is free software with ABSOLUTELY NO WARRANTY; you may redistribute it under …

垂れ流されるログのおしりを追いかける

滝のように流れるログは見ていて楽しいのですが、見ているばかりでは仕事にならないので、 https://github.com/hirose31/chase-tail というスクリプトを書きました。機能はこんな感じで、 ログ中のきわどいキーワードに色をつけて目立たせる HTTPステータス…

/proc/PID/smapsをreadする

/proc/\d+/smapsを舐め回すスクリプト書いたところ、やけにCPU食うなぁと思いちょっと調べてみたらread(2)の回数がエラい多い件。回数もさることながら、strace -ttt -Tでみてみると、一回のread(2)にそこそこ時間もかかっているご様子。なのでread(2)にちょ…

subversionで、trunk下のいくつかのディレクトリだけcheckoutしたい

svn

trunk下にもりもりディレクトリ(&配下に大量のファイル)があり、trunk をまともにcoすると日が暮れて朝日を拝みそうなときのお話です。必要なディレクトリの数だけそれぞれについてsvn coすると、ディレクトリをまたいだcommit(changeset)ができなくなるの…

パスをコピーする

mac

ファイルサーバー上のファイル/フォルダのパスを、こんな感じのsmb://で始まるURL形式でIRCやメールとかにコピペしたい。 smb://kura/tsudura/でじかめ/あるばむ/2011/この形式なら、Finder→⌘K→サーバーアドレスにコピー→ッターン!! でアクセスできますし…

MacBook Airがスリープから醒めない件

MacBook Air (11" Mid 2011, メモリ 4GB)がフタを閉じてスリープ状態に入り1時間ぐらいするとフタを開けても起き上がらず、しかたないので電源ボタン長押で強制再起動の刑で困ってたんですが、結果からいうと、 sudo pmset -a hibernatemode 0で解消しました…

AppleScriptでデスクトップのサイズを取得する

2011-12-14追記 [twitter:@Piyomaru] さんに教えていただき、system_profiler SPDisplaysDataTypeから取る方法で落着しましたー window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getEleme…

株式会社ディー・エヌ・エーに入社しました

12月1日付けで株式会社ディー・エヌ・エーに入りました。入社して1週間が経ち、少しずつ環境にも慣れてきたところで、優秀な仲間たちと楽しく充実した日々を送っています。自分の仕事はこれまで通り、コードも書ける(書きたい)インフラエンジニアです。まだ…

『無停止革命 絶対運用黙示録』

[いつかかく]

そういえばsshfsが便利な件

以前はリモートのファイル編集するのにEmacsでTRAMP使ってたんですが、sshfsの方がシェルでcdとかlsできるし、Emacsでoccurとかもできるしいいよねってんで最近はsshfs使ってます。で、sshfsしたいホストが多いといろいろめんどくなるんで、↓みたいなヘルパ…

一定時間ログを吐かないとイスが飛ぶ Log::Minimal::FlyingChair というモジュールを作りました

package Log::Minimal::FlyingChair; use strict; use warnings; use utf8; use open IO => ':encoding(utf-8)', ':std'; use Log::Minimal; use Time::HiRes qw(sleep); our $VERSION = '0.01_01'; our $Interval = 5; our $Chair = "ε=コ_"; my $pid; my …

Teeny Nagios - Nagiosのスマートフォンビューを作ったよー

自分の場合、iPhoneでNagiosを見たい場合というのは、 アラートが飛んできたので状況を確認したい →ざっと状況をつかみたいので、一覧性の高いビューがいい 即時対応は必要なさそうなので、とりあえずアラートを止めたい →ホスト単位、またはサービス単位で…

LinuxのLVS(IPVS)でMySQLをロードバランスするときはtimeoutに注意

構成 [appサーバ] -> [lvs] -> [MySQL]群 DRでMySQLのスレーブ群にロードバランス appサーバはDBコネクションのプーリング、永続化をしている 問題の現象 DBサーバ上ではmysqldへのコネクションが存在するのに、appサーバ上ではコネクションが存在しない。(n…

bash completion for dotcloud CUI command

https://gist.github.com/1006095 requires bash 3 bash-completion http://bash-completion.alioth.debian.org/

Kyoto Tycoonの運用TIPSなどなど

チャオ!みんな、Kyoto Tycoonライフをエンジョイしてるかい!?今日はKTライフを満喫してるミーからの運用TIPSアンドソーオンをお届けするYO! kchashmgrとktremotemgrコマンドの補完 人間の脳活動のピークは22歳の今日このごろ、みなさんいかがおすごし…

memcached(プロトコル)のデータレプリケーション

国内だけでなく国外(なぜか主に中国語)でもまだrepcachedについて言及してるのをちらほら見かけるのですが、repcachedはmemcached 1.2.8ベースですし(memcached 1.4.5に対応してる人もいるようですが)いまならKyoto Tycoon使えばいいんじゃないかと思うので…

nginxで特定ホスト以外からのアクセスをメンテナンス画面にする方法 (2)

d:id:sfujiwara:20100812:1281587030 の revise。Nginxのifは条件節に&&(and)が使えない、ifのネストもできないので、複数の条件で判別したい場合は変数を使うといいよって感じです。 server { ... #error_page 500 502 503 504 /static/50x.html; ### maint…