タグ

ブックマーク / dsas.blog.klab.org (5)

  • DSAS開発者の部屋:ネットワークパケットを覗いちゃえ

    レイヤを問わず (ethernet から HTTP や SMTP まで) 、ネットワーク絡みのトラブルシューティングや挙動の確認をするときにパケットの流れが見られると非常に有益です。 開眼すると「パケットの流れが目で見える」そうですが、私などはまだまだ修行が足りず裸眼では見えないので、tcpdump というツールを使って見ています。 tcpdump はその名前があまりよくないと私は思っていて、"tcp" だけでなく udp やICMP や ethernet フレームまで覗ける超強力ツールです。 というわけで tcpdump の簡単な説明を書いてみます。 tcpdumpについて tcpdump は UNIX 系の OS で使えるツールなのですが、Windows 用にはWinDumpという CUI のツールがあり、tcpdump と同じように使えます。 GUI がお好みの方は、後でも紹介するE

    DSAS開発者の部屋:ネットワークパケットを覗いちゃえ
  • こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋

    前回までで、 複数のWebサーバにロードバランスする というところまではできました。 これでリアルサーバへ負荷分散することができたのですが、冗長性がありませんでした。つまり、リアルサーバがダウンしても、ロードバランサはそれを認識できず、ダウンしているリアルサーバなのにパケットを送ってしまっていました。 このとき、クライアントから見ると、たまにサーバから応答がないように見えてしまいます。 というわけで今回は冗長化のお話、 リアルサーバのヘルスチェック を紹介したいと思います。 今回はkeepalivedを使います。 おおざっぱにいうと、keepalivedは2つの機能を提供します。 1. ヘルスチェック機構と連携したIPVSでのリアルサーバの管理 (--check) 前回ipvsadmコマンドを使って行ったような、バーチャルIPアドレス (VIP) やリアルサーバの管理を設定ファイルに記述す

    こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋
  • Linuxでクラッシュダンプを採取(3) 〜 クラッシュダンプは何故とるの? 〜 : DSAS開発者の部屋

    この数日間、Linux でクラッシュダンプを採取する方法について検証していますが、そもそも何故クラッシュダンプを取る必要があるのでしょうか。目的を見失ってしまうのは寂しいのでこのへんで少し確認しておきたいと思います。 ・不具合の原因を解析できる これを聞いて「ええええっ・・」って思う人もいるでしょうね。 原理的には可能だとわかってはいても、実際にやるには気力と根性と感性と時間が必要です(笑) そんな私も「Linuxカーネルの解析ができますっ!」なんてとても言えたものではありません。 それなのに何故クラッシュダンプを採取しようとしているか・・・ それは ・問題発生時に動いていたプロセスを知ることができる ・問題発生時にオープンしていたファイルを知ることができる ・問題発生時のロードアベレージなどを知ることができる ・問題発生時のログを採取することができる ・問題を引き起こしたプロセスが特定で

    Linuxでクラッシュダンプを採取(3) 〜 クラッシュダンプは何故とるの? 〜 : DSAS開発者の部屋
  • DSAS開発者の部屋

    12/27 から年末年始をはさんだ5日間で、技術系インターン「KLabサーバーサイドキャンプ」を開催しました。 今春3月に第2回も企画しているので、 その宣伝も兼ねて開催報告をします。 (尚、エントリー最終締切日が1/24(月)に迫っているので興味を持って頂けた方はお早めにご応募ください) キャンプの目的 このキャンプは、主にこれから就職活動を始める学生を対象にサーバーサイド開発を体験してもらい、今後の進路を考える上で参考にしてもらうことを目的としています。 そのため、Pythonでのある程度のプログラミング経験は前提としつつ、SQLやSSHなどを触ったことがない方でも参加できるように講義や課題を準備していました。 キャンプの内容 題材として、実際に遊べるリズムゲーム音ゲー)を用意しています。 このゲームにはユーザー登録機能と、複数人で同一曲を同時にプレイする機能があります。この2つの機

    DSAS開発者の部屋
  • Windows仮想プリンタプログラムを作ってみる : DSAS開発者の部屋

    普段よく使っているソフトウェアであっても、どういうしくみで機能を実現しているのかよくわからないものが結構あります。 筆者は主に Windows 環境で作業をしていますが、PDF ファイルを作成するたびに目にする「仮想プリンタ」もそのひとつでした。 システムは物のプリンタだと信じているのに実はそれはソフトウェアへのインターフェイスにすぎず、印刷ジョブを渡したら最後、データは隅から隅までなめまわされ好きなように処理されてしまう。ということは、その気になればあんなことやこんなこともできてしまうはず・・・。 あらためて考えてみるとなかなか面白い話なので、仮想プリンタのしくみを調べて何かプログラムを書いてみたいと思いました。 手はじめに、定番の題材として所定のドキュメントを PDF や画像に変換しファイル出力する仮想プリンタを作ってみることにしました。 ひとつの仮想プリンタを自作のコードで構築し、

  • 1