oauth2_proxyとNginxのauth_requestを組み合わせると便利

oauth2_proxy、便利でググると導入手順も結構出てくるのだけど、今回紹介するのは(環境によっては)さらに便利に使えるナウい方法です。 なにをするのかというとREAMDEに書いてあります。 Configuring for use with the Nginx auth_request directive The N…

Puppet人がAnsible界にきてみて

この記事はPuppet Advent Calendar 2015の14日目の記事です。 昨日はおっくんのPuppetの予約語 $name と $titleでした。 書いている人 Puppetはペパボで6年間、複数のサービスインフラ用に書いてきた。社内で一番書いたかも 新規やら導入やら引き継ぎやらい…

第3回ペパボテックカンファレンスでPrivate S3の作り方を発表してきた

第3回ペパボテックカンファレンス - connpass で発表してきました。 スライドはこちら。 MogileFSをバックエンドとしたPrivate S3の作り方 from Ryo Kuroda www.slideshare.net 前後編に分かれていて、後半は @hiboma が発表しました。続けて見た方が良いで…

ngx_mrubyを使って特定ホスト以外からのアクセスをメンテナンス画面にする

こんな感じ。(ほんとはもうちょいifが多い) error_page 503 /maintenance.html; location = /maintenance.html { internal; } mruby_access_handler_code ' c = Nginx::Connection.new r = Nginx::Request.new Nginx.return -> do if File.exists?("/var/tmp…

はてなブログに引っ越した

あまり更新してないのだけど、昨日中の人と話しててダイアリーで続ける理由も無いなぁと思って引っ越した。 3ポチくらいでブクマも全部引っ越し終わって楽ちんだった。 あとやっぱりずっと使いやすそうだ(それでも多分更新しないのだけど)。

実録、ほぼ無停止なMHAによるマスターフェイルオーバー(動画もあるよ

タイトルはこちらのインスパイアです。 これはPepabo Advent Calendar 2014 - Qiita18日目のエントリーです。 昨日は@nakajijapanの社内での活動履歴でした。なかじーーー。 1年半ぶりのblog更新ですが、そこそこ元気にやってます。もじゃもじゃは辞めました…

WEB+DB PRESS Vol.75 に寄稿しました

自分を含む5人のペパボメンバー(@hsbt, @kentaro, @tnmt, @atakaP)で第一特集の「複雑性の増大と環境の変化に対応する継続的Webサービス改善ガイド」ってのをやらせて頂きました。その内自分が書いたのは4章の「インフラ構成管理の改善」の半分くらいです。W…

おまけ

7月に@n0tsさん主催で開催された Automation Tech Casual Talks #1 で使った資料をBlogに上げて無かったので今更ではありますが置いておきます。思うところあってtwitterでひっそりURLを公開してましたが、気が変わりました。 サーバ構築自動化 On aws sqale…

モニカジ2

先日開催された Monitering Casual Talk #2 でMuninのスケールアウト構成について話してきました。資料はこちら。 Munin manager - monitering casual talk #2 from Ryo Kuroda ご存知通り、Muninにはスケールアウト機能が無いのですが、幾つかのスクリプト…

RDSのログの話

というわけで、懇親会で話題に上がったSqaleでやっているRDSのログの扱いを晒して、お茶を濁させて頂こうかと思います。RDSってAWSのDBインスタンスのあれです。で、あれって当然、中にSSHでログインしたり出来ないので、ログ(一般ログ、スロークエリログ)を…

Monitoring Casual Talk #1でNagiosの運用について話してきました

プレゼン2度目ですが、前回引き続き、脇、首の異常な発汗が抑えられません。どうしたら平然と発表できるんでしょうか。自分の資料はこちらです。幾つかの*-casualを見てきましたが、今回が一番カジュアルでしたね。とくにid:hirose31さんはカジュアルを完璧…

MySQL Casual Talk #3 で30daysのことを話してきました

先日19日に開催されたMySQL Casualで自分がペパボでインフラを担当している30days albumの運用について話してきました。実は、技術者として社外でちゃんとプレゼンするのが初めてだったので、緊張しすぎて直前までマジで帰ろうかと思ってたんですが、手のひ…

puppetのclass間依存の話

最近chefに押され気味な気がしないでもないpuppetのことでも書こうかな。puppetでは各種リソース(file、package、service 等など)間の依存関係を定義出来るのですが、class(複数リソースをまとめたセットみたいなもの)間でも依存を定義することができます。c…

postfixのキューをフィルタリングするやつ

たくさんメールサーバを管理してると、様々な理由でダメな感じの滞留キューを調べたり消したりしたくなることがあるわけですよ。postfixだとmailqってコマンドでキューのサマリが取得できるんだけど、こいつは1レコード複数行なので、特定FromであったりToで…

muninを引っ越した

ブログを余りにも放置してたので、コンスタントに小ネタを書いていくことにした。最近muninを動かしているサーバをリプレースしたんですが、OSが32bitから64bitに変わったんですよ。んでrrdってアーキテクチャ変わるとそのままcopyしても使えないんですよね…

はてぶろ始め

てすてす

ペパボにおける MogileFS

晒すのが流行ったようなので。id:halfrack:20111108 mysql> select fid from file order by fid desc limit 3; +-----------+ | fid | +-----------+ | 530626772 | | 530626770 | | 530626769 | +-----------+ 3 rows in set (0.00 sec) mysql> desc file; …

停止中のvm(kvm)のネットワーク設定を書き換える習作

もう一年以上更新してなかったのか…virt-cloneした後にネットワーク設定を修正するのが面倒くさいので、スクリプト一発でなんとかしたくて書いてみた。 #!/usr/bin/perl use strict; use warnings; use Sys::Guestfs; use Sys::Virt; use Data::Section::Sim…

追記

上のはなんか無駄なことしてることに気づいた。こうしよう。 # rpm -Uvh http://elrepo.org/elrepo-release-0.1-1.el5.elrepo.noarch.rpm # perl -p -i -e 's/(enabled)=0/$1=1/' /etc/yum.repos.d/elrepo.repo # yum install kmod-pata # echo 'alias scsi_…

Dell Inspiron Mini 12 で CentOS をまともに動かす

実はeeepcだけでなくmini12も持っているのだ。 こいつも例のごとく、簡単には動いてくれないです。 普通にインストールしただけだと、ディスクがhdaで認識されて、dma onに出来なくて、謎のカーネルエラーを永遠に垂れ流します。こうすっと、sdaで認識(PATA…

可愛いのう。凄く柔らかいんだぜ。

Delicious Bookmarks のサイドバーから新しいタブで開けない件

Firefoxのアドオンのやつ。 もう大分経つけど、前は出来てた「Ctrl+左クリックで新しいタブで開く」がアップデート後に効かなくなったんですよ。 右クリックメニューから同じこと出来るけど、すごくメンドクサイなぁ。 誰か知らないですかね。デフォルトで…

YAPCの感想

LDRに溜まっていた約一ヶ月分*1の未読フィードをようやく消化*2し終えたので、先日参加したYAPCの感想をまとめてから寝る。 先輩同僚が色々と男前 初めて生で見たid:acotieはかわいかった yappoさんのficiaにmizzyさんとの2shotが有って、なんかうれしい 懇…

EeePC の SSDが‥

[root@localhost ~]# hdparm -ft /dev/hdc /dev/hdc: Timing buffered disk reads: 8 MB in 3.54 seconds = 2.26 MB/sec [root@localhost ~]# hdparm -ft /dev/hdd /dev/hdd: Timing buffered disk reads: 8 MB in 3.55 seconds = 2.26 MB/sec [root@localho…

CentOS は見限った

SATAドライバが古いせいか、DMAがどうしてもonにならない。 というわけでCent止めー。 先輩の薦めもあって、出たばかりのMomonga Linux6にしました。やっぱり最新のディストリビューションはよいね。さっくり動いたよ。eeepcモジュールみたいなのが最初から…

EeePC 900-x に CentOS5.3 をPXEブートでインストール #2

前回の続き。 無事OSのインストールはできました。 旧サーバではLVMを使っていましたが、新サーバではLVMを使わず、hdcに「/」と「/boot」、hddに「/home」を割り当ててます。900-xのSSDは一個目が高速なSLC、2個目はMLCとなっているため、LVMは使う意味が無…

EeePC 900-x に CentOS5.3 をPXEブートでインストール #1

自宅サーバにしてるThinkpad t23の液晶パネルが完全死亡したので、EeePC 900-xに移行しました。 EeePC 900-xいいね。小さい、省電力、SSD、安い。自宅サーバにぴったりだ。 入れるOSは今使ってるのと同じCentOS5.3。900-xには光学ドライブなんてついてないの…

けいはんなサイクルレース

一般入門クラスのC5Lに出走しました。初レースです。 結果は、先頭から約17秒遅れで18位(98名中)。まー大体自身で予想していた通りとなりましたが、悔いが残るのは、足を残したまま、もがかずにゴールしてしまったこと。普段仲間と走っているときもそうだ…

予行練習

今日は明後日のけいはんなサイクルロードレースに向けて予行練習。一周1.8kmの宝ヶ池プリンスホテル周りを後輩とグルグル。3週TTしてアベレージが35km/hくらい。 半分以上後輩に引っ張ってもらったけど、車や信号に邪魔されたのを差し引いたら、思ったよりは…

EVERNOTE と Minibuffer

evernoteでノートの更新、編集をする際にエラーが出て、処理が完了しなくなった。 Unknown exception (com.google.gwt.xml.client.impl.DOMParseException: Failed to parse: <success></success><div style="display: none;" id="FLASH_MESSAGE"></div>) during operation (Update note).うーむさっぱり意味分からん。 とりあえず、ブ…

リポジトリ削除した かと思った

自宅サーバ内のsvnリポジトリがふと見たら消えてた。 普段から、rm -rf とか軽くやってるので、「もしや、やっちまったか。。」とアホほど冷や汗かいたけど、よく探したら有った。 mv して、変なとこに移動してただけだったよう。ふぅ。 そんだけ。 みんな再…

Garuda解説 #1

まともにブクマしてもらったの初めてだ*1。 というわけで、前回の続き書こうと思います。 動作フェーズ Plaggerを踏襲しています。 ごちゃごちゃ書くより、Garuda.pmのコード見てもらえれば一目りょう然ですね。 ざっくりと書くと以下のような感じになってま…

Garuda - サービス監視フレームワーク 作った

稼働中サーバのサービスの状態を監視するためのプラガブルフレームワークGarudaというのを作ったので、codereposに置いておきました。 Plaggerとか、mizzyさんのAssurerみたいなやつです。というか最初はそのAssurerを使う予定だったんですが、自分とこの環…

CentOs5.3 で trac インストール

GWなのにぎっくり腰で外出れないから、寝ながら新自宅サーバセットアップ中。 以下tracインストールのてっきとうなメモ。 yum repos dag追加。 yum install python-setuptools subversion mod_dav_svn rpm rpmfind.net から python-genshi のdagなrpm拾って…

勝手にレス>Test::Baseのyamlフィルタで空配列を作るときの動作が理解できない

http://d.hatena.ne.jp/foosin/20090416/1239903771 ~~ snip ~~ __END__ === 1st --- i --- e [] YAML Error: Expected separator '---' Code: YAML_PARSE_ERR_NO_SEPARATOR Line: 1 Document: 2 at /usr/lib/perl5/site_perl/5.8.5/YAML.pm line 33 # Looks…

Gearman::Worker と Parallel::Prefork の組み合わせ

こちらを参考に。 use strict; use warnings; use Gearman::Worker; use Parallel::Prefork; use Storable qw( thaw ); use List::Util qw( sum ); use Perl6::Say; sub MaxRequestsPerChild () { 60 } my $pm = Parallel::Prefork->new({ max_workers => 3,…

Class::Componentのメモ

C::C::Component::Plaggerizeをつかったアプリで、__PACKAGE__->load_pluginsしたプラグインのinitから$context->confが使えなくてdieしたので、初期化シーケンスを調べてみた。 ほんとはこんなに単純ではないんだけどね。 newが呼ばれると、NEXTでさかのぼ…

配列のデリファレンスが解せん

my $hoge = {}; # 1 my @arr = @{ $hoge->{foo} }; # 2 @{ $hoge->{foo} } = qw/aa bb/; 1は死ぬけど、2は大丈夫なのな。

自転車のクランクを交換

ボトムブラケットが寿命を迎えたため、ボトムブラケットと、あとついでにオクタリンクから、ホローテックⅡ(互換)仕様に変更するためにクランクも交換しました。 BBは評判の良いToken製。クランクはFSAのteam isuue carbonです。 訳あって、チェーンリング…

追記 完全版

↑のコードだと不完全ですよう、とトラックバックを頂いたので、実際業務で使ったコード(の該当ロジック部分を抜粋)を晒しておきます。入力文字コードのチェックが厳密になっています。あと、splitを12でlimitしたことで更に40%位(うろ覚え)早いです。 リファ…

webalizer用ログのデコード

今時webalizerを使っている人がどれだけいるのか知らないけど、仕事でデコードロジックを最適化する必要があったのでベンチマークを晒しておきます。 webalizerに食わせる前に、apacheログのURLをアンエスケープして、特定のエンコードに変換するというもの…

screenを一個attachする

複数のターミナルを開いて、さらにそれぞれのターミナルでscreenを複数開いて作業をするというのが、僕の基本的な開発のスタイルです。 作業を中断するときにはdetachして、再開するときに、detachしておいたscreenを再度ターミナルでattachするということを…

Class::Component の run_hook にPlaggerライクな rule をかます(その2)

昨日の続き。 今回は新たに定義したRuleHookアトリビュートを使ってruleをかませました。こっちのほうが、run_hookを上書きすることも無く、フレームワークとして綺麗ですね。 他にもいい方法あるかな?変更点は… package Naoya; use strict; use warnings; …

Class::Component の run_hook にPlaggerライクな rule をかます

技術ブログのつもりではじめた日記だけど、自転車と日々のことをだらだらと綴ってばかりいるぞ! 久しぶりにperlのことを書くぞ!さて、最近Class::Componentを使ったアプリを作ってるんですが、Plaggerみたいにrule使いたいなーと思って頑張ってみました。 …

両目に戻りました

持病の円錐角膜のせいで角膜の先っちょが傷で白濁してしまい(以前からたまになった)、コンタクトレンズを片目だけ2週間強はずしてました。 痛みは引いたのに全然白いのが取れないので、本日ようやく病院へ行ってきて結果的には復活したんですが、その診断…

ハンコックすげ

すごーく久しぶりにこれ聴いたら、むちゃくちゃカッコよかった。 サントラ好き、プログレ好き、フュージョン好き、皆満足する内容だと思う。誰か買って感想聞かせろ*1。Death Wishアーティスト: Herbie Hancock出版社/メーカー: Sbme Import発売日: 2003/12/…

ラマの糞切れについて

さっきラマが3分以上糞をきばってた。こんな長時間糞きばる犬初めて見たぞ。 ラマももう糞ギレが悪くなるお年頃なんだなぁ。 ウンコに血がついてたな。痔か?

syslog-ng.confのテンプレ

時代はrsyslogという噂もありますが、僕はsyslog-ngで当分がんばっていくことにしました。 で、最初、syslogからngに移行したときに一番厄介だと思ったのが、confの書式。 色々できるのはいいんだけど、綺麗に書かないと可読性がすぐに悪くなるんだよね。漫…

紅葉サイクリング

最近全然自転車乗ってなかったので、紅葉狩も兼ねてオリャっと山へ出かけてきました。 大した下調べもせずにコースを選定したので、山ばっかり100キロ以上走る羽目になり死ぬかと思いました。 しかし、紅葉は素晴らしかったです。人生紅葉ベスト5にはいるん…

やばい日記かいてない

ひと月書いてない。 なんとなくこのまま更新止めてしまいそうなので適当なエントリをあげておこう。戸塚区のマスコットがかわいい。これ採用した役人偉い。 http://www.city.yokohama.jp/me/totsuka/kusei70/eventkikaku/maskot.html 昨日は久しぶりにメトロ…