Apache - みる会図書館


検索対象: UNIX MAGAZINE 1998年9月号
10件見つかりました。

1. UNIX MAGAZINE 1998年9月号

期的なポーリングを実行することが考えられる。その結果 にイ足って apache-rproxy. conf-servers テーフノレの成疋を 変更し、 kiII-USR1 によって成疋ファイルを読み込みな おし、サーバープロセスを再起動して逆プロキシーを再ス タートさせるのである。さらに、負荷によってではなく、 実際の帯域幅に応じたサーバーの運用ができれは素晴らし い。これは、不劫ゞ開発中の Apache: :SiteSwitch により可 能になるだろう。 Apache::SiteSwitch は、クライアント とサ→ヾー間の最適なバスを検索する分昔サーバーセッ ト ( 各サーバーがそれぞオリ虫自の特定インターネット・ ンクをもつ ) を実現する mod-perl べースのモジュールで ある。国際的なミラーサイトとなっている Web サイトに は、とくに興味あるものだと思う。 独ミュンヘン工科大学で計算機科学を学ぶ学生。 Apache Group と ・ Ralf S. EngelschaII リスト 6 Apache の言聢ファイル (http://www.isc.org/bind.html) [ 1 ] BIND [ 赭 U RL] FreeBSD 開発者チームのメンバーでもある。 Web サイトの負荷分散・ [ 2 ] Squid lnternet Object Cache (http://squid.nlanr.net/Squid/) [ 3 ] Netscape Proxy Server (http://www.netscape.com/comprod/server- central/product/proxy/) [ 4 ] Microsoft Proxy Server (http://www.microsoft.com/proxy/) [ 5 ] Sun Netra Proxy Cache Server (http://www.sun.com/products-n-solutions/ hw/networking/netraproxy/) [ 6 ] C isco LocalD irector (http://www.cisco.com/univercd/cc/td/doc/ prod-cat/pclocald. htm) [ 7 ] Coyote Point Systems Equalizer (http://www.coyotepoint.com/equalizer.shtml) [ 8 ] Apache (http://www.apache ・ org/) [ 9 ] Apache Reverse Proxy (http://www.engelschall.com/pw/wt/loadbalance/) @1998 , WEB Techniques (). S. A. ) WEB Techniques 1998 年 5 月号より 「 Load BaIancing Your Web Site 」 # # apache—rproxy. conf Apache configuration for Reverse Proxy Usage # server type ServerType Port MinSpareServers StartServers MaxSpareServers MaxC1ients MaxRequestsPerChi1d # server operation KeepA1ive MaxKeepA1iveRequests KeepAIiveTimeout T ime out IdentityCheck HostnameL00kups # paths tO runtime standalone 80 く NOS> く NOS> く NOS> く NOS> 10000 parameters 0 Ⅱ 100 15 400 off off files PidFi1e LockFi1e ErrorLog Cust omLog /path/to/apache—rproxy ・ pid /path/to/apache—rproxy ・ lock /path/to/apache—rproxy ・ elog /path/to/apache—rproxy ・ dlog "%{%v/%T}t %h ー > %{SERVER}e URL : # unused paths UNIX MAGAZINE 1998.9 61

2. UNIX MAGAZINE 1998年9月号

Web サイトの負荷分散・ リスト 5 apache-rproxy. conf-servers # # apache—rproxy. conf—servers # 1ist of back—end servers which serve static # pages (HTML files and lmages , etc. ) wwwl . f00 . dom ー w w2. f00 . dom ー www3. f00. dom ー www4. f00. dom static # list Of back—end servers which serve dynamically # generated page (CGI programs 0 て mod-perl scripts) Apache/mod—rewrite selection table dynamic www5. f00. dom ー www6. f00. dom 完全な逆プロキシーを作成することにした [ 9 ] 。このパッ チはノヾージョン 1.3b6 で公式の Apache ソースに組み込 まれる予定だが 1 、現在利用できるのは Apache 1.3b5 で ある。そのため、まずオリジナルのソースコードとパッチ から Apache バイナリを作る必喫がある。リスト 4 はそ のバイナリを自測吽成するためのスクリプトである ( 対応 するパッチと設定ファイルのサンフ。ルは URL[9] を参照 のこと ) 。 このスクリプトを実行すると、 apache-rproxy という バイナリが得られる。これは Apache から不要な機能 を除外し、同時に欠けていた機能を追加したものである。 これで逆プロキシーを作るための用意ができた。 wwwl. f00. dom ~ www6.f00.dom という 6 つのノヾックエンド Web サーノヾーのフールがあるとする。 www5.foo.dom と www6.foo.dom は CPU への負荷が大きいサービス専用 とし、 wwwl.f00.dom—www4.foo.dom はおもに静的 なコンテンツの処理に用いられる。これらのバックエン ド・サーバーのあいだでバランスのとれたトラフィック 0 縣合かできなくてはならない。 では、バックエンド・サーバーの構築を始めよう。ま す、 apache-rproxy. conf-servers ファイノレ ( リスト 5 ) を作る。 static キーて清勺なコンテンツを提供するサーバ ーを、 dynamic キーて加勺なコンテンツ専用サーバーを 指定する。 apache-rproxy バイナリを制御する実際の Apache の 設疋ファイル ( 末尾のリスト 6 ) も必要である。 apache- rproxy は、ます実行時のパラメータを設定する。いく っかのログファイルを設定して、逆プロキシーのログ を残しはかのファイルは作らないようにする。そして 1 調主 : しに版の Apache 1.3.0 がすでに公用されている。 1.3.0 では、 mod-proxy モジュール中の ProxyPassReverse 命令としてこの機 自劼まれるようになった。 UNIX MAGAZINE 1998.9 www.f00.dom/rproxy-status という URL でアクセス できるプロキシーのオンラインステータス・モニターを起 動する。そのあとに実際の逆プロキシーの設定か読く。ま す、ロギングなしで URL 書換え工ンジンを起動し、次 に、成疋ファイルとして apache-rproxy. conf-servers を 拓疋している。そして、ステータス・モニターがバックエ ンド・サーバーではなく口一カルで処理されることを石忍 し、インターネット上の第三者がこの逆プロキシーを標準 プロキシーとして用いるのを禁止する。 こまでで逆フロキシーの実装の準備か整った。ます、 CGI プログラムと SSI ページへのすべての URL を dy- namic キーにもとづいて書き換える。 www5.f00.dom か www6.foo.dom のいずれかのサーバーである。どちらを 利用するかは mod-rewrite によりランダムに選択され る。残るすべての URL は static キーに書かれたサーバー で処理される。書き換えた内容は、 Apache プロキシー モジュール mod-proxy から URL を送ることで有効に なる。また、ログファイル用の環境変数、、 SERVER" を設 定する。さらに、すべての URL か書き換えられるように する。キャッシングなしのプロキシーとして mod-proxy か起動される。次に、 mod-proxy を逆プロキシーとして 設疋する。 HTTP Location ヘッダにあるすべての URL を自分のところに迂回させるようにする。これにより、 ックエンド・サーバーには妾アクセスできなくなる。 サーバープロセス 最後に、逆プロキシー用に必要なサーバー数 (NOS) と メモリの量 (MBR) を計算する。これらの値の算出には、 3 つの入力パラメータが必要となる。予想される HTTP の 1 分ごとの最大リクエスト数 ( RPM ) 、 HTTP リクエ 59

3. UNIX MAGAZINE 1998年9月号

・ Web サイトの負荷分散 リスト 4 Apache パイナリ自動生成スクリプト # ! /bin/sh # # apache—rproxy. mk V=I .3b5 Bui1d the apache-rproxy binary echo "Unpacking Apache $V distribution tarball" 1 > & 2 gunzip く apache-$V. tar. gz ー tar xf cd apache—$V echo "Patching sources for Reverse Proxy support " 1 > & 2 patch -pl く .. /apache-$V. patch—rproxy >/dev/null 2 > & 1 Cd src echO "Configuring sources for Reverse Proxy usage" 1 > & 2 cat Configuration. tmpl ー \ sed —e 's/AAddM0du1e/# AddM0duIe/g' ー \ sed -ep 'sF [ # ] *\(AddModu1e. *mod-rewrite . 。 \ ) / \ 1 / g ' ハ sed -e 'sF [ # ] *\(AddModu1e. *libproxy. (\)/\l/g' ハ sed -e 'sP [ # ] *\(AddModu1e. *mod-mime . 。 \ ) / \ 1 / g ' ハ sed -e ' s/* [ # ] *\(AddModu1e. *mod-status . 。 \ ) / \ 1 / g ) ハ sed -e ' sF [ # ] *\(AddModu1e. *mod-log-config. (\)/\l/g' ハ sed —e ' s ;*EXTRA_CFLAGS=. * ; EXTRA_CFLAGS=DSERVER_SUBVERSION= \\"rproxy\/l . 0 \ \ " —DBUFFERED-LOGS -DDYNAMIC—MODULE_LIMIT=O ; g' 八 cat >Configuration . /Configure >/dev/null 2 > & 1 echo "Bui1ding runtime binary" 1 > & 2 make >/dev/null 2 > & 1 strip httpd cp httpd .. /.. /apache-rproxy echo "CIeaning up" 1 > & 2 rm —rf apache—$V いても Web サイトのトラフィックのロギングやモニタリ ングは屯になる。第 2 に、各リクエストを逆プロキシー が代表して扱うため、クラスタへのアクセスをローカルで 完全に管理できる。振分けの設定は逆プロキシーのなかで おこなわれるため、設定の変更を即座に有効にすることが できる。たとえは、バックエンド・サーバーのどれか 1 つ がクラッシュしても、逆プロキシーの構成を変更すれば、 クラッシュしたバックエンドかユーザー側でエラーとなる ことはなくなる。停止のときと同様に、イ夏後も簡単に再 起動させることができる。 逆プロキシーを実装するのに、どのようなハードウェ アやソフトウェアを用いるかという問題が残されてい る。選才尺肢は多い。 Squid lnternet Object Cache[2] 、 Netscape[3] と Microsoft [ 4 ] の Proxy Server 、 Sun の Netra Proxy Cache Server[5] などの専用プロキシーソ フトウェア・パッケージを使ったり、 CiscoSystems の LocalDirector[6] や Coyote point Systems の Equal- izer[7] など、ハードウェア・べースのシステムを逆プロ 58 キシーに利用することもできる。私は、 Apache[8] チーム の一員として、実用的で安価だか柔車幻生のある高性能なシ ステムを開発した。 バックエンド・サーバーへの大量の相対 URL リクエ ストを完全 URL リクエストに書き換えなくてはならな いため、強力な URL 書換え工ンジンと HTTP プロキ ・エンジンをもった刻鳳生のあるサーバーが必要であ る。 Apache の場合、フレフォーク・プロセスモデルと mod-rewrite 、 mod-proxy モジュールとして、すでに その機能が備わっている。 Apache モジュールから必要 な機能を選んて組み立てなおせばよい。 ランダムに URL を選ふ機能が mod-rewrite にない ことか問題になった。さらに、 mod-proxy が HTTP へ の応答を自分自身に向ける機能も必要だった。逆プロキシ ーには高い性能力球められるので、もっともよく使われて いる専用プロキシーの Squid か雎ーの代替〕尺肢である。 だが、このプログラムを逆プロキシーとして使うのはそれ ほど容易ではない。そこで、我々は Apache を強化して UNIX MAGAZINE 1998.9

4. UNIX MAGAZINE 1998年9月号

・ Web サイトの負荷分散 FreeBSD 上の Apache の性能調整 FreeBSD 上で Web サーバーとして Apache を使ってい るなら、最大限の性能を得るためにさまざまなパラメータか利 用できる。 ほとんどのオペレーティング・システムと同様に、最初に直 面する制約は、 TCP/IP の listen キューである場合が多い。 これは一判勺にイ尉寺できる TCP リクエストの上限である。 2 番目に重要なパラメータが mbuf クラスタ数である。これは増 やしておくべきだ。さらに、許容できる子プロセスとオープン できるファイルの最大数を増やすことができる。したがって、 負荷の大きなマシンであれば、リスト A のように、カーネルの 設定でこれら刎直を増やせばよい。 また、カーネル構築の段階で GCC コンパイラ・フラグ -mpentium 、一 02 、 -fexpensive-optimizations 、 -fomit- frame-pointer を用いて、最大限の最適化をすることも考え られるし、最斤の EGCS による Pentium 用の GCC を使っ たカーネルのコンパイルも可能た : オペレーティング・システムの整後、 Apache の生能強化 もできる。以のカーネル・パラメータ設定力冬ったら、ます、 リスト B-I のように、対応する Apache のパラメータ値を増 リスト A 負荷の大きいマシンのカーネル最適化 やしてから構築する。次に、 Apache の成疋ファイルをリス ト B-2 のように調整する。 リスト B Apache 生肯 —DHARD_SERVER_LIMIT=256 —DDYNAMIC_MODULE_LIMIT=O ( 1 ) —DBUFFERED_LOGS MinSpareServers StartServers MaxSpareServers MaxC1ients MaxRequestsPerChi1d KeepAIive KeepA1iveTimeout MaxKeepAIiveRequests Timeout IdentityCheck HostnameL00kups 256 256 256 256 10000 15 64 400 off off maxusers opt i ons options options options 256 SOMAXCONN=256 NMBCLUSTERS=4096 CHILD_MAX=512 OPEN_MAX=512 ストか完全に転送されるのに必喫な平均秒数 (SPR : 1 リ クエストあたりの秒数 ) 、 apache-rproxy プロセスをオペ レーティング・システム上で実行するのに必要な最大メモ リ量 (SPS : サーバープロセス・サイズ ) である。次の式 は、ソケットの処理の遅延のためにサーバーの 20 % がっ ねに利用できないことを前提としている。 NOS = cei1(RPM * SPR * ( 1 / 60 ) * ( 100 / 80 ) ) MBR = cei1((SPS * NOS * ( 100 / 70 ) ) / 16 ) * 16 さらに、これらの式は、逆プロキシーか利用可能なメモ リのうちの 70 % しか使わず、利用可能なメモリのうちの 16MB ぶんだけを割り当てることを前提としている。 たとえば、 FreeBSD 上で逆プロキシーを実行する場 合 ( コラム参照 ) 、 ps か top コマンドを使ってみる と、各サーノヾープロセスに 700 ~ 900KB のメモリが 必要なことが分かる。そのため我々は SPS を 0.9MB とした。また、毎分ほは、 1 , 000 のリクエストがあるた め、 RPM は 1 , 000 とした。 HTTP のべンチマーク 60 " \ . (htmllcgi)$> く Fi1es HostnameLookups on く \Fi1es> く Directory / > Options F0110wSymLinks A110wOverride None く /Directory> などによると、 1 リクエストあたりの処理時間は 0.5 ~ 4 秒である。そこで、 SPR を 2 秒とした。その結 果、 NOS = ceil ( 1000 * 2 * ( 1 / 60 ) * ( 100 / 80 ) ) = 42 である ことから、 42 台のサーバーが必要であり、 MBR=ceil ( ( 0.9 * 42 * ( 100 / 70 ) ) / 16 ) * 16 = 64 であることから、本 で 64MB のメモリが必喫だと分かった。 まとめ 低コストのサーバーを何台か使って負荷を分散させる 2 つのガ去を紹介した。 DNS 法はオ剽勺だが、 DNS データ のキャッシングの間題とクラスタ内のマシンに障害が発生 した場合に対処できないという欠点がある。逆プロキシー 法は、管理者か特定タスク専用のクラスタを設けることで 信頼性と制彳卸のしやすさを高めている。さらに改善を試み ることもできる。たとえは、逆プロキシーのスクリプトを 書いて、 rsh か ssh を通じてノヾックエンド・マシンの定 UNIX MAGAZINE 1998.9

5. UNIX MAGAZINE 1998年9月号

連載 UNIX Communication Notes ・一・の PerI には、はかの GNU パッケージと同様に config- ure が付属しており、インストールは上交的簡単である。 ます、作業用の適当なディレクトリを作り、そこに PerI のソースパッケージを展開する。そのディレクトリに移動 し、次のようにコンパイルとインストールをおこなう。 コン / ヾイノレ 照してはしい。 # make insta11 # make test # make # . /configure 詳細は、 PerI のパッケージに付属のドキュメントを参 MRTG をインストールする前に、 MRTG ノ、ツケージ に含まれる rateup. c をコンパイルする。 変数 PERL には、使用する perl コマンドを一ド記のよ とする。 GD-LIB=/usr/10ca1/gd/1ib GD_INCLUDE=/usr/10caI/gd/inc1ude プラリがあるディレクトリを指定する。たとえは、 GD-LIB には、 GD ライプラリのヘッダファイルとライ 使用する工韆竟に合わせて書き換える。 GD-INCLUDE と の 3 つの変数が定義されている。これらを MRTG を ・ PERL ・ GD-LIB ・ GD-INCLUDE の最初に、 ます、 MakefiIe を工竟に合わせて編集する。 MakefiIe 以上の設定力鮗ったら、 make を実行する。 PERL=/usr/10ca1/bin/per1 うに絶対パスで指定する。 最初に、 % make rateup として rateup. c をコンパイルし、 式ファイルを作成する。次に、 % make substitute rateup いう実行形 を実行する。これは、デフォルトで、 # ! /usr/drwho/local/bin/perl 12 などとなっている Perl スクリプト (mrtg や cfgmaker など ) の麪頁行を、 MakefiIe の変数 PERL に設定した値 に書き換えるためである。 関連ファイルのインストール 次に、 MRTG 関連のプログラムやスクリプトをシス テムにインストールする。適当なディレクトリを用意 して、そこにファイルをコピーすればよい。たとえば、 /usr/local/mrtg にインストールする場合は次のように する。 # mkdir /usr/local/mrtg # cp BER. pm SNMP—Session. pm /usr/local/mrtg # cp mrtg rateup /usr/local/mrtg # chmod 755 /usr/local/mrtg/mrtg HTML ページのためのティレクトリの設定 MRTG は、監ネ寸象のルータなどから収集したトラフ ィック・データをもとに、糸を茴を示すグラフを GIF イメー ジファイルとして生成し、さらにそれらを表示するための HTML ページを作る。 そこで、これらの HTML ページを十内するディレク トリを用意する。通常の運用なら、ローカルで稼動してい る Web サーバーがアクセスできる、 HTML ドキュメン トを保管するディレクトリに MRTG 用のサプディレク トリを作ればいいだろう。 HTML ページをイ内するディレクトリは、 MRTG を稼 動させるシステム上であれば、基本的にはどこに設正しても間 題はない。しかし、ローカルて稼動する Web サーバーがアク セスできないディレクトリにすると、ローカルに起動したプラ ウサを使って茁妾ファイルにアクセスするか、定期的にファイ ルを Web サーバー用のディレクトリにコピーするといった手 間がかかる。 こでは、ローカルな Web サーノヾーのためのディレク トリ内に設定する。私の使っている BSD/OS 3.1 には、 Web サーバーとして Apache が付属している。 Apache サーバーは、標準では /var/www ディレクトリを利用 してサービスをおこなう。さらに、サーバーか供する HTML ページは、 /var/www/docs 以下のディレクト これらは、 Apache の成正ファイルによって変わる。上 滋意 1 リにオ褓内する。 UNIX MAGAZINE 1998.9

6. UNIX MAGAZINE 1998年9月号

・ Web サイトの負荷 . f00. dom / . f00 . dom/ f00 . dom/ . f00 . dom/ ServerRoot DocumentRoot CacheRoot RewriteLog TransferLog TypesConfig AccessConfig ResourceConfig /tmp /tmp /tmp /dev/null /dev/null /dev/null /dev/null / dev/nul 1 # speed up and secure processing く Directory / > Options —F0110wSymLinks -SymLinksIfOwnerMatch A110wOverwrite None く /Directory> # the status page for monitoring the reverse proxy く Location /rproxy—status> SetHand1er server—status く /Location> # enable the URL rewriting engine RewriteEngine RewriteLogLeve1 0 # define a rewriting map with value—lists where # mod—rewrite randomly chooses a particular value server rnd : /path/to/apache—rproxy ・ conf—servers RewriteMap # make sure the status page is handled 10Ca11Y # Ⅱ 0 except ourself RewriteRu1e RewriteRu1e A/rproxy—status . * *(httpl ftp) : / / . * # now choose the possible servers for particular URL types RewriteRu1e RewriteRu1e ン (. * \. (cgil shtml))$ to: //${server:dynamic}/$l to: //${server: static}/$l [S=I] # and delegate the generated URL by passing it through the proxy module # when it should survive the above rules . # and make really sure a11 Other stuff is forbidden RewriteRu1e RewriteRu1e # enable the Proxy module without caching CF] ProxyRequests NoCache on setup URL reverse mapping for redirect responses ProxyPassReverse ProxyPassReverse ProxyPassReverse ProxyPassReverse ProxyPassReverse ProxyPassReverse 62 ・ //wwwl . f00. dom / ・ //www3. foo . dom/ http http. http. http. http. http. : //www6 ・ //www5. ・ / /www4 ・ / /www2 UNIX MAGAZINE 1998.9

7. UNIX MAGAZINE 1998年9月号

連載 /UNIX Communication Notes— MRTG の実行によって生成されるファイル 図 3 . J p. 2 . html 1 1 1 1 1 1 1 root root root root root wheel wheel wheel wheel wheel wheel wheel ・ 10 /var/www/docs/mrtg/metz ・ 02 /var/www/docs/mrtg/metz ・ 02 /var/www/docs/mrtg/metz : 10 /var/www/docs/mrtg/metz ・ 10 /var/www/docs/mrtg/metz ・ 10 /var/www/docs/mrtg/metz /var/www/docs/mrtg/metz 45646 Jun 23 45664 Jun 23 7213 Jun 23 9356 Jun 23 06 8670 Jun 23 8383 Jun 23 12 . 10999 Jun 23 12 12 . 12 . 12 . 12. : 02 . aiSt— . aist— . aiSt— . aist— . aist— . aiSt— . aiSt— nara nar a nar a nar a nar a nar a nar a ・ ac ・ ac ・ ac ・ ac ・ ac ・ ac ・ ac . JP ・ 2—day. gif . JP. 2—month. gif . JP. 2—week ・ gif ・ 2—year ・ gif ・ 2 ・ 10g . 〕 p . 2 .01d のシステムであり、 このルータの SNMP 工ージェントに 対して、コミュニティ名 public を使って Read-OnIy ア cfgmaker が生成した設疋情報は、シェルのリダイレク いと、 cfgmaker はおかしな設疋情報を出力する。 動させておく必要がある。 SNMP 工ージェントか動いていな 象のルータやシステムの SNMP 工ージェントをあらかしめ稼 cfgmaker を使って成疋ファイルを作る場合は、監視対 定意 2 ファイルを生成する。 ム情報やインターフェイス情報をもとに、このような設定 ない、稼動している SNMP 工ージェントか返すシステ maker は、指定されたホストに SNMP で間 - 作をおこ 含まれている SNMP 工ージェントか家動している。 cfg- は BSD/OS 3.1 のシステムで、 ISODE ノヾッケージに cfgmaker が出力した設疋情報の例である。ホスト metz とすれは、標準出力に設定ファイルが出力される。図 2 は、 # . /cfgmaker public@metz クセスができるものとしよう。この場合、 IconDir : /mrtg/ WorkDir : /var/www/docs/mrtg に一ド記の設定を追加する。 次に、この設定情報生例では /tmp/foo. txt) の : 麪頁 # . /cfgmaker public@metz > /tmp/foo. txt トによってファイルに保存する。 14 http://10ca1host/IconDiT・/mrtg-r ・ gif ンを参照するために使われる。したがって、 IconDir は、生成される HTML ページのなかでアイコ で使われるアイコンを褓内したディレクトリを指定する。 次の IconDir には、生成された HTML ページのなか ジを↑褓内するディレクトリを絶対パスで指定する。 最初の WorkDir には、前項で設正した HTML ペー などの URL でこれらのアイコンにアクセスできなけれは UNIX MAGAZINE 1998.9 ンドが正しくインストールされているかを確認する。 mrtg コ がうまくできていない場合は、 GD ライプラリと rateup コマ WorkDir の値をもう 1 度石忍したほうがよい。 GIF ファイル んらかの間題がある。とくに、 MRTG 設定ファイルでの こまでの設定にな ファイルができていなかったら、 意 3 図 3 のファイルカ吽成される。 かを確認する。 metz ・ aist-nara ・ ac. jp を対象とする場合、 ストのホスト名で始まるいくつかのファイルができている MRTG 用のディレクトリをチェックし、監視対象のホ ック計算に使うログファイルがないからである。 がいくつか表示されるはすだ。これは、 rateup がトラフィ 初めて実行したときは、 rateup からの警告メッセージ # . /mrtg ・ /mrtg. cfg # cd /usr/local/mrtg みる。 いるディレクトリに移動し、 mrtg コマンドを実行して かどうかを確認する。ます、 MRTG のツールが置かれて 設定がひととおり終ったところで、正しく実行される MRTG の実行 りである。 リに保存しておく。これで、 MRTG の基本的な設定は終 として、 MRTG 設定ファイルを MRTG のディレクト # cp /tmp/foo. txt /usr/local/mrtg/mrtg. cfg こまでの作業カ鮗ったら、 ている。 としてアクセスされるので、 IconDir に /mrtg/ を指定し /mrtg/ Apache サーノヾーでは、 www/docs/mrtg ディレクトリは、ローカルて下力する ならない。さきはどアイコンファイルをコピーした / var /

8. UNIX MAGAZINE 1998年9月号

連載 /UNIX Communication Notes— 0 図 2 cfgmaker で生成される MRTG 言聢ファイル 4BSD/ISODE SNMP # Description: Contact : Suguru Yamaguchi く suguru@wide.ad. jp> # System Name : metz. aist—nara. ac ・ JP Location: A41x lnterface is one Of the following # # # # # # # # ー administratively not UP # # # # # # # # ー it is in test mode # # # # # # # # ー it is a softwareLoopback interface # # # # # # # # ー has a unrealistic speed setting # # # # # # # # lt is commented out for this reason . # Target [metz. aist—nara ・ ac ・ jp ・ 1 ] : 1 :public@metz.aist—nara ・ ac ・ JP # MaxBytes [metz. aist—nara. ac . jp. 1 ] : 1250000 Tit1e Cmetz. aist—nara. ac ・ jp ・ 1 ] : metz. aist—nara. ac. jp ( ) : neO # PageTop[metz. aist—nara. ac ・ jp . 1 ] : く H1>Traffic Ana1ysis for neO く / HI > く TABLE> く TR> く TD>System : く /TD> く TD>metz. aist—nara ・ ac ・ JP in A41x く /TD> く /TR> く TR> く TD>Maintainer : く /TD> く TD>Suguru Yamaguchi く suguru@wide . ad. jp> く /TD> く /TR> く TR> く TD>Interface : く /TD> く TD>neO ( 1 ) く /TD> く /TR> く TR> く TD>IP : く /TD> く TD> ( ) く /TD> く /TR> く TR> く TD>Max Speed : く /TD> く TD > 1250.0 kBytes/s (ethernetCsmacd) く /TD> く /TR> く /TABLE> Target [metz . aist—nara. ac . jp. 2 ] : 2 :public@metz.aist—nara.ac ・」 p MaxBytes [metz. aist—nara ・ ac ・ jp ・ 2 ] : 1250000 Tit1e [metz. aist—nara. ac ・」 p. 2 ] : metz . aist—nara ・ ac . jp (metz. aist—nara. ac ・ (p) : efO PageTopCmetz. aist-nara ・ ac ・ jp. 2 ] : く H1>Traffic Ana1ysis for efO く / HI > く TABLE> く TR> く TD>System: く /TD> く TD>metz. aist—nara ・ ac ・ jp in A41x く /TD> く /TR> く TR> く TD>Maintainer : く /TD> く TD>Suguru Yamaguchi く suguru@wide. ad. jp> く /TD> く /TR> く TR> く TD>Interface : く /TD> く TD>efO ( 2 ) く /TD> く /TR> く TR> く TD>IP: く /TD> く TD>metz. aist—nara. ac . jp ( 163.221.74.17) く /TD> く /TR> く TR> く TD>Max Speed : く /TD> く TD > 1250.0 kBytes/s (ethernetCsmacd) く /TD> く /TR> く /TABLE> MRTG 設定ファイルの用意 己の例は BSD/OS 3.1 の標ー勺な言定だが、システムによっ てはこれとは違う場合がある。かならす、 Apache の設定ファ イルである httpd.conf て市薩忍してほしい。 次に、 MRTG で監視するシステムを指定する。これは、 、、 MRTG 設定ファイル " に言当する。 そこで、 /var/www/docs/mrtg ディレクトリを作り、 MRTG 設定ファイルの言当はやや複雑だが、最低限必 MRTG が生成する HTML ページてイ吏われるアイコンの 要な設定は、 cfgmaker という Perl スクリプトを使っ ここにコピーしておく。 GIF ファイルを、 てはば自重加勺に生成できる。 # mkdir /var/www/docs/mrtg # cp mrtg*. gif /var/www/docs/mrtg たとえは、監視対象がホスト名 metz. aist-nara ・ ac ・ jp 一三ロ 13 UNIX MAGAZINE 1998.9

9. UNIX MAGAZINE 1998年9月号

・ ookshelf 『 HTML4.O ビジュアル クイックリファレンス』 ・ Dean Scharf 著 ・ Harvey M. DeiteIs PaulJ. Deitel 著 ・間宮あきら、坂本文訳 ・小嶋隆一訳 ・アスキー ・プレンティスホール出版 ・ B5 判変型、 214 ページ ・ B5 判変型、 214 ページ ・ 1 , 800 円 ・ 2 , 000 円 ・ 1998 年 7 月 1 日 ・ 1998 年 6 月 20 日 www と HTML の基礎、 HTML 文書作成に必要な各種 プログラミング未経験者を対象にした C + + の入門書。 原書の第 2 版で追加された 19 ~ 21 章と付録を収録。クラ タグを解説したあと、フォーム、表組、フレーム、スタイ ルシート、ページの設計、ページの公開、検索や告知の方 ス string と文字列ストリーム処理、標準テンプレート・ラ 法について、それぞれ章を設けて説明している。用語集や イプラリ (STL) 、 ANSI/ISO C + + 標準言語拡張機能をとり あげている。付録は、演算子の優先順位と結合性の一覧、 色名、スタイルシートで設定できるおもな書式、種類別 / アルファベット順の HTML タグー覧を付録として掲載。 インターネット上の C + + 、 STL のリソースなど。 『 C 実践プログラミング第 3 版』 『 JAVA バーチャルマシン』 よ、、 , ルヨ当 0 松朝を JA 、 バーチャルマシン 『 C 十十プログラミング第 2 版 voI.3 』 】第ガーのしンス 物イイタル - P イル洋 プロク当ミンク いを蹶一内れ リ乢 3 4 」 ) C 実践プログラミング ・ Jon MeyenTroy Downing 共著 ・ steve Oualline 著 ・鷲見豊訳 / 編著 ・望月康司監訳・谷口功訳 ・オライリー・ジャパン ・オライリー・ジャパン ・ B5 判変型、 447 ページ ・ B5 判変型、 480 ページ ・ 5 , 200 円 ・ 4 , 500 円 ・ 1998 年 6 月 30 日 ・ 1998 年 7 月 28 日 一般の Java プログラマー向けに JavaVM の仕様を解説 プログラムや例を ANSI 標準に適合させ、コンパイラ関 連の命令を追加。 C の概要、プログラミング手順やプログ 1 章で JavaVM の概要、 2 章でデータ型やクラスローダ、べ リファイア、 D-Java などを説明。 3 章ではデータ操作、算 ラム形式、変数、簡単な条件文や制御文を説明した 1 部、 1 部でとりあげた以外の文や演算子を用いた簡単な関数の 術演算、フロー制御、例外処理、スレッド関連のインスト ラクションをとりあげ、 4 章はクラスファイルの、 5 章は 作成法を紹介した 2 部、構造体、共用体、クラスなどの構 築法を扱った 3 部、その他の機能を紹介した 4 部で構成。 各インストラクションのリファレンス。 『 FreeBSD サーバ構築』 『 Linux/FreeBSD による SQL データベース構築入門』 L ⅲ ux / による FreeBSD サーバ構築 ・トッブマネジメントサービス編 ・関根謙司著 ・ロカス ・オライリー・ジャパン ・ B5 判変型、 197 ページ ・ B5 判変型、 351 ページ 0 : N を使った・灯の実現 ・ 4 , 800 円 ・ 2 , 200 円 ・ 1998 年 5 月 26 日 ・ 1998 年 8 月 9 日 PC UNIX (Linux 、 FreeBSD ) 環境で PostgreSQL による FreeBSD と OCN を利用したサーバーシステムの構築法 データベース・システムを構築する方法を解説。リレー を解説 0FreeBSD の概要、基本システムとデバイス、 OCN ショナル・データベースの概念、システムの管理と運用、 の仕組みやルータ選択時の注意点、各種機器やソフトウェ PHP/FI を用いた WWW との連携、 Access での出力と表 アの設定、システム設計とクライアント・マシンの接続、 示などをとりあげている。 Apache 、 PostgreSQL 、 PHP/ DNS/Web/ メール /PPP サーバーの設定、セキュリティ FI のソースコードなどを収録した CD - ROM が付属。 対策、運用に役立つツールの紹介などの章に分かれる。 146 第 3 第 この一て 50L データベースサーハーが料てるしをれい ロ 0 ロ UNIX MAGAZINE 1998.9

10. UNIX MAGAZINE 1998年9月号

図 2 EGCS の Web ページ ー egcs project home page W 翫叩に加切 05 の 0 引 5 聞印 0 面は社 0 毎に v 啝メ GCC 画叩は既 」Åわ朝い物朝塰 Fo 市 5. 鳳当ⅵ R ~ お 20k 町 ha “ 9 疆 0 0 叫上「れ協新を 10 を第 0 ヴ日物ざ 08 き地日ま幻 5 しお 5 朝 5 を om を第 n Ⅳ・ⅶせに一 an 、住 m 緲印沼矗 r,W を第第ま ng ons 聞 dp 住 10 、 ( 第 0 聞第ド、臧 195 准を 0 麒ーを曲を 0 にセ We 社 0 の 02 “ま 025 ・新市 0 を OS 5 を・日 5 ℃ ) 齒を 0 こ C 第す 02 こ洋日 0 日 ト・町“ We 気、な yw ー u ま い・ W を m に作量第当生を物鹵を We 0 ⅵ de 「・ . 一 - セ「を 5520 をにーを 0 ぼ 0 をお池 pe 気 0 m 製、・でいを 0 ー託釦、′を 0 0 第 0 ト on 物 0 . A* cO 喪 08 セル 3 師部 F い第肥等新純池をに ー naint 物「、館を要ま知 501 を 2 なをを . We 餌 0 地騨ゅー午県 ' 第、 W 要健一 a30 引物は第Ⅳツす朝朝浦 を 1 ) 第 0r05 第 5 当驪と ! 旦る 050 「物 a “報第ニ舅新 0 岬 000 新を挑 釦ツ時 . 1 新日設ま 5203h 区が the 印い bs いを“言第 a Ⅳ「′を面 5 0 当も M 転り郡れ門 Y 山 M 閥 . 1 Weh 朝 g020 す確物疆を , 国 0 を 0 新ー物対第、叩誠 ( 阯町 W n を 0 曲朝地 d 上新地 CV 引で 00 3 ( 層改 - 松′ 0 00m ””物第靆 om 地 0 物 / 3 部れ 0 を 0 -3 、 m 虹 0 蹴丁地可 200 にお新″ 0 ( わ”せ / 既 m 4 P 0 れ 5 し b k05 新地 to 総ま -0 載曲、をまを m ーを gcs 豆馳 1 トお物第田第嶼物 当をせ対 p ( 0 第 0 当鹵ー煢細の me ⅸ yo 崩ⅸ転 1 10 、第 - http://egcs ・ cygnus ・ com/ 1.11 、 ispe ル 3.1.20 、 joe ー 2.8 、 jed ー 0.97-14 、 jove- 4.14.10 、 sc ー 6.21 、 bc ー 1.04 などが収められていま す。 D : プログラム開発用のアプリケーションです。 Slack- ware 3.5.0 から、 C コンノヾイラが egcs -1.0.3 に変 更されました ( 従来は gcc でした ) 。 egcs -1.0.3 は、 gcc ー 2.8.0 にバグ修正や改良を加えたものです ( 図 2 ) 。 gmake -3.76.1 、 libc -5.4.44 、 gdb ー 4.17 、 Perl- 5.004 ー 04 、 rcs -5.7 などのアプリケーションも収めら れています。 E : GNU Emacs 20.2 です。 F : テキスト形式の HOWTO 文書や、各種の FAQ な どが収められています。 K :Linux カーネル ( バージョン 2.0.34 ) のソースコー ドです。ノヾージョン 2.0.34 の Linux カーネルでは、 Windows 95 で利用されている FAT32 や、 JoIiet 形式の CD-ROM のサポートか含まれています。 N : ネットワーク関連のパッケージです。 bind -8.1.2- REL や uucp -1.06.1 、 mai ⅸ -8.1.1 、 ppp -2.3.5 、 sendmaiI-8.9.0 、 apache-l. 2.6 、 lynx -2.8 、ⅲⅡ -1 .7.2 、 samba -1.9.18P7 などのノヾッケージが収めら れています。 Slackware 3.5.0 より、 samba が $TOP/contrib/ から N シリーズに移動しました。 T : Thomas Esser 氏カ発している、 Linux 用 rIVfX の配布パッケージ teTbX リリース 0.4 です。 'IVfX プログラムのほかに、フォントやスタイルファイル などか数多く収められています。 TCL : Tcl/Tk 関連のノヾッケージです。 Tcl -8.0P2 、 連載 / / Linux でリラックス ー② Tk ー 8.0P2 、 TcIX ー 8.0.2 が収められています。 Mac- intosh の HFS ファイルシステムを読み書きするた めのユーティリテイも含まれています。 Y : いろいろなゲーム ( X 上のものは除く ) カ呶められ ています。 Slackware 3.5.0 から、テキストべース のゲームのほかに、 Koules-1.4 、 Sasteroids-1.3 な どの SVGA ライプラリを利用したゲームも追加され ました。 X : XFree86 3.3.2 の基本システムです。 libXpm-3. 4k 、 fvwm2-2.0.46-BETA 、 xf86config ( テキスト べースの成疋ユーティリティ ) 、 XF86Config (GUI べースの設定ユーティリティ ) も含まれています。 XAP : X のアプリケーションです。 xfm ー 1.3.2 、 Tk- Desk-1.0 、 arena-beta-3b 、 fvwm95 ー 2.0.43b 、 x- paint-2.4.9 などのアプリケーションやゲームカ刈又め られています。 Slackware 3.5.0 から、 xpdf-0.7a 、 gimp ー 0.99.23 、 netscape-communicator-4.05 カゞ 追加されました。 XD : X サーバーの再構築に必要な X サーバーのリン クキットです ( はかの X アプリケーションの開発に は必要ありません ) 。 XV : X のツールキット XView 3.2 ノヾッチレベル 1 です。 ・ $TOP/source/ Slackware の全ノヾッケージのソースコードです。 ・ $TOP/zipslack/ Linux ファイルシステムを ZIP でアーカイプしたもの です。これを使えば、 UMSDOS (DOS の FAT ファ イルシステムをそのまま使う L ⅲ ux のファイルシステ ム ) を利用して DOS のパーティションに簡単に Linux をインストールすることができます ( 「 ZipSIack によ るインストール」を参照 ) 。 FTP で Slackware を入手する場合は、 $TOP/ 以下の すべてのディレクトリをダウンロードする必要はありませ ん。 SIackware のインストールに最低限必喫なものは、以 下のディレクトリに収められています。 ・ $TOP/bootdsks. 144/ または $TOP/bootdsks. 12/ ・ $TOP/rootdsks/ ・ $TOP/sIakware/ 69 UNIX MAGAZINE 1998.9