notebook

都内でWEB系エンジニアやってます。

2014-01-01から1年間の記事一覧

awkでカジュアルなログ集計

awkでワンライナー( ログ集計 ) ちょっとしたログを集計したりする場合に、いちいちスクリプト書いて実行するのはめんどうですよね、そこでawkの出番です。 シェルコマンドと組み合わせて割と簡単に集計ができます。 いつも書き方忘れていちいち調べてるので…

fluentd + dstat + growthforecastではまったところ

fluentd + growthforecast + dstat AWSの環境だとcloudwatchは2週間しかデータもてないので長期的にグラフが見たい場合に困ります そこで、お手軽にできそうなfluentd + dstat + growthforecastを試してみようってことで、そのときのメモ fluentd fluentdを…

nginxの状態を取得する

nginxの状態を取得 stub_status ちょっと前にnginxが今どのくらいのコネクション数なのかの数値を取得したいと思うことがあって、調べたところstub_statusなるものが見つかったので実際にやってみました。 まず、HttpStubStatusModuleが有効になっている必要…

ansible でgrowthforecast + daemontools

ansible でgrowthforecastを起動するまで 業務でgrowthforecastでも入れようかって話が上がってたのでちょっとやってみました。 下記を参考にしました。(というかほぼこp。。。。) Ansible で Growthforecast をインストールする方法 まるコピしたら勉強す…

memcachedでトラブル?

障害が起きた時の話 現象としては処理の詰まり 結構何度か起きていたんだけど今までは 分間2000アクセスくらい発生(MySQLの同一レコードへのupdateが発生) 同一レコードへのロックが発生してロック待ち バックエンドの同時接続数がオーバーしてアラート って…

CIDRの範囲指定

CIDRの範囲指定 CIDRについてよくググることが多いなと思ったのでメモ Net::IP CIDRに関してあれ?と思った時などに確認する時とか使えそうなコマンドが入ってるモジュール(Perl) yum でもインストールできるよう yum install perl-Net-IP とても便利 ipcoun…

mysqlのレプリケーション

MySQLのレプリケーション設定 基本的なレプリケーションについて、master-slave1台づつの構成をサンプルにしてます。 master(192.168.1.11) slave(192.168.1.12) masterの設定 レプリケーション用ユーザーの作成 slave(192.168.1.0/24)からserver2というユー…

fluentdでサーバ間通信

fluentdでサーバ間通信 めちゃくちゃいまさら感があるけどfluentdの勉強 今回はwebサーバ(送信側)、logサーバ(受信側)で分けてみます 構成 送信側 192.168.60.11 192.168.60.12 受信側 192.168.60.13 環境はCentOS6.4 インストール,起動 シェルスクリプト一…

ansibleを使ってみる

ansible 使ってみる 最近会社でもはやっていたのでとりあえず使ってみました。 python2.6以上があればクライアントに特別に何かインストールする必要もないみたいだし、記述はYAMLファイルだし、結構とっつきやすいのかなという印象だったので試してみます。…

シェルスクリプトで変数の値を変数として扱う

シェルスクリプトで変数の値を変数として扱う シェルスクリプトを書いていて変数の値を変数として扱いたいみたいな状況が出てきてちょっとはまったのでメモ オプションによって使う変数を変えたい場合などに有効かなと思います。 実行時にsh test.sh aaaと入…

markdownでプレゼン

markdownでプレゼン Cleaverを使ってみる Cleaverとは markdownファイルを使ってプレゼン資料にするためのツール インストール コマンド一発でインストール可能 npm instlal cleaver node.js npm が必要 スライド作成 通常のmarkdownと違うところ 最初にスラ…

vagrantでsandbox

sandbox機能 saharaをインストールする事でVMの状態を任意の状態に戻したりできるようになります。(スナップショット的な) VMだから失敗したら作り直せばいい、とはいっても色々作業して失敗したら面倒なので便利ですね。 さっそくやってみます saharaのイン…

ag.vimを使ってみる

vim

agを使ってみる ふとしたきっかけでSilver Searcherってのを知ったので使ってみました。 今までackを使っていたので1文字短縮できるぜ!とか思ったり思わなかったりw ag.vimを使ってみたかったというのが目的 vimgrepより使いやすいかなと個人的には思いま…

mod_rewriteでReverseProxy

mod_rewriteでReverseProxy reverse proxy apacheのworkerでバランサ、backendにサーバが何台かある状態でサブドメインによって振り分け先を変えたいという用件がありました。 ググると最初はVirtualHostでやるみたいなのが一般的みたいだったので僕も乗っか…

IPから国を地域を判定

IPから国を地域を判定 簡単だけど備忘録がてら.... IPをが分かっていてそのアクセスがどこのIPか知りたいみたいな案件がありました。 MaxMind社のGeoIPというものを使ってIPにひもづく国や地域の情報を取得する事が出来ます http://www.maxmind.com/ 今回は…

proverc

.proverc plenv環境でテストする際にperlコマンドだとテストが通るのにproveだとモジュール無いよって怒られることがありました。 perlで参照する@INCとproveで参照する@INCが違うってのが原因っぽい 該当モジュールをperldoc -lで検索しても存在するし、何…

# plenv

plenv導入 git clone git://github.com/tokuhirom/plenv.git ~/.plenv echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(plenv init -)"' >> ~/.bash_profile exec $SHELL -l git clone git://github.com/tokuhirom/Perl-Buil…

vagrantでbox操作

vagrant でboxの操作 さて、vagrant入れました、ちょっと使ってみました、ってなると今度はchefとかpuppetなどをいじってみたくなります。 ただ、自分の環境がwindows環境なので調べてみた感じ結構面倒そうな感じがしたので、とりあえずboxをごにょごにょし…

vagrant で複数VMを起動する

vagrant で複数VMを起動する vagrantで複数VMを起動することで簡単にそれなりの実験環境を作る事ができます。 これができる事で一台がWEBサーバ、もう一台がDBサーバ、のような環境が簡単に作れてしまう! vagrantで複数VMを起動するにはvagrantfileを編集し…

windowsでvagrant環境を動かしてみる

windowsでvagrant環境を動かしてみる 結構よく見かけるしググれば出てくるし思ったより簡単にできたけど一応残しておこうかと これでもう少し仕事を早く進めたい! http://kazuph.hateblo.jp/entry/2013/02/05/234243 http://d.hatena.ne.jp/naoya/20130205/…

Text::QRCodeのインストール

当たり前なはずなんだけどちょっとはまったのでメモ plenv環境でHTML::Barcode::QRCodeをインストールしようとして依存モジュールのText::QRCodeでこけた Package libqrencode was not found in the pkg-config search path. Perhaps you should add the dir…

CentOS6.4にMySQL5.6をインストール

CentOS6.4にMySQL5.6をインストール 今回はrpmで入れました wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar tar xvf MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar rpm -ivh MySQL-devel-5.6.15-1.el6.x86_64.rp…

tmuxで複数ペインに対してコマンドを送る

tmuxで複数ペインに対してコマンドを送る 最近担当サービスの本番サーバ台数が増えてきました。 リリースでの再起動だったり、調査ですべてのサーバの様子見に行ったりする事があったのですが毎回対象サーバにsshして.....っていう流れが面倒になってきまし…