MuninでLinuxサーバの性能監視:基礎編

最近忙しくてなかなかアップできずにいたこのブログですが、久しぶりの更新。MySQL Clusterのバックアップ・リカバリ運用やオープンソースシステム構築など、色々アップしたいネタがたまっているものの、今日は直近でよく使う性能管理系のネタについて書いて…

SSL使用時に鍵のパスフレーズを抜かずに頑張る方法

ApacheでSSL対応サイトを使用する際にはmod_sslを使用するが、SSLの秘密鍵にパスフレーズがついていると、Apacheの起動時にパスフレーズを聞かれるため、OSサービスに登録しての自動起動ができない。このため、一般的にはよくパスフレーズを抜くという方法を…

SSH用の秘密鍵のパスフレーズの変更

<備忘録:SSH秘密鍵のパスフレーズ変更方法について>人間が対話操作でログインに使用するユーザを公開鍵認証方式で認証する場合、秘密鍵のパスフレーズはセキュリティ面を考慮し定期的に変更することが望ましい。そんなわけで今回はパスフレーズの変更方法…

CentOS:RPMForgeリポジトリの追加方法

さて今回はRPMforgeリポジトリを導入することで、標準リポジトリで提供されないパッケージをyumでインストールできるようにする方法を紹介。 ポイントは、標準リポジトリとRPMforgeリポジトリの両方で提供されるパッケージがある場合に、標準リポジトリのパ…

AWstatsでApache仮想ホストのレポートを見る

備忘録。awstats.plに引数「?config=サイト名」をつければOK。 http://${HOST}/awstats/awstats.pl?config=${SITE}

RHEL5のyumプロキシ設定

RHEL(Red Hat Enterprise Linux)5では、パッケージアップデータがup2dateからyumに変更されているわけだが、RHN(Redhat Network)の認証は、以前と変わらずup2dateの設定を参照しているので注意が必要。パッケージのアップデートにプロキシを使用する場合に…

/etc/fstabの記述ミスでOSブート不能

VMWare ESXi上で動かしていたLinuxサーバで、仮想ディスクの増設・削除作業を何度かしていたところ、うっかりfstabにエントリが残ったままで仮想ディスクを削除してしまったorz で、どうなるかというと、当然ながらOS起動時のファイルシステムチェックでエラ…

備忘録:ipコマンドでのIPエイリアス付与・削除

完全なる備忘録ですが… IPエイリアス追加 # ip addr add local 192.168.0.100/24 dev eth0 label eth0:vip IPエイリアス確認 # ifconfig eth0:vip IPエイリアス削除 # ip addr delete local 192.168.0.100/24 dev eth0 label eth0:vip

シェルスクリプトの引数処理〜getoptsで小技〜

今まであまり使ったことがなかったのだが、「getopts」コマンド、これはなかなか便利です。今回はシェルスクリプトの引数に「-X」を指定する場合の書き方として、この「getopts」コマンドを紹介。色々と活用できそう。 getoptsコマンドについて シェルスクリ…

オープンソースソフトを使ったシステム冗長化を考える

さて、今回は少し趣向を変えてオープンソースソフトウェア(OSS)を使ったシステムの冗長化について書いていこうと思う。WebやOLTP、DWHシステムなど色々なシステムがあり、構成要素はWebサーバ、APサーバ、DBサーバ、メールサーバ、ファイルサーバ、認証サー…

oerrでOracleエラーメッセージ確認

Oracleにはoerrというツールが付属しており、これを使うとOracleのエラーコード毎に、その意味が確認できる。Oracleのエラーは複合的な原因によるものが多いので必ずしもこれ一発で原因に辿り着ける可能性は低いが、ちょっとした確認には十分役に立つコマン…

SSLハンドシェイクの仕組み

前回(デジタル証明書の中身について)に引き続き、今回はSSLハンドシェイクについて書いていく。まず、SSLハンドシェイクのポイントは以下の2点。 1.クライアントはサーバ証明書によってサーバを認証する。 2.安全度の高い非対称鍵暗号方式を使っているが、そ…

デジタル証明書の中身について

さて、前回(SSLによる暗号化の仕組み)に引き続きSSLのお話。前回はデジタル証明書が「非対称鍵を使った高度な暗号化」、「証明者を持つ者の確実な認証」を実現するポイントとなることについて触れた。デジタル証明書には非対称鍵の片方である「公開鍵」と、…

SSLによる暗号化の仕組み

今回から、Webシステムにおけるコンテンツ配布で非常に重要な仕組みであるSSLについて、数回に分けて書いていこうと思う。 SSLって? さて、SSL(Secure Socket Layer)とは一言で言うとWebアクセスなどのTCP通信を暗号化する技術。ブラウザを使ったインターネ…

Linuxのファイル、ディレクトリの権限管理

さて、今回は基本に立ち返ってLinux(とUNIX)におけるファイルやディレクトリの権限管理について書きたいと思います(今更ですが・・・)。user、group、otherに対するrwxについてはもはや説明不要だと思うので、ポイントとしてはSUID、SGID、Stickyについて。さて…

MySQLでオートコミットを無効化する

MySQLのMLで質問が飛んできていたので、レスついでにblogにも書いておく。MySQLではInnoDBやNDB Clusterなどのストレージエンジンでトランザクションをサポートする。この際、Oracleなどに慣れた人からするとトランザクションのオートコミット(autocommit)で…

bashによるシェルスクリプトの小技(2)

前回(bashによるシェルスクリプトの小技(1))に引き続き、シェルによって自動的に値が設定される特殊な変数について紹介する。特殊な変数を参照することにより、様々な情報を取得することができる(ただし、これらの変数には自分で任意の値を設定することはで…

bashによるシェルスクリプトの小技(1)

今回から何度かに分けてシェルスクリプト(主にbash)の小技を紹介する予定です。まずは第一弾として、変数の特殊な参照方法を紹介。 変数の特殊参照方法 変数の状態に応じて振る舞いを変える特殊な参照方法。変数に値が設定されていない場合に一時的に値を与…

Linuxサーバで通信速度を固定する

以前の記事(ネットワークのAuto-Negotiationについて)でネットワークやサーバ機器間の通信速度設定の重要性について触れたので、今回はそれに関連してLinuxサーバでduplexモードやautonegotiationを制御する方法を簡単に紹介。ethernetで強制的にduplexモー…

Javaのお勉強

Javaのお勉強をはじめるにあたり、教科書を選定。がむばります。超入門 Javaってなんだろう (DB Magazine SELECTION)作者: 井上樹出版社/メーカー: 翔泳社発売日: 2004/04/21メディア: 単行本この商品を含むブログ (2件) を見る

Tomcat文字化け対策

Tomcat5.Xでは、GETのvalue、FORMのactionにgetを使用した際に、文字化けが発生する。 この文字化けへの対策としては、server.xmlに以下のパラメータ値をセットする。 useBodyEncodingForURI="true"下記に設定例を示す(以下はHTTPポートへの設定)。 Tomcatの…

MySQL Clusterでディスクベーステーブル

前回(MySQL Clusterの導入)に引き続き、今回はMySQL Clusterでディスクベースでのテーブルを作成してみる(長らく記事をアップできずすいませんorz)。MySQL Clusterは元々オンメモリにテーブルとインデックスデータを格納するが、この場合は物理メモリサイズ…

Oracle Database 10.2.0.4以降のEnterprise Manager

Oracle 10g PSR10.2.0.4.0以降(11gも同様)では、OEM(Oracle Enterptise Manager)への通信プロトコルが、HTTPだけではなくHTTPSにも対応する。DBCA(Dabase Configuration Assistant)によるインスタンス作成時、終盤の処理でHTTPでのOEM接続用に鍵が生成され…

Linuxのファイルディスクリプタ最大値を変更

ファイルディスクリプタは、ファイルオープンなどで使われるポインタのようなもの(Windowsだとハンドルがこれに近い)。アプリケーションにて、ファイルクローズを行わず、ファイルオープン、等を続けると、Too many open files といったエラーが発生すること…

perrorでMySQLエラーメッセージ確認

MySQLではperrorというツールが付属しており、これを使ってMySQLが出力するエラーコードの意味を確認することができる。Oracleではこれに似たツールとして「oerr」というものがあるので、これについては後日ブログにアップしておこうと思う(⇒参考:oerrでOra…

dboraスクリプトでOracleの自動起動停止

Oracleって、そういえばHAクラスタやRACやらクラスタウェアの制御下でしかサービス起動停止の制御したことなかったなぁ・・・というわけでいまさらな感も多々ありつつdboraスクリプトで自動起動停止するやり方を試したときのことを書いてみる。通常、クラスタ構…

MySQL Clusterの導入

久しぶりのblog更新。以外にWeb上の記事が少ないこともあって、今回はMySQL Clusterについて触れたいと思う。一通りの機能を解説するのには時間がかかりそうなので、数回に分ける予定。今回はまずは基本的な特徴の紹介と構築手順について。今後は最近機能拡…

RPMコマンドでARCHを表示する

皆さんも64bit OSを使用していて、確認したいパッケージが64bitか32bitなのかわかりづらくて困ったこと、ありますよね?(もしかして私だけ?) と、言う訳で以下のコマンドで当該パッケージのアーキテクチャ(ARCH)までを確認することができます。「rpm -qi」…

zabbixの導入

自宅サーバの監視用にcactiやzabbixなどのキャッチアップを目的に、今回はまずはzabbixの環境構築をやってみる。環境はいろいろ試してみたいところだが、ひとまずRHEL AS4にzabbix 1.4.2を載せて動かしてみることにした(zabbixの最新バージョンは1.6なのだ…

ApacheのIfDefineディレクティブを使う

今回はApacheのIfDefineディレクティブ(セクションコンテナ)について説明していく。 IfDefineディレクティブとは? マニュアル(Apache 2.2 コア機能)の説明は以下の通り。個人的な捉え方としては、httpd.confなどApacheの設定ファイル内でif文を定義するよう…