サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
spring-mt.tumblr.com
リソース監視はちゃんとしないとと思って、gangliaを入れてみました。 gangliaに関しては、 クラスタリングできる一覧性が優れてるプラグインがそれなりに豊富Nagiosとの連携が取りやすそうyumでサクッと入れられる(fedora16の場合)ってことで試用してみました。 gangliaは日本語のドキュメントがなくて大分苦労しました・・・・ ganglian自体の概要は@yuzorockさんのスライドに詳しく載っています! CloudForecastも考えたのですが、fedora16でうまくperlのモジュールが動かず断念しました。 構築今回、監視+表示をするサーバーをホスト、監視される側のサーバーをクライアンとします。 gagliaはホストでgmetadとgmond、クライアントでgmondのデーモンを動かす必要があります。 ホストサーバーでマルチキャスト通信を使う場合はNICが2
ログのバックアップをfluentd経由でs3に転送するようにしたのですが、time_slice_format %Y%m%dにしてても、一日に複数ファイルが生成されていました。 こんな感じ 原因がよく分からなかったのでtwitterでつぶやいてみたら、@frsyukiが返答してくださいました! twitterでのやり取りはこちらにまとめました。 fluent-plugin-s3で、time_slice_format %Y%m%dにしてても、一日に複数ファイルがでてくる件解決策↓のように、buffer_chunk_limitを大きい値で設定すればOKでした。 原因原因は、buffer pluginで指定される、buffer_chunk_limitがデフォルトの8M(2012/11/27現在)だったためです。 chunkは一時的なデータの格納場所で、fluent-plugin-s3ではbuffe
preforkでテストしました。 yumでインストールした状態で使ってます。 最後にテスト用のconfをincludeしています。 httpd.confKeepAlive Off 〜 StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 〜 Include /home/homepage/hello_world_rack/hello_world_rack_apache.conf hello_world_rack_apache.conf passengerのテストの場合は、VirtualHostまで使ってます。 unicornをテストする場合は、VirtualHostまでをコメントアウトし、ProxyPassのところのコメントアウトを
centosには1.9系のsrc.rpmがなかったので( ここ ) Fedoraのruby-1.9.3.194-10.1.fc17.src.rpmを参考にしました。 下記の通りにrpmの中身を取り出しました。 # wget "http://ftp.riken.jp/Linux/fedora/releases/17/Fedora/source/SRPMS/r/ruby-1.9.3.194-10.1.fc17.src.rpm" # rpm2cpio ruby-1.9.3.194-10.1.fc17.src.rpm | cpio -id この中で、BuildRequiresは下記の通りでした。 BuildRequires: autoconf BuildRequires: gdbm-devel BuildRequires: ncurses-devel BuildRequires: db4-deve
macにgitを入れて、 $git config --global color.ui true したら、↓みたいにgit diffとかが表示がおかしくなった >_< $ git diff ESC[1mdiff --git a/.bashrc b/.bashrcESC[m ESC[1mindex c435c21..6875272 100644ESC[m ESC[1m--- a/.bashrcESC[m ESC[1m+++ b/.bashrcESC[m ESC[36m@@ -25,3 +25,6 @@ESC[m ESC[melseESC[m :ESC[m fiESC[m ESC[m ESC[32m+ESC[mESC[32m# rvmESC[m どうも、ANSIエスケープシーケンスがそのまま表示されてしまってる様子なので、 下記のようにpagerのlessにRオプションをつける。 $ git c
LVMでファイルシステムを構築しておいたのですが、 /配下の容量が少かった+/home_配下が余っている状況だったので(この構成がいいかは別として)、 /配下の拡張と/home/配下の削減を行いました。 かなりすんなり進んで、LVM便利だなーって実感しました! まずは自分のマシンの調査からファイルシステム# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg_foo-lv_root ext4 50G 20G 28G 43% / /dev/mapper/vg_foo-lv_home ext4 411G 9.1G 382G 3% /home ファイルシステムはext4PV(物理ボリューム)一部省略しています# pvdisplay --- Physical volume --- PV Name /dev/sd
git をhomebrewでupdateしようとしたらこけたので、解消方法をメモ程度に残しておきます。 結構いるっぽい。 * brew updateしてみる$ brew update error: The following untracked working tree files would be overwritten by checkout: .gitignore Library/Aliases/0mq 〜〜 Library/Formula/apgdiff.rb Library/Formula/aplus.rb Library/Formula/app-engine-java Aborting Error: Failure while executing: git checkout -q master エラーがでた・・・ * brew doctor$ brew doctor /usr/
2013/6/15 〜 2013/6/16でTDDBC Fukuoka 2013を開催しました。 TDD Boot Camp Fukuoka 201323人参加のうち5人が学生という、自分が開催した勉強会では珍しい会となりました! まとめTDDBC Fukuoka 2013 1日目のつぶやきのまとめTDDBC Fukuoka 2日目のつぶやきのまとめTDD Boot Camp Fukuoka 2013/1日目KPTTDD Boot Camp Fukuoka 2013/2日目KPTTDDBC FukuokaのFBグループ今回は主催者ということで、コード殆ど書いてないですが振り返りを。 主催者としての振り返りKPTで出てきた部分は除いており、個人的な振り返りです。 立地、電源やネット環境等も鑑みると、会場は大分いいところを用意できたかなと思ってます。色々なところで和田さんに頼りすぎてしまった感
“永遠の新人"Spring_MTです。 MySQL Casual Advent Calendar 2011 - MySQL Casualの23日目の記事を書かせて頂きます。 自分でmysqlのレプリケーションって設定したことがなかったので、 ローカルのマシン一台(Mac Book Air)でカジュアルにできないかなと思ってやってみました。 予め、mysqlはhomebrewでinstallした状態からスタートしてます。 一台で複数のMySQLインスタンスを起動させるまずは、二つのMySQLインスタンスを立ち上げます。 今回はmysqld_mutiを使ってみました。 4.8.3. mysqld_multi(複数の MySQL サーバを管理するプログラム) /etc/my.cnfを作る内容はこんな感じです。 mysqld_multi –exampleとかやると、/etc/my.cnfのサンプル
fluentdからアラートメールを送りたかったのですが、メールサーバー立てるのが面倒だったので、AWS SESのoutput pluginを作ってそれから送るようにしました。 SpringMT / fluent-plugin-ses Githubfluent-plugin-ses RubyGems.org使い方confの書き方conf説明
サーバーの容量が逼迫してきたので、ログファイルを削除するスクリプトを書いたら、 先輩からtmpwatch使えばと指摘され・・・スクリプト全然いらなかったorz tmpwatch便利です!!! tmpwatchで不要なファイルやディレクトリを削除tmpwatchコマンドコマンドの/usr/sbin/配下にあります。 使い方は下記の通り。 $ tmpwatch [option] [hours] [dirs] dirsの指定にはワイルドカード(*)が使えます。 基本的に空dir、ファイル、シンボリックリンクを削除するそうです。 root のファイルは消さない、シンボリックリンクをたどって削除することもないそうです。 When changing directories, tmpwatch is very sensitive to possible race conditions and will
Macのローカルでrailsの開発をしていてrspecを走らせたら、急にこんなエラーが、、、、 /Users/hoge/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.0/lib/rspec/core/metadata.rb:30: in `expand_path': Too many open files - getcwd (Errno::EMFILE) で、twitterでつぶやいたら、、@tomotaka_itoさんから下記replyが! @Spring_MT OSが一度に開けるファイルディスクリプタの数が頭打ちになってる系だったりしませんか。linuxだとsysctlかなんかで変えられたような気がします。bit.ly/MkJQay
2013/03/16に開催されたTDDBC Tokyoに参加してきました。 主催の@katzchangさん、会場を提供してくださったVOYAGE GROUPさん 本当にありがとうございました! 作業お題はこちら tddbc_tokyo_20130316当日自分が書いたソースはgithubにあげてあります。 tddbc_tokyo_20130316ruby2.0+rspecで書いています。 一応travisにも対応しています。 振り返り今回の課題はLtsvを扱うモジュールの実装でした。 この課題では"テストが、実装するメソッドに依存してもいいのか"ということに悩みました。 メソッドAのテストを書くためにはメソッドBを使うと簡単に書ける、逆も同様。 自分はテストは実装する他のメソッドに依存しないようにテストを書くようにしているのですが、今回はペアプロしていてそこを突っ込まれてどうしたものか悩み
2013/02/15に開催されたFluentd Casual Talk #2で"fluent-plugin-resque_statを作ってみた"というお題で発表してきました。 fluent-plugin-resque_statの話はほとんどないですwwww トークの流れ的にtagomorisさんをdisった感じになってしまった。。。(まあウケたしいいか) 内容は、out_execとかで外部のスクリプト呼び出す位なら、プラグインにしてテスト書こうよ!ってお話です。 その他@sonotsさんのお話でmina使ってて、結構簡単に扱えるとのことなので、ちょっと試してみようかなと思ってます。 haikanko githubに出して欲しいっす! @angostura11さんの話は復習したいので、スライドあがらないかな。 正直esperあんまりよくわかってない。。。 あと、fluentdと全く関係ないで
全文検索エンジンとしてmroongaを使おうとインストールしてたら盛大にはまったのでシェア mroongaとはgroongaの特徴環境環境は下記の通り MySQLインストールremiリポジトリからインストールしています。 ここまでは普通 groongaインストールマニュアルにあるとおりにインストール 2.5. CentOS groonga v2.1.1ドキュメント ここまでは順調 mroongaのインストールMySQL 5.5系を使うので、mroongaはソースからインストール まずはマニュアル通りに ビルド自体がこけて、ここで一つ目のエラー で、MySQLのinclude/probes_mysql.hをみてみると、 ってあるので DISABLE_DTRACEを指定して再度ビルド で今度はビルドはできたが、プラグインをMySQLにインストールする時にコケた。。。 このことtwitterで呟
ログにホスト名を入れたかったので、rubyのコードの中に、 `hostname`.chomp って書いて、アクセスがある度に実行するようにしたら大変なことに、、、 今は、一回だけ実行すれば済むようにコード修正しています。 で、ちょっと気になってホスト名取得のベンチを取ってみました。 スクリプト 結果ローカルのMBA$ ruby hostanem_vs_uname_vs_gethostname.rb user system total real hostanem 0.080000 0.610000 2.220000 ( 2.689032) uname 0.090000 0.670000 2.600000 ( 3.077218) gethostname 0.000000 0.000000 0.000000 ( 0.001717) AWS EC2 medium instance$ ruby ho
rvmやめてrbenvにしました。最初はrvmつかってけど、rvmが重厚でそんなに機能にいらないと思ったので、軽量で扱いやすそうなrbenvを使ってrubyを入れなおしました。 rvmはcdコマンドとかを上書いているのとかも気持ち悪かったです。。。libyamlが入って無い場合は予めhomebrewで入れておいてください。ruby-1.9.3を入れる場合は必須です。無いと再度rubyをコンパイルすることになります >_<作業手順$ rvm implodebashrc bash_profileから設定を消す$ source .bash_profile これ忘れるとcdコマンドでwarnが出る!$ git clone git://github.com/sstephenson/rbenv.git .rbenv$ echo ‘export PATH=“$HOME/.rbenv/bin:$PATH”
2012/12/1に福岡Ruby会議01を開催しました! 言い出した時はどうなることかと思いましたが、なんとか最後までやり切ることができました。 (当日は開催前に全滅の恐れがありましたが。。。) 東京から@kakutaniや@yotii23が参戦してくれたり、県外からの参加者がいたりで本当に盛り上がった会議になったと自分では思っていますwwww! スポンサーの皆様、会場を提供してくださったGuildCafe Costa様、本当に有り難うございまいした! (皆さんブログで紹介してもらえると嬉しいです!!) スポンサー 日本Rubyの会GaiaX10xlab会場 GuildCafe Costa / ギルドカフェ コスタ当日のタイムテーブルはこちら 福岡Ruby会議01福岡Ruby会議のtweetまとめ #fukuokark01 のまとめFukuoka.rbのロゴはこちらにあげてあります。 自由
macにgitを入れて、 $git config --global color.ui true したら、↓みたいにgit diffとかが表示がおかしくなった >_ $ git diff ESC[1mdiff --git a/.bashrc b/.bashrcESC[m ESC[1mindex c435c21..6875272 100644ESC[m ESC[1m--- a/.bashrcESC[m ESC[1m+++ b/.bashrcESC[m ESC[36m@@ -25,3 +25,6 @@ESC[m ESC[melseESC[m :ESC[m fiESC[m ESC[m ESC[32m+ESC[mESC[32m# rvmESC[m どうも、ANSIエスケープシーケンスがそのまま表示されてしまってる様子なので、 下記のようにpagerのlessにRオプションをつける。 $ git co
今開発中のサービスにおいて、enqueueの部分でfluentdを使っているので、その部分を紹介しようと思います。 このエントリはウィークリーFluentdユースケースエントリリレーの参加エントリです。 前提条件全てのappサーバーのローカルにfluentdが立ち上がっているキュー処理には、redisをバックエンドに使ったresqueを使用fluentdからresqueにキューを送るプラグインは、@hotchpotchさんが書かれたfluent-plugin-resqueを使用キューはローカルのfluentdに一旦投げて、それからredisに投げるようにするfluentdを採用した理由fluentdを採用した理由は主に2つ。 キューを分散させたり特定のキューだけ別のサーバーに振り分けたい場合、tagで振り分け可能rescue用のredisへのretry処理を肩代わりしてくれるもちろん、ロー
isucon2に参加しました。 まずは、NHNのisucon2のスタッフの皆様本当にお疲れ様でした。 めっちゃ楽しめました。 今回、チームFukuokaとして、@matsukena、@matsuman、@Spring_MTの三人で参戦しました。 ちなみに、この三人全然別の会社に所属してますwww チームFukuokaでどんな感じでisucon2を戦ったかをまとめます。 セットアップ 〜 12:00まずは、 revでgit init各サーバーにkeyを設定hostsの設定dstatインストールDBを全部dump + appのバックアップ取得をして、あとは各サーバーのもろもろ確認。 CentOS release 5.8 (Final) Server version: 5.5.28-log MySQL Community Server (GPL) perl v5.16.2だったと思う。。。 ru
dumpの性能試験をしようと思って、MySQLにダミーデータを作る方法を探していたのですが、あまりいい方法が思いつかず、#mysql-casualのチャンネルで聞いて見たところこんな感じになりました。 LOAD DATA INFILE@karupanerura さんから教えて頂きました。 最初にデータ作成すれば高速に動きそうです。 今回はテストしてないです >_ LOAD DATA INFILE 構文INSERTINTO hoge SELECT * FROM hoge; を繰り返す@fujiwara さんに教えて頂いた方法です。 試してみたところ、お手軽でした! スキーマ (pkeyなしというありあえないテーブルで試しています>_ 1280000 rows作るのに1分かかってないです! @fujiwara++ 追記 pkeyの重複が起こる場合は、insert into hoge (pkey
ベンチマークを取るテーブルと、発行するクエリーテーブルは下記の通りです。 CREATE TABLE `seq_myisam` ( `id` bigint(20) unsigned NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; INSERT INTO seq_myisam values (1000000); CREATE TABLE `seq_innodb` ( `id` bigint(20) unsigned NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; INSERT INTO seq_innodb values (1000000); my.cnfは下記の通り [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock
Twitter: @Spring_MT あべこべな毎日 If you need English, please send message by Comments.
まだローンチ前なので構築していない妄想の部分もあります。 自分のメモ & まとめは下記の通り AWSを使う場合は、開発力が必要。ペパボではwrapper等結構開発している感じjenkinsの使い道はtestだけじゃない。(Gemfileのcommitをフックにして、systemで使うrubyをtar ballに固める、サーバーリストからdeploy)appのrubyとsystem rubyは分けて管理 systemのrubyにはresqueやfluentdのpluginとかを含めておき、tar ball化して管理system ruby は rbenvで管理 & /usr/local/rbenv/配下に置くサーバーが複数台になった時点でyumレポジトリ立てた方がよいMySQLのserver-id はIPアドレスでOK ipaddress[/\d+.\d+.\d+$/].gsub(/./, “
今度はcentosで必要になったので、centos用のrpmを作ってみました。 (nginx、redisともにyumにはありませんでした。) 今回作ったrpmはgithubに公開しています。 10xlab / rpms準備作業は全てrootユーザーで行いました。 今回centos6.2 x86_64用のrpmを作ってます。 1 rpmの作成にはrpmbuildを使うのでrpmbuildをインストール # yum install rpm-build centos6.2だとインストール先は下記のようになります /root/rpmbuild/SOURCES : ソースコードの置き場所 /root/rpmbuild/SPECS : rpm作成ファイル (specファイル) /root/rpmbuild/RPMS : rpm出力先ディレクトリ redisのrpm作成1 前準備 # cd /root/
次のページ
このページを最初にブックマークしてみませんか?
『spring-mt.tumblr.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く