タグ

ブックマーク / hiroakis.com (12)

  • ウチの監視システムの変遷について書く | Ore no homepage

    今、リアルタイムでは休暇中でフランクフルト経由ベルリン行きの飛行機の中にいる。暇すぎる。うちの会社、ってかトレタの監視系の変遷について書く。でも絵を描く気力はないので文字のみ。 今の状況です ルフトハンザは日線は軽の時間に ONIGIRI が出てくるので結構好きな航空会社です。休暇中なのにラップトップ持ってくのはプロ社畜の証。まあ今会社で裏側見てるのが俺しかいないので、エエ…。しかし世の中ホント便利に便利になってる。空の上でもインターネットができる。言い方を変えると空の上でもアラートが届くっていう…。飛行機の中は暇すぎるけどさすがに仕事はしたくないね。というかこの旅行中は仕事を忘れたい。 2014/10以前 俺が入社する前。 コア機能:Engineyard(OS: gentoo)。 プロセス異常監視、閾値監視など:monit エラートラッキング、レスポンスタイム、SQL:NewReli

    ウチの監視システムの変遷について書く | Ore no homepage
  • chefを捨ててシェルスクリプトにした | Ore no homepage

    一部のサブシステムの構築で、プロビジョニングツールを捨ててみた。じゃあどうするのかというとシェルスクリプトでやる。今回はこのやりかたが一番楽できるような気がしたので試している。 具体的にはPackerからシェルスクリプトとServerspecを実行してAMIを煮込む。おいしくできあがったらそいつから構築。もしミドルウェアより下の層のコンフィグ類に変更があったらまた煮込む。構築する。新しい方に切り替える。つまり”捨てるインフラ”にする。 プラットフォームはAWS。 (追記)ちなみにchefなどのプロビジョニングツールがめんどくさいからシェルスクリプトにしたというよりは、捨てる前提のサーバだからシェルスクリプトでの構築も選択肢として出てきたということです。ただ自分個人の嗜好としてchefはもう飽きたというのも事実です。なお、オンプレだと同じサーバで継続してプロビジョニングすることになるのでch

    heavenshell
    heavenshell 2015/04/24
    シェルスクリプトなら sunzi を使うのがお勧め
  • vm.swappiness=0は重要 | Ore no homepage

    あるMySQLサーバのロードアベレージが妙に高いなーと思って調査したらスワップしてるじゃありませんか。 同時期に構築した他のMySQLサーバ群の設定と見比べてもおかしいところはないし、topを見ても怪しいプロセスはいなかった。空きメモリも余ってるし・・・。 さらに調査を進めたらこのサーバだけvm.swappiness=0の設定が漏れていました。そういえばこのサーバ、他人に構築を依頼したものだった。人さまに頼んだ仕事はちゃんと事後確認しないとなー。 で、このvm.swappiness=0、DBサーバのときはいつも必ず入れるようにしているんですが、正直今までは「おまじない」としか思ってませんでした。しかし今回の設定ミスのおかげでだいぶ意味があるものだとわかりました。ちなみにvm.swappiness=0の効果なんですが、実メモリを使いきるまでスワップしなくなります(デフォルトはvm.swapp

  • Riak 06 バックアップ/リストア | Ore no homepage

    HW障害か何かでノードがぶっ壊れて、置き換え用の新しいノードを故障したノードと同じIP/同じname(vm.argsの-name)で構築するようなケース。 新しいノードにRiakインストール 新しいノードに、バックアップからデータ、リング、コンフィグ(/var/lib/riak/bitcask(lebeldb), /etc/riak/*, /var/lib/riak/ring)を戻す。 新しいノードのRiak起動。 で、おk。 2.2 別のノードにデータを移す場合 別に用意したサーバにデータを移したいケース。もしくはぶっこわれたノードを置き換えるときに、事情があって同じIPにすることができないようなケース(DHCPでIP振ってるときとか)。 新しいノードにRiakインストール 新しいノードに、バックアップからデータ、リング、コンフィグ(/var/lib/riak/bitcask(lebel

  • Riak 03 クラスタ構築 | Ore no homepage

    ちなみに、もしデフォルトの「riak@127.0.0.1」で起動してしまった場合は、vm.argsを編集した上で次のコマンドを叩いて、リネームした旨をクラスタに通知してやらなアカンらしい。このreplaceコマンドは、ノード置き換えのときなどにも使うっぽい。 # リネーム /usr/sbin/riak-admin cluster replace riak@127.0.0.1 riak@xxx.xxx.xxx.xxx # 確認(このフェーズは省略できない) /usr/sbin/riak-admin cluster plan # 実行 /usr/sbin/riak-admin cluster commit

  • Riak 05 システムプランニング | Ore no homepage

    ハードウェア層 OS層 クラスタの留意点 負荷分散 ベンチマーク BitcaskとLevelDB コンフィグファイル スケールアウトとスケールアップの手順 運用上の注意点 64ビットCPUアーキテクチャ 最低4GBのメモリ。メモリは最も重要。局所性を活かせるのであれば多くメモリを必要としない。 RAID0、SSDを考慮すると良い。IOバウンドになりがちなので。 ミラーリング(RAID1)は考えなくて良い。 RAID(RAID1?)はやめちゃいな(クラスタ組んでるしいいんじゃない?的な?)。 ディスクサイズ重要。 ギガビットイーサも考慮にいれて。ネットワークも使うよ。 仮想マシンを使う場合は一番良いインスタンスを使う。同じデータセンタ/リージョンに配置するようにする。 クラスタ全体で必要なディスクサイズは次のように計算できる。 オブジェクト数 * 平均オブジェクトサイズ * n_val 50

  • OSXのdashboardを使うと監視が捗るかもしれない | Ore no homepage

    今教えてもらった。知らなかった。もしかしたらちょっと便利かもしれない。 サファリでmuninとか開いて「ファイル」 ->「Dashboardで開く」を選択する。 で、選択して、追加をクリック。 するとこんな感じで、ダッシュボードで見れるようになる。ついでにアメッシュも表示させてる。よく見るグラフをダッシュボードに入れておけば、四指スワイプで「シュッ!」で見れるようになる。 おわり

    OSXのdashboardを使うと監視が捗るかもしれない | Ore no homepage
    heavenshell
    heavenshell 2014/11/07
    これは便利だ。
  • 監視システムをSensuに刷新した | Ore no homepage

    データベースが落ち着いているので、その間に別のことに着手。 チームの監視システムがmonっつー超レガシーシステム。知っている人もいるかもしれないが、monはperl製のシンプルな監視システム。古くからあるものなんだけど「mon perl」で検索すると「もしかして: man perl」とgoogle様にも何だっけソレ?と言われてしまうかわいそうな奴(「mon monitoring tool」だとちゃんと出てくる)。なのでまあこの際だから俺が葬り去ってやる。導入したSensuのバージョンは0.12.6。GW前くらいから運用しているが今んとこ問題ない。まだ運用期間短いね。 割と長文になっちまったので、目次をば。 0. sensu概要 1. なぜsensu? 2. インストール 3. コンフィグの配置 4. プラグインについて 5. API 6. デバッグ 7. 今後の展望 0. sensu概要

    監視システムをSensuに刷新した | Ore no homepage
  • serverspec インフラ層のテスト項目を考える | Ore no homepage

    最近は担当システムが平和だけど俺が平和じゃない。疲れてる。忘年会の連チャンもきっついトシになっちまった。会社の制度で1週間くらい休みがとれるので、一人で温泉とスノボと開発合宿でもしに北海道にでも行こうかなって思ってる。1月か2月くらいに。 えーと、担当しているサービスにserverspecを導入した。それにあたってテスト項目を考えたので軽くまとめる。もちろんserverspec導入前もサーバ構築後は動作確認というか、テストらしいことはしていたっちゃしていたんだけど、テスト項目をまともに考えたのはこれが初めてかもしれない。serverspecのバージョンは0.13.2である。Rubyは2.0.0。 0. 環境 下記のような環境に導入した。ありふれた構成だと思う。60台くらいの規模。DBはマスタ3台に分割されていて、それぞれにスレーブがn台ぶらさがっている。LBの箱は二つあるが、物理的には1台

  • 開発支援系のサービスが充実しすぎて転職か廃業を考えた | Ore no homepage

    なんて表現したらいいかわかんなくて、開発支援系サービスって謎表現したけど…。なんつーか、開発支援向けのサービス?クラウドってやつ?ってかいわゆる外部がやってくれる系のサービス(モニタリング/ホスティング/etc)が充実してますよね。んで、一介のWebエンジニアのおれがこの先生きのこるにはどうするかを真剣に考えていたところだった。きのこ。何割かはネタ。 思いついたものを挙げてみる。AWSGitHubは割愛。言うまでもねーだろ…。 New Relic http://newrelic.com/ 有名なNew Relic。これも説明するまでもないかな。今のチームでコレのお金払う版を使ってるんだけど、「外部APIとの通信個所とDBとの通信個所が遅いように思えるので調査しますわ」→「それNew Relicで見れるよ」とか「各テーブルへのアクセス頻度集計しますわ」→「それNew Relicで見れるよ」

  • MySQL バイナリログを使ったデータリカバリ | Ore no homepage

    目黒川の桜きれいですね〜(*^^*)…なーんてガラじゃないことを言いたくなるくらい良い咲きっぷりでしたよ、エエ。で、来週末、花見に行くんだけど、まだ散らないでほしいっすねー。 えーっと、久しぶりにMySQLの記事。binlogを使ったリストア手法について。ネットを漁るとMySQLの運用に関する記事は多くヒットするんだけど、障害からのデータリカバリ、特にロールフォワードを扱った記事が思ったより多くない。おれは運が良いのか悪いのかMySQLのデータリカバリをしなければならないような局面に何度か直面しているので、手順について書いてみようかな、と。ここではMySQL〜5.5を対象にしている。直近での最新のメジャーバージョンはMySQL5.6なんだけど、おれはまだ5.6について大して知らない。5.6ならもっとイケてるやりかたがあるかもしれない。あったらいいな。 0. 環境 次のような環境を前提として

  • tcpflow: httpレスポンスボディをリアルタイムで見たいとき | Ore no homepage

    tcpdumpの表示では見にくいし、pcapをいちいちwiresharkにわせてfollow tcp streamするのは面倒。そんなときに使えるツール。 (1) tcpflow tcpflow(最新はgithubかな) http://www.circlemud.org/jelson/software/tcpflow/ https://github.com/simsong/tcpflow (2) インストール 自分のメモをペッと貼付けただけなので、バージョンやダウンロード先は適当に読みかえてください。 yum install libpcap-devel wget http://www.circlemud.org/pub/jelson/tcpflow/tcpflow-0.21.tar.gz tar xvfz tcpflow-0.21.tar.gz cd tcpflow-0.21 ./con

    heavenshell
    heavenshell 2012/10/11
    tcpflow
  • 1