トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Debian(Sarge):Prius/2006-3-31

この記事は古いです
こちらを参照→ http://goungoun.dip.jp/app/fswiki/wiki.cgi/debianetch

目次

cronolog

参考

cronolog で Apache ログをロギング時にファイル分割
http://www.drk7.jp/MT/archives/000916.html

Apacheのアクセスログ管理
# roglotateを使った例
http://www.toshikazu.org/archives/000087.html

インストール

apt-get install cronolog

$ sudo apt-get install cronolog
Password:
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  cronolog
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。
27.8kB のアーカイブを取得する必要があります。
展開後に追加で 123kB のディスク容量が消費されます。
取得:1 ftp://ftp.jp.debian.org sarge/main cronolog 1.6.2-5 [27.8kB]
27.8kB を 0s で取得しました (43.3kB/s)
未選択パッケージ cronolog を選択しています。
(データベースを読み込んでいます... 現在 19169 個のファイルとディレクトリがインストールされています。)
(.../cronolog_1.6.2-5_i386.deb から) cronolog を展開しています...
cronolog (1.6.2-5) を設定しています ...

設定

/etc/apache2/sites-available/default で使った。

apache2の項目参照

apache-mpm-prefork

prefork必須の理由

apache2-mpmには以下の種類があるので、
どれを使うかという話になるのだが・・・

$ apt-cache search ".*" | grep apache2-mpm
apache2-mpm-perchild - experimental high speed perchild threaded model for Apache2
apache2-mpm-prefork - traditional model for Apache2
apache2-mpm-threadpool - experimental high speed model for Apache2 (transitional package)
apache2-mpm-worker - high speed threaded model for Apache2

apache2上でphp4を使う場合、

$ apt-cache depends libapache2-mod-php4
libapache2-mod-php4
  依存: libbz2-1.0
  依存: libc6
  依存: libcomerr2
  依存: libdb4.2
  依存: libexpat1
  依存: libkrb53
  依存: libpcre3
  依存: libssl0.9.7
  依存: libzzip-0-12
  依存: zlib1g
  依存: mime-support
  依存: apache2-mpm-prefork
  依存: php4-common
  依存: libmagic1
  提案: php4-pear

を使うのだが

  依存: apache2-mpm-prefork

という条件があるので、パッケージを使う限りpreforkしかあり得ない。

インストール

apt-get install apache2-mpm-prefork

$ sudo apt-get install apache2-mpm-prefork
Password:
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  apache2-common apache2-utils libapr0 libexpat1 libldap2 libmagic1 libsasl2 mime-support openssl ssl-cert
提案パッケージ:
  apache2-doc lynx www-browser file ca-certificates
推奨パッケージ:
  libsasl2-modules
以下のパッケージが新たにインストールされます:
  apache2-common apache2-mpm-prefork apache2-utils libapr0 libexpat1 libldap2 libmagic1 libsasl2 mime-support openssl
  ssl-cert
アップグレード: 0 個、新規インストール: 11 個、削除: 0 個、保留: 2 個。
2862kB のアーカイブを取得する必要があります。
展開後に追加で 9110kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main libsasl2 2.1.19-1.5 [259kB]
取得:2 ftp://ftp.jp.debian.org sarge/main libldap2 2.1.30-8 [149kB]
取得:3 ftp://ftp.jp.debian.org sarge/main libmagic1 4.12-1 [233kB]
取得:4 ftp://ftp.jp.debian.org sarge/main mime-support 3.28-1 [28.8kB]
取得:5 ftp://ftp.jp.debian.org sarge/main libexpat1 1.95.8-3 [59.6kB]
取得:6 ftp://ftp.jp.debian.org sarge/main openssl 0.9.7e-3sarge1 [902kB]
取得:7 ftp://ftp.jp.debian.org sarge/main ssl-cert 1.0-11 [6904B]
取得:8 ftp://ftp.jp.debian.org sarge/main libapr0 2.0.54-5 [131kB]
取得:9 ftp://ftp.jp.debian.org sarge/main apache2-utils 2.0.54-5 [91.0kB]
取得:10 ftp://ftp.jp.debian.org sarge/main apache2-common 2.0.54-5 [800kB]
取得:11 ftp://ftp.jp.debian.org sarge/main apache2-mpm-prefork 2.0.54-5 [203kB]
2862kB を 5s で取得しました (515kB/s)
パッケージを事前設定しています ...
未選択パッケージ libsasl2 を選択しています。
(データベースを読み込んでいます... 現在 14386 個のファイルとディレクトリがインストールされています。)
(.../libsasl2_2.1.19-1.5_i386.deb から) libsasl2 を展開しています...
未選択パッケージ libldap2 を選択しています。
(.../libldap2_2.1.30-8_i386.deb から) libldap2 を展開しています...
未選択パッケージ libmagic1 を選択しています。
(.../libmagic1_4.12-1_i386.deb から) libmagic1 を展開しています...
未選択パッケージ mime-support を選択しています。
(.../mime-support_3.28-1_all.deb から) mime-support を展開しています...
未選択パッケージ libexpat1 を選択しています。
(.../libexpat1_1.95.8-3_i386.deb から) libexpat1 を展開しています...
未選択パッケージ openssl を選択しています。
(.../openssl_0.9.7e-3sarge1_i386.deb から) openssl を展開しています...
Creating directory /etc/ssl
未選択パッケージ ssl-cert を選択しています。
(.../ssl-cert_1.0-11_all.deb から) ssl-cert を展開しています...
未選択パッケージ libapr0 を選択しています。
(.../libapr0_2.0.54-5_i386.deb から) libapr0 を展開しています...
未選択パッケージ apache2-utils を選択しています。
(.../apache2-utils_2.0.54-5_i386.deb から) apache2-utils を展開しています...
未選択パッケージ apache2-common を選択しています。
(.../apache2-common_2.0.54-5_i386.deb から) apache2-common を展開しています...
未選択パッケージ apache2-mpm-prefork を選択しています。
(.../apache2-mpm-prefork_2.0.54-5_i386.deb から) apache2-mpm-prefork を展開しています...
libsasl2 (2.1.19-1.5) を設定しています ...

libldap2 (2.1.30-8) を設定しています ...

libmagic1 (4.12-1) を設定しています ...

mime-support (3.28-1) を設定しています ...

libexpat1 (1.95.8-3) を設定しています ...

openssl (0.9.7e-3sarge1) を設定しています ...

ssl-cert (1.0-11) を設定しています ...

libapr0 (2.0.54-5) を設定しています ...

apache2-utils (2.0.54-5) を設定しています ...
apache2-common (2.0.54-5) を設定しています ...
Setting Apache2 to Listen on port 80. If this is not desired, please edit /etc/apache2/ports.conf as desired. Note that the Port directive no longer works.
Module userdir installed; run /etc/init.d/apache2 force-reload to enable.

apache2-mpm-prefork (2.0.54-5) を設定しています ...
Starting web server: Apache2.

確認

サービス動作確認

$ ps -ef | grep apache
root      2523     1  0 22:47 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  2524  2523  0 22:47 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  2525  2523  0 22:47 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  2526  2523  0 22:47 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  2527  2523  0 22:47 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  2528  2523  0 22:47 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  2534  2523  0 22:50 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
$ netstat -a | grep www
tcp6       0      0 *:www                   *:*                     LISTEN

ブラウザから以下表示
http://192.168.0.224/

おっけー

設定

/etc/apache2ports.conf

apache2.confからIncludeされる。

サービスポート番号の確認

$ cat /etc/apache2ports.conf
Listen 80

/etc/apache2/apache2.conf への各種設定

httpdデーモンのユーザ・グループ確認

$ cat /etc/apache2/apache2.conf
:
User www-data
Group www-data
:

ログ記録時にドメイン名の逆引きを行わない設定の確認

$ cat /etc/apache2/apache2.conf
:
HostnameLookups Off
:

cgiスクリプトの拡張子を設定する

# To use CGI scripts outside /cgi-bin/:
#
####AddHandler cgi-script .cgi
AddHandler cgi-script .cgi

詳細なバージョン情報を非公開にする

# 文章は、別ページからコピーしたのみ

以下参考にした。
HTTP レスポンスヘッダの Apache バージョンを非表示にする(http://sonic64.com/2006-02-09.html

変更前:HTTPレスポンス

Date: Thu, 09 Feb 2006 04:48:45 GMT
Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 ←★
X-Powered-By: PHP/4.3.10-16
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Thu, 09 Feb 2006 04:48:45 GMT
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=EUC-JP

変更前:Not Found ページ

Not Found

The requested URL /xxx was not found on this server.
Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 Server at xxx.dip.jp Port 80 ←★

/etc/apache2/apache2.conf に以下追加

# HTTP レスポンスヘッダの Server ヘッダの情報を最小限にする
ServerTokens ProductOnly

# サーバが生成するドキュメントの最下行に付与するフッタの設定  
ServerSignature Off

apache再起動

# /etc/init.d/apache2 restart

変更後:HTTPレスポンス

Date: Thu, 09 Feb 2006 04:58:46 GMT
Server: Apache ←★
X-Powered-By: PHP/4.3.10-16
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Thu, 09 Feb 2006 04:58:47 GMT
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=EUC-JP

変更後:Not Found ページ

Not Found

The requested URL /xxx/xxx was not found on this server.
Apache Server at xxx.dip.jp Port 80 ←★

うは。。。

X-Powered-By: PHP/4.3.10-16

もあるねぇ。。。
とりあえず今日はここまで(汗

/etc/apache2/sites-available/default への各種設定

/etc/apache2/sites-available/default は、
apache2.confからIncludeされる。

以下を設定する。

  • cookieによるトラッキングを有効にする。
  • /var/log/apache2/access.log へ cookieも出力する。
  • さらに、/var/log/apache2/ymd/access.log.%Y%m%d へも日別ログも出力する。

日別ログ出力先のディレクトリ作成

$ sudo mkdir /var/log/apache2/ymd

$ sudo vi /etc/apache2/sites-available/default

NameVirtualHost *
<VirtualHost *>
:
        <Directory /var/www/>
###             Options Indexes FollowSymLinks MultiViews
# add
Options FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                # This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
###             RedirectMatch ^/$ /apache2-default/
        </Directory>
        :
        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

###     CustomLog /var/log/apache2/access.log combined
        ServerSignature On

# add
CookieTracking on
CookieExpires "10 years"

# add
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{cookie}i\"" mycombined
CustomLog /var/log/apache2/access.log mycombined
SetEnvIf Request_URI 1x1\.png$ 1x1png
CustomLog "|/usr/bin/cronolog /var/log/apache2/ymd/access.log.%Y%m%d" mycombined env=!1x1png
:
</VirtualHost>

usertrackモジュールを有効とする。

$ sudo a2enmod
Which module would you like to enable?
Your choices are: actions asis auth_anon auth_dbm auth_digest auth_ldap cache cern_meta cgi cgid dav dav_fs deflate disk_cache expires ext_filter file_cache headers imap include info ldap mem_cache mime_magic proxy proxy_connect proxy_ftp proxy_http rewrite speling ssl suexec unique_id userdir usertrack vhost_alias
Module name? usertrack
Module usertrack installed; run /etc/init.d/apache2 force-reload to enable.
$ sudo /etc/init.d/apache2 force-reload
Forcing reload of web server: Apache2.

ブラウザからアクセスしてから、日別ログの出力を確認

$ ls -al /var/log/apache2/ymd
合計 4
drwxr-xr-x  2 root root  88 2006-04-02 16:36 .
drwxr-xr-x  3 root root 200 2006-04-02 16:31 ..
-rw-r--r--  1 root root 629 2006-04-02 16:36 access.log.20060402

おっけー

/etc/apache2/conf.d/local での設定

/var/www/local(http://hostname/local) をローカルネットワークからのみ
アクセス可能な場所として作る。

$ sudo /etc/apache2/conf.d/local

<Directory "/var/www/local/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/255.255.255.0
</Directory>

<Directory "/var/www/local/document/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/255.255.255.0
</Directory>

ついでに。。。
デフォルトで /etc/apache2/sites-available/default に定義されていた、
/usr/share/doc も local公開 に変更した。

$ sudo ln -s /usr/share/doc /var/www/local/document
$ ls -al /var/www/local
合計 1
drwxr-xr-x   3 root root  96 2006-04-02 02:54 .
drwxr-xr-x   4 root root 104 2006-04-02 02:47 ..
drwxr-xr-x  12 root root 512 2006-04-02 02:49 HotSaNIC
lrwxrwxrwx   1 root root  14 2006-04-02 02:54 document -> /usr/share/doc

ログのローテートについて

現行の設定を確認

$ cat /etc/logrotate.d/apache2

/var/log/apache2/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if [ -f /var/run/apache2.pid ]; then
                        /etc/init.d/apache2 restart > /dev/null
                fi
        endscript
}

稼動状況をみる

参考

Debian Administration :: Monitoring Apache with mod_status(http://www.debian-administration.org/articles/161

設定

現行のモジュール確認

$ sudo apache2 -l
Compiled in modules:
  core.c
  mod_access.c
  mod_auth.c
  mod_log_config.c
  mod_logio.c
  mod_env.c
  mod_setenvif.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_negotiation.c
  mod_dir.c
  mod_alias.c
  mod_so.c

モジュール設定追加

$ sudo a2enmod info
Module info installed; run /etc/init.d/apache2 force-reload to enable.

念のため確認

$ ls -al /etc/apache2/mods-enabled
合計 0
drwxr-xr-x  2 root root 296 2006-04-02 18:39 .
drwxr-xr-x  8 root root 392 2006-04-02 16:06 ..
lrwxrwxrwx  1 root root  40 2006-04-02 18:16 actions.load -> /etc/apache2/mods-available/actions.load
lrwxrwxrwx  1 root root  36 2006-03-31 22:47 cgi.load -> /etc/apache2/mods-available/cgi.load
lrwxrwxrwx  1 root root  37 2006-04-02 18:39 info.load -> /etc/apache2/mods-available/info.load
lrwxrwxrwx  1 root root  37 2006-04-02 17:45 php4.conf -> /etc/apache2/mods-available/php4.conf
lrwxrwxrwx  1 root root  37 2006-04-02 17:45 php4.load -> /etc/apache2/mods-available/php4.load
lrwxrwxrwx  1 root root  40 2006-03-31 22:47 userdir.conf -> /etc/apache2/mods-available/userdir.conf
lrwxrwxrwx  1 root root  40 2006-03-31 22:47 userdir.load -> /etc/apache2/mods-available/userdir.load
lrwxrwxrwx  1 root root  42 2006-04-02 16:26 usertrack.load -> /etc/apache2/mods-available/usertrack.load

アクセス設定する。
$ sudo vi /etc/apache2/conf.d/local

ExtendedStatus On
<Location /local/server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/255.255.255.0
</Location>
$ sudo /etc/init.d/apache2 force-reload
Forcing reload of web server: Apache2.

確認

http://192.168.0.224/local/server-status?refresh=5

表示された。
おっけー

利用しやすいようにリンクを作っておく

$ sudo vi /var/www/local/server-status-link.html

<a href="/local/server-status">server-status</a><br>
<a href="/local/server-status?refresh=5">server-status refresh=5</a><br>

/server-status の「"G" Gracefully finishing」って何?

今まで見たことのない "G" というのが現れた。
この "G" は、プロセスとしては存在しているようだが何も処理をしていないように見える。
なんだろう?

こんな感じ。

/server-status

Apache Server Status for xxxx.dip.jp

Server Version: Apache
Server Built: Sep 5 2005 11:15:09

Current Time: Wednesday, 05-Apr-2006 22:11:01 JST
Restart Time: Tuesday, 04-Apr-2006 04:07:08 JST
Parent Server Generation: 2
Server uptime: 1 day 18 hours 3 minutes 53 seconds
Total accesses: 124487 - Total Traffic: 683.2 MB
CPU Usage: u99.35 s13.02 cu.03 cs0 - .0742% CPU load
.822 requests/sec - 4730 B/second - 5.6 kB/request
27 requests currently being processed, 8 idle workers

_KK_GKKKKKKLKK_K.KLLWK___.KKKKK_._WK.K.K........................
................................................................
................................................................
................................................................

Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

Srv	PID	Acc	M	CPU 	SS	Req	Conn	Child	Slot	Client	VHost	Request
0-2	31434	0/32/9242	_ 	0.03	0	0	0.0	0.02	51.21 	***.25.246.123	localhost.localdomain	GET /********
1-2	31219	36/36/8087	K 	0.09	5	117	6.0	0.01	41.46 	***.7.207.101	localhost.localdomain	GET /********
2-2	30413	33/119/8884	K 	4.03	6	9	19.8	0.75	49.28 	***.124.95.106	localhost.localdomain	POST /********
3-2	31221	0/21/9172	_ 	0.34	0	1	0.0	0.04	46.30 	***.25.246.123	localhost.localdomain	GET /********
4-0	21230	12/85/6602	G 	1.18	9168	0	0.6	0.76	35.99 	***.146.95.253	localhost.localdomain	GET /********
:

/var/log/apache2/error.log

:
[Wed Apr 05 20:49:19 2006] [notice] Graceful restart requested, doing restart
[Wed Apr 05 20:49:19 2006] [notice] Apache configured -- resuming normal operations
[Wed Apr 05 20:49:19 2006] [warn] long lost child came home! (pid 21919)
:

う〜ん。。
よくわかんない。
gracefulって何だ?

Apache マニュアルより、抜粋

http://httpd.apache.org/docs/2.0/ja/stopping.html#graceful
緩やかな再起動
 シグナル: USR1 
 apachectl -k graceful 
 親プロセスは USR1 あるいは graceful シグナルを受け取ると、子プロセスに現在のリクエストの処理の後に終了する (あるいは何もしていなければすぐに終了する) ように助言します。 親プロセスは設定ファイルを再読込して、ログファイルを開き直します。 子プロセスが徐々になくなるに従って、 新しい世代の設定による子プロセスに置き換えていきます。 そして、これらが新たなリクエストに即座に応答し始めます。

FC4/Apache/Apacheのセットアップより、抜粋

http://pocketstudio.jp/linux/?FC4%2FApache%2FApache%A4%CE%A5%BB%A5%C3%A5%C8%A5%A2%A5%C3%A5%D7#ea6971a1
再起動には「restart」と「graceful」の2種類があります。
いずれも基本的にプロセスの停止・再開を行います。主にhttpd.conf の設定を変更したいときに用います。
:
「restart」では httpd プロセスを完全に停止してから再起動します。
対して「graceful」では httpd プロセスの通信が終わるのを待って、順次新しい設定を反映した httpd を起動させる方法です。サービスの停止が出来ない場合(既にウェブサーバが運用中など)には「graceful」の使用をお勧めします。

でも、gracefulなんていうパラメータを指定した記憶がないのですが。。
探ってみる。

/etc/init.d/apache2

:
reload)
        echo -n "Reloading web server config..."
        $APACHE2CTL graceful $2
        echo "done."
;;
:

reload = graceful だった。
そういえば、reloadしました。

でも、gracefulに沿った動きをするなら、そのうち "G" というステータスのプロセスは無くなるのが正解のような気がする。
しかしながら、"G" が残ったままになるのはどういうこと?
試しに、何度も reload(=graceful) していたら、ほとんどのプロセスが "G" になってしまった。

謎です。

というか、"G"で残ってしまう可能性があるのだったら、reloadを安易に使えないです。
restartの方が安全???

レスポンスのgzip圧縮対応(2006/10/01)

以下参照
Debian(Sarge):Prius/2006-10-1

postfix

インストール

apt-get install postfix

SMTPは既にexim4があるので、これを削除する必要がある。
このあたりのことはapt-getにまかせる。

$ sudo apt-get install postfix
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
提案パッケージ:
  procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre
推奨パッケージ:
  resolvconf
以下のパッケージは「削除」されます:
  exim4 exim4-base exim4-config exim4-daemon-light
以下のパッケージが新たにインストールされます:
  postfix
アップグレード: 0 個、新規インストール: 1 個、削除: 4 個、保留: 2 個。
802kB のアーカイブを取得する必要があります。
展開後に 1118kB のディスク容量が解放されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main postfix 2.1.5-9 [802kB]
802kB を 1s で取得しました (559kB/s)
パッケージを事前設定しています ...

┌──────────────────────────────────────────────┤ Postfix Configuration ├──────────────────────────────────────────────┐
│ ここで、一般的な設定のいくつかの選択肢があります。debconf の優先度を '低' または '標準' に設定している場合には、よ  │
│ り多くの質問をあとで尋ねられます。これらの質問を再び見たければ、"dpkg-reconfigure --priority=low postfix" をあとで  │
│ いつでも実行できます。                                                                                              │
│                                                                                                                     │
│ 設定しない - *あなたの設定をそのままにしておきたいのであれば、このオプションを選択してください。* 設定変更を何も行  │
│ いません。Postfix を設定済みでない場合には、メールシステムは不完全で、利用できないでしょう。                        │
│ /usr/share/postfix/main.cf.dist を編集し、etc/postfix/main.cf として変更を保存する、という設定をあなた自身で行うか  │
│ 、あるいは dpkg-reconfigure Postfix を実行する必要があります。main.cf は Postfix のインストール手順では変更されま   │
│ せん。                                                                                                              │
│                                                                                                                     │
│ インターネットサイト - メールは SMTP を使って直接送受信されます。いずれのカテゴリもあなたのニーズにぴったりとは当   │
│ てはまらない場合には、おそらくこれを選んで開始し、それから手で設定ファイルを編集するのがよいでしょう。              │
│                                                                                                                     │
│ スマートホスト付きインターネットサイト - SMTP で直接、または fetchmail のようなユーティリティを実行して、このマシ   │
│ ンでインターネットメールを受信します。外に送られるメールは、スマートホストを使って、任意のアドレスに書き換えられて  │
│ 送信されます。これはおそらくダイアルアップシステムで望まれるものです。                                              │
│                                                                                                                     │
│ サテライトシステム - すべてのメールは配信用の「スマートホスト」と呼ばれる別のマシンに送られます。root と            │
│ postmaster のメールは /etc/aliases に従って配信されます。ローカルではメールを受信しません。                         │
│                                                                                                                     │
│ ローカル配信のみ - あなたはネットワークに接続していません。ローカルユーザ向けのメールが配信されます。               │
│                                                                                                                     │
│ 設定の一般的なタイプはどれですか?                                                                                   │
│                                                                                                                     │
│                                          設定しない                                                                 │
│                                          インターネットサイト                                                       │
│                                          スマートホスト付きインターネット                                           │
│                                          サテライトシステム                                                         │
│                                          ローカルのみ                                                               │
│                                                                                                                     │
│                                                                                                                     │
│                                  <了解>                                    <取消>                                   │
│                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「インターネットサイト」

┌──────────────────────────────────────────────┤ Postfix Configuration ├──────────────────────────────────────────────┐
│ ユーザ root (あるいは uid 0 を持つその他のユーザ) はエイリアスを経由してメールをリダイレクトするか、それらのメール  │
│ を /var/mail/nobody に配信します。これは仕様です: メールは外部の配送エージェントに root として配信されることはあり  │
│ ません。                                                                                                            │
│                                                                                                                     │
│ 既存の /etc/aliases ファイルがある場合は、このエントリを追加する必要があるかもしれません (新しい /etc/aliases を作  │
│ 成するときのみこれは追加されます)。                                                                                 │
│                                                                                                                     │
│ ファイルを作成する場合、/etc/aliases に追加するアドレスは何ですか? (追加しない場合には NONE と入力してください。)   │
│                                                                                                                     │
│ root へのメールをどこに送りますか?                                                                                  │
│                                                                                                                     │
│ xxxx_______________________________________________________________________________________________________________ │
│                                                                                                                     │
│                                  <了解>                                    <取消>                                   │
│                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「xxxx」

┌──────────────────────────────────────────────┤ Postfix Configuration ├──────────────────────────────────────────────┐
│ `メール名' は、送出されるニュースおよびメールのメッセージ (ユーザ名と @ 記号のあとに付く) で表示されるアドレスのホ  │
│ スト名部分です。                                                                                                    │
│                                                                                                                     │
│ この名前は Postfix だけでなくほかのプログラムによっても使われます。これは、メールがそこから送出されることになる単   │
│ 一の完全修飾ドメイン名 (FQDN) にすべきです。                                                                        │
│                                                                                                                     │
│ メール名は?                                                                                                         │
│                                                                                                                     │
│ xxxx.dip.jp________________________________________________________________________________________________________ │
│                                                                                                                     │
│                                  <了解>                                    <取消>                                   │
│                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「xxxx.dip.jp」

┌──────────────────────────────────────────────┤ Postfix Configuration ├──────────────────────────────────────────────┐
│ このマシンが最終的な宛先と見なされるドメインのリストを、コンマで区切って指定してください。これがメールドメインのゲ  │
│ ートウェイであるなら、おそらくトップレベルドメインを含める必要があります。                                          │
│                                                                                                                     │
│ メールを受け取るほかの宛先はありますか? (なければ空のままにしておきます)                                            │
│                                                                                                                     │
│ xxxx.dip.jp, localhost.localdomain, localhost.localdomain, localhost_______________________________________________ │
│                                                                                                                     │
│                                  <了解>                                    <取消>                                   │
│                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→変更なし。

┌──────────────────────────────────────────────┤ Postfix Configuration ├──────────────────────────────────────────────┐
│                                                                                                                     │
│ 同期更新を強制すると、メールの処理が若干遅くなります。強制しない場合は、ジャーナリングファイルシステム (ext3 など)  │
│ を使っていない状態でシステムが運悪くクラッシュしたときに、リモートからのくつかのメールが失われる可能性があります。  │
│                                                                                                                     │
│ デフォルトは "off" です。                                                                                           │
│                                                                                                                     │
│ メールキューの同期更新を強制しますか?                                                                               │
│                                                                                                                     │
│                                  <はい>                                    <いいえ>                                 │
│                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「はい」

(データベースを読み込んでいます... 現在 15326 個のファイルとディレクトリがインストールされています。)
exim4 を削除しています...
dpkg: exim4-base: 依存関係に問題があります。しかし要求に従い削除しています:
 exim4-daemon-light は以下に依存(depends)します: exim4-base (>= 4.50).
exim4-base を削除しています...
Stopping MTA: exim4.
exim4-config を削除しています...
dpkg: exim4-daemon-light: 依存関係に問題があります。しかし要求に従い削除しています:
 at は以下に依存(depends)します: mail-transport-agent ...しかし:
  パッケージ mail-transport-agent はインストールされていません。
  パッケージ exim4-daemon-light が: mail-transport-agent を提供していますが、削除しようとしています。
 mailx は以下に依存(depends)します: exim4 | mail-transport-agent ...しかし:
  パッケージ exim4 はインストールされていません。
  パッケージ mail-transport-agent はインストールされていません。
  パッケージ exim4-daemon-light が: mail-transport-agent を提供していますが、削除しようとしています。
exim4-daemon-light を削除しています...
Stopping MTA: exim4.
未選択パッケージ postfix を選択しています。
(データベースを読み込んでいます... 現在 15206 個のファイルとディレクトリがインストールされています。)
(.../postfix_2.1.5-9_i386.deb から) postfix を展開しています...
postfix (2.1.5-9) を設定しています ...
Adding group `postfix' (104)...
終了。
システムユーザ postfix を追加しています...
Adding new user `postfix' (101) with group `postfix'.
ホームディレクトリは作成しません。
setting synchronous mail queue updates: true
Creating /etc/postfix/dynamicmaps.cf
Adding tcp map entry to /etc/postfix/dynamicmaps.cf
Adding group `postdrop' (105)...
終了。
setting myhostname: localhost.localdomain
setting alias maps
setting alias database
changing /etc/mailname
setting myorigin
setting destinations: xxxx.dip.jp, localhost.localdomain, localhost.localdomain, localhost
setting relayhost:
setting mynetworks: 127.0.0.0/8
setting mailbox_size_limit: 0
setting recipient_delimiter: +
setting inet_interfaces: all

Postfix is now set up with a default configuration.  If you need to make
changes, edit
/etc/postfix/main.cf (and others) as needed.  To view Postfix configuration
values, see postconf(1).

After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.

Running newaliases
Starting mail transport agent: Postfix.

確認

$ cat /var/log/mail.log
Mar 31 23:07:39 localhost postfix/postfix-script: starting the Postfix mail system
Mar 31 23:07:39 localhost postfix/master[2879]: daemon started -- version 2.1.5
$ netstat -a | grep smtp
tcp        0      0 *:smtp                  *:*                     LISTEN
tcp6       0      0 *:smtp                  *:*                     LISTEN
unix  2      [ ACC ]     STREAM     LISTENING     6953     private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     6997     private/bsmtp
$ ps -ef | grep postfix
root      2879     1  0 23:07 ?        00:00:00 /usr/lib/postfix/master
postfix   2881  2879  0 23:07 ?        00:00:00 pickup -l -t fifo -u -c
postfix   2882  2879  0 23:07 ?        00:00:00 qmgr -l -t fifo -u -c
xxxx      2892  2290  0 23:12 pts/0    00:00:00 grep postfix

設定

/etc/mailname

一応メールサーバのドメイン名を確認

$ cat /etc/mailname
xxxx.dip.jp

/etc/postfix/main.cf

mail.cf設定変更
→接続許可するクライアントを設定
→SMTPのHELOコマンドを必須化、完全修飾ドメイン名を要求
→VRFYコマンドの禁止

$ sudo vi /etc/postfix/main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = localhost.localdomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = xxxx.dip.jp, localhost.localdomain, localhost.localdomain, localhost
relayhost =
###mynetworks = 127.0.0.0/8
mynetworks = 127.0.0.0/8, 192.168.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

## add
smtpd_hello_required = yes
smtpd_hello_restrictions = reject_non_fqdn_hostname
disable_vrfy_command = yes

/etc/postfix/aliases

エイリアス確認
(ちなみに、これ変更後は postalias /etc/postfix/aliases で設定反映が必要)

$ cat /etc/aliases
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: xxxx

/etc/init.d/postfix reload

$ sudo /etc/init.d/postfix reload
Reloading Postfix configuration...done.

確認

ローカル→ローカル

$ mail xxxx@localhost
Subject: test
aaa
bbb
ccc
Cc:
$
$ mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/xxxx": 4 messages 4 new
>N  1 root@localhost.lo  Thu Mar 30 01:32   27/1042  Debconf: ssh M-$M-rM-@M-_M-DM-jM-$M-7M-$M-FM-$M-$M-$M-^M-$M-9 -- M-CM
 N  2 root@localhost.lo  Fri Mar 31 01:17   20/802   Cron <root@prius>    run-parts --report /etc/cron.hourly
 N  3 root@xxxx.dip.jp   Fri Mar 31 23:17   19/699   Cron <root@prius>    run-parts --report /etc/cron.hourly
 N  4 xxxx@xxxx.dip.jp   Fri Mar 31 23:18   16/437   test
& 4
Message 4:
From xxxx@xxxx.dip.jp  Fri Mar 31 23:18:35 2006
X-Original-To: xxxx@localhost
To: xxxx@localhost
Subject: test
Date: Fri, 31 Mar 2006 23:18:35 +0900 (JST)
From: xxxx@xxxx.dip.jp (xxxx)

aaa
bbb
ccc

& q
Saved 1 message in /home/xxxx/mbox
Held 3 messages in /var/mail/xxxx

第三者中継の可能性チェック

第三者中継チェック RBL.JP(http://www.rbl.jp/svcheck.php

おっけー

ipopd

インストール

apt-get install ipopd

$ sudo apt-get install ipopd
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  libc-client2002edebian libkrb53 mlock
提案パッケージ:
  logcheck uw-mailutils krb5-doc krb5-user
推奨パッケージ:
  exim4 mail-transport-agent
以下のパッケージが新たにインストールされます:
  ipopd libc-client2002edebian libkrb53 mlock
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 2 個。
997kB のアーカイブを取得する必要があります。
展開後に追加で 2118kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main libkrb53 1.3.6-2sarge2 [349kB]
取得:2 ftp://ftp.jp.debian.org sarge/main mlock 7:2002edebian1-11sarge1 [25.4kB]
取得:3 ftp://ftp.jp.debian.org sarge/main libc-client2002edebian 7:2002edebian1-11sarge1 [580kB]
取得:4 ftp://ftp.jp.debian.org sarge/main ipopd 7:2002edebian1-11sarge1 [42.6kB]
997kB を 2s で取得しました (407kB/s)
パッケージを事前設定しています ...

 ┌────────────────────────────────────┤ libc-client2002edebian を設定しています ├─────────────────────────────────────┐
 │                                                                                                                    │
 │ libc-client のバージョン 2002d 以下 (および 2003 の開発バージョン) では Maildirs をサポートする非公式でもうメンテ  │
 │ ナンスされていないパッチが含まれていました。デフォルトでは uw-imapd や ipopd では Maildirs を使いませんが、システ  │
 │ ム設定を変更していたり、その他のインストール済みプログラムが libc-client に依存しているのであれば、この更新はメー  │
 │ ル操作に障害をもたらす結果となります。                                                                             │
 │                                                                                                                    │
 │ Maildir サポートなしで libc-client のインストールを続けますか?                                                     │
 │                                                                                                                    │
 │ Maildir サポートなしで libc-client のインストールを続けますか?                                                     │
 │                                                                                                                    │
 │                                  <はい>                                    <いいえ>                                │
 │                                                                                                                    │
 └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→postfixをmboxで動かしているので、「はい」でおっけー

             ┌────────────────────────────────┤ ipopd を設定しています ├─────────────────────────────────┐
             │ pop2  = TCP ポート 109 で動作する TLS サポート付き POP 2。これはもう時代遅れのものです。  │
             │                                                                                           │
             │ pop3  = TCP ポート 110 で動作する TLS サポート付き POP 3。                                │
             │                                                                                           │
             │ pop3s = TCP ポート 995 で動作する SSL サポート付き POP 3。                                │
             │                                                                                           │
             │ よくわからなければ、pop3 と pop3s を選んでください。                                      │
             │                                                                                           │
             │ サーバでどのポートをリスンしますか?                                                       │
             │                                                                                           │
             │    [ ] pop2                                                                               │
             │    [*] pop3                                                                               │
             │    [*] pop3s                                                                              │
             │                                                                                           │
             │                                                                                           │
             │                                          <了解>                                           │
             │                                                                                           │
             └───────────────────────────────────────────────────────────────────────────────────────────┘
→このまま「了解」

┌─────────────────────────────────────────────┤ ipopd を設定しています ├──────────────────────────────────────────────┐
│                                                                                                                     │
│ 有効として選択されたポートは、ローカルに設定されたサービスによって上書きされる可能性があります。デフォルトでは、ポ  │
│ ートの選択は初期インストールのときのみ尊重され、その後の再設定では無視されます。                                    │
│                                                                                                                     │
│ ローカル調整の可能性を無視して、常に選択されたポートを使いますか?                                                   │
│                                                                                                                     │
│ ポートの選択を強制しますか?                                                                                         │
│                                                                                                                     │
│                                  <はい>                                    <いいえ>                                 │
│                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「いいえ」

未選択パッケージ libkrb53 を選択しています。
(データベースを読み込んでいます... 現在 15347 個のファイルとディレクトリがインストールされています。)
(.../libkrb53_1.3.6-2sarge2_i386.deb から) libkrb53 を展開しています...
未選択パッケージ mlock を選択しています。
(.../mlock_7%3a2002edebian1-11sarge1_i386.deb から) mlock を展開しています...
未選択パッケージ libc-client2002edebian を選択しています。
(.../libc-client2002edebian_7%3a2002edebian1-11sarge1_i386.deb から) libc-client2002edebian を展開しています...
未選択パッケージ ipopd を選択しています。
(.../ipopd_7%3a2002edebian1-11sarge1_i386.deb から) ipopd を展開しています...
libkrb53 (1.3.6-2sarge2) を設定しています ...

mlock (2002edebian1-11sarge1) を設定しています ...
libc-client2002edebian (2002edebian1-11sarge1) を設定しています ...

ipopd (2002edebian1-11sarge1) を設定しています ...
WARNING: Port "pop2" unselected in debconf but possibly handled locally.
Creating generic self-signed certificate: /etc/ssl/certs/ipop3d.pem
(replace with hand-crafted or authorized one if needed).

設定

/etc/cram-md5.pwd

CRAM-MD5(APOP)パスワードファイル作成
(セキュリティ上、Linuxへのログインのパスワードとは別のパスワードを設定するのがよい)

$ sudo vi /etc/cram-md5.pwd
(区切りはTabでないと正しく認識されません)

userid	password

重要ファイルなのでアクセス権を最小限に変更

$ sudo chown root:root /etc/cram-md5.pwd
$ sudo chmod 600 /etc/cram-md5.pwd

確認

pop3(apop)クライアントから確認
メール受信できればおっけー

ついでにsmtpも確認
メール送信できればおっけー

logcheck

参考

Logcheck/README 日本語訳 - Pocketstudio.jp Linux Wiki(http://pocketstudio.jp/linux/?Logcheck%2FREADME%20%C6%FC%CB%DC%B8%EC%CC%F5

インストール

apt-get install logcheck

$ sudo apt-get install logcheck
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  lockfile-progs logcheck-database logtail perl perl-modules
提案パッケージ:
  syslog-summary libterm-readline-gnu-perl libterm-readline-perl-perl
推奨パッケージ:
  perl-doc
以下のパッケージが新たにインストールされます:
  lockfile-progs logcheck logcheck-database logtail perl perl-modules
アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 2 個。
5557kB のアーカイブを取得する必要があります。
展開後に追加で 23.3MB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main lockfile-progs 0.1.10 [7522B]
取得:2 ftp://ftp.jp.debian.org sarge/main logtail 1.2.39 [27.4kB]
取得:3 http://security.debian.org sarge/updates/main perl-modules 5.8.4-8sarge3 [2178kB]
取得:4 ftp://ftp.jp.debian.org sarge/main logcheck-database 1.2.39 [61.5kB]
取得:5 ftp://ftp.jp.debian.org sarge/main logcheck 1.2.39 [44.6kB]
取得:6 http://security.debian.org sarge/updates/main perl 5.8.4-8sarge3 [3238kB]
5557kB を 32s で取得しました (173kB/s)
パッケージを事前設定しています ...

           ┌─────────────────────────────────┤ logcheck を設定しています ├─────────────────────────────────┐
           │                                                                                               │
           │ レポートのレベルやレポート先のメールアドレスを変更する                                        │
           │                                                                                               │
           │ レポートのレベル (デフォルトは server) やメールアドレス (デフォルトは root) を変更するには、  │
           │ "/etc/logcheck/logcheck.conf" を編集する必要があります。                                      │
           │                                                                                               │
           │ 詳細は /usr/share/doc/logcheck を参照してください。                                           │
           │                                                                                               │
           │                                            <了解>                                             │
           │                                                                                               │
           └───────────────────────────────────────────────────────────────────────────────────────────────┘

未選択パッケージ perl-modules を選択しています。
(データベースを読み込んでいます... 現在 15411 個のファイルとディレクトリがインストールされています。)
(.../perl-modules_5.8.4-8sarge3_all.deb から) perl-modules を展開しています...
未選択パッケージ perl を選択しています。
(.../perl_5.8.4-8sarge3_i386.deb から) perl を展開しています...
未選択パッケージ lockfile-progs を選択しています。
(.../lockfile-progs_0.1.10_i386.deb から) lockfile-progs を展開しています...
未選択パッケージ logtail を選択しています。
(.../logtail_1.2.39_all.deb から) logtail を展開しています...
未選択パッケージ logcheck-database を選択しています。
(.../logcheck-database_1.2.39_all.deb から) logcheck-database を展開しています...
未選択パッケージ logcheck を選択しています。
(.../logcheck_1.2.39_all.deb から) logcheck を展開しています...
lockfile-progs (0.1.10) を設定しています ...
logcheck-database (1.2.39) を設定しています ...

perl-modules (5.8.4-8sarge3) を設定しています ...
perl (5.8.4-8sarge3) を設定しています ...

logtail (1.2.39) を設定しています ...
logcheck (1.2.39) を設定しています ...

設定

/etc/logcheck/logcheck.logfiles

チェック対象ファイルにapacheログを追加します。

$ sudo vi /etc/logcheck/logcheck.logfiles

# these files will be checked by logcheck
# This has been tuned towards a default syslog install
/var/log/syslog
/var/log/auth.log

# add
/var/log/apache/error.log

/etc/cron.d/logcheck

インストール直後設定では、毎時2分に起動するようになっている。

$ cat /etc/cron.d/logcheck
# /etc/cron.d/logcheck: crontab entries for the logcheck package

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

@reboot         logcheck    if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck -R; fi
2 * * * *       logcheck    if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi

# EOF

確認

以下の覚書参照

覚書

イベント名 検出条件 無視条件
Attack Alerts /etc/logcheck/cracking.d /etc/logcheck/cracking.ignore.d
Security Events/etc/logcheck/violations.d /etc/logcheck/violations.ignore.d
System Events /etc/logcheck/ignore.d.* /etc/logcheck/ignore.d.*

条件記述はegrepの正規表現

条件変更後の動作確認
# -t : オフセットを更新しない
# -d : デバッグモード

# su -s /bin/bash -c "/usr/sbin/logcheck -t -d" logcheck

無視するログを設定する。

logcheck が送信してくるメール

:
Apr  6 09:17:03 localhost ntpdate[4248]: step time server 133.243.232.68 offset 0.355533 sec
Apr  6 10:17:03 localhost ntpdate[7425]: step time server 133.23.250.240 offset 0.355003 sec
Apr  6 11:17:03 localhost ntpdate[10666]: step time server 133.243.232.68 offset 0.355466 sec
Apr  6 12:17:03 localhost ntpdate[13818]: step time server 192.218.230.58 offset 0.356306 sec
Apr  6 13:17:04 localhost ntpdate[16991]: step time server 133.186.4.15 offset 0.354329 sec
Apr  6 14:17:03 localhost ntpdate[20252]: step time server 133.25.251.9 offset 0.356467 sec
Apr  6 15:17:03 localhost ntpdate[23395]: step time server 192.218.230.58 offset 0.355843 sec
Apr  6 16:17:03 localhost ntpdate[26657]: step time server 133.243.232.68 offset 0.354322 sec
Apr  6 17:17:03 localhost ntpdate[30058]: step time server 133.243.3.209 offset 0.355954 sec
Apr  6 18:17:03 localhost ntpdate[887]: step time server 133.23.250.240 offset 0.355851 sec
Apr  6 19:17:04 localhost ntpdate[4173]: step time server 134.160.82.20 offset 0.355367 sec
Apr  6 20:17:03 localhost ntpdate[7556]: step time server 133.243.3.209 offset 0.355552 sec
:

ntpdate のログが邪魔・・・

無視するよう設定する。

/etc/logcheck/ignore.d.server/mycheck_ntpdate

ntpdate\[[0-9]+\]: step time server [.0-9]+ offset [.0-9]+ sec

起動周期を変更

デフォルトでは毎時になっているので、1日1回に変更してみる。

/etc/cron.d/logcheck

$ sudo vi /etc/cron.d/logcheck

# /etc/cron.d/logcheck: crontab entries for the logcheck package

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

@reboot         logcheck    if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck -R; fi
###2 * * * *       logcheck    if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi
22 4 * * *       logcheck    if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi

# EOF

sudoの実行ログが表示されないのはどうして?(2006/11/04)

ちょっと調べただけのメモ。

以下のようにauth.logには記録されているのだけど。

root@prius:/etc/logcheck# grep sudo /var/log/auth.log
Nov  4 00:30:49 localhost sudo:     goun : TTY=pts/0 ; PWD=/var/log ; USER=root ; COMMAND=/usr/bin/vi messages.0
Nov  4 00:32:34 localhost sudo:     goun : TTY=pts/0 ; PWD=/var/log ; USER=root ; COMMAND=/bin/zcat syslog.5.gz

logcheck のレポートには、sudo実行ログが含まれていません。

sudo関連のチェックルールを記述したファイルを探す

root@prius:/etc/logcheck# pwd
/etc/logcheck
root@prius:/etc/logcheck# du -a | grep sudo
4       ./violations.d/sudo
4       ./violations.ignore.d/logcheck-sudo
root@prius:/etc/logcheck#

sudoのSecurity Eventsの検出条件

root@prius:/etc/logcheck# cat ./violations.d/sudo
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ sudo\[[0-9]+\]: \(pam_[[:alnum:]]+\) .*$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ sudo: .*$
root@prius:/etc/logcheck#

sudoのSecurity Eventsの無視条件

root@prius:/etc/logcheck# cat ./violations.ignore.d/logcheck-sudo
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ sudo:[[:space:]]+[_[:alnum:]-]+ : TTY=(unknown|pts/[0-9]+|tty[0-9]+) ; PWD=.+ ; USER=[^[:space:]]+ ; COMMAND=/(usr|etc|bin|sbin)/.*$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ sudo:[[:space:]]+[_[:alnum:]-]+ : \(command continued\).*$
root@prius:/etc/logcheck#

hotsanic

前準備

hotsanic自身は、パッケージがないのでソースからインストールする。
その前に、必要パッケージを先にインストールしておく。

前準備:rrdtool、librrds-perl、imagemagick

apt-get install rrdtool

$ sudo apt-get install rrdtool
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  libfreetype6 libgd2-noxpm libjpeg62 libpng12-0 librrd0
提案パッケージ:
  libfreetype6-dev libgd-tools librrds-perl
以下のパッケージが新たにインストールされます:
  libfreetype6 libgd2-noxpm libjpeg62 libpng12-0 librrd0 rrdtool
アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 2 個。
1558kB のアーカイブを取得する必要があります。
展開後に追加で 4243kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main libfreetype6 2.1.7-2.4 [364kB]
取得:2 ftp://ftp.jp.debian.org sarge/main libjpeg62 6b-10 [80.9kB]
取得:3 ftp://ftp.jp.debian.org sarge/main libpng12-0 1.2.8rel-1 [115kB]
取得:4 ftp://ftp.jp.debian.org sarge/main libgd2-noxpm 2.0.33-1.1 [193kB]
取得:5 ftp://ftp.jp.debian.org sarge/main librrd0 1.0.49-1 [73.2kB]
取得:6 ftp://ftp.jp.debian.org sarge/main rrdtool 1.0.49-1 [732kB]
1558kB を 3s で取得しました (411kB/s)
未選択パッケージ libfreetype6 を選択しています。
(データベースを読み込んでいます... 現在 16995 個のファイルとディレクトリがインストールされています。)
(.../libfreetype6_2.1.7-2.4_i386.deb から) libfreetype6 を展開しています...
未選択パッケージ libjpeg62 を選択しています。
(.../libjpeg62_6b-10_i386.deb から) libjpeg62 を展開しています...
未選択パッケージ libpng12-0 を選択しています。
(.../libpng12-0_1.2.8rel-1_i386.deb から) libpng12-0 を展開しています...
未選択パッケージ libgd2-noxpm を選択しています。
(.../libgd2-noxpm_2.0.33-1.1_i386.deb から) libgd2-noxpm を展開しています...
未選択パッケージ librrd0 を選択しています。
(.../librrd0_1.0.49-1_i386.deb から) librrd0 を展開しています...
未選択パッケージ rrdtool を選択しています。
(.../rrdtool_1.0.49-1_i386.deb から) rrdtool を展開しています...
libfreetype6 (2.1.7-2.4) を設定しています ...

libjpeg62 (6b-10) を設定しています ...

libpng12-0 (1.2.8rel-1) を設定しています ...

libgd2-noxpm (2.0.33-1.1) を設定しています ...
librrd0 (1.0.49-1) を設定しています ...

rrdtool (1.0.49-1) を設定しています ...

apt-get install librrds-perl

$ sudo apt-get install librrds-perl
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  librrds-perl
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。
37.8kB のアーカイブを取得する必要があります。
展開後に追加で 119kB のディスク容量が消費されます。
取得:1 ftp://ftp.jp.debian.org sarge/main librrds-perl 1.0.49-1 [37.8kB]
37.8kB を 0s で取得しました (54.5kB/s)
未選択パッケージ librrds-perl を選択しています。
(データベースを読み込んでいます... 現在 17253 個のファイルとディレクトリがインストールされています。)
(.../librrds-perl_1.0.49-1_i386.deb から) librrds-perl を展開しています...
librrds-perl (1.0.49-1) を設定しています ...

apt-get install imagemagick

$ sudo apt-get install imagemagick
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  libbz2-1.0 libdps1 libice6 libjasper-1.701-1 liblcms1 libmagick6 libsm6 libtiff4 libx11-6 libxext6 libxml2 libxt6
  xlibs-data
提案パッケージ:
  gs html2ps lpr libbz2-dev bzip2 libjasper-runtime liblcms-utils
推奨パッケージ:
  xml-core
以下のパッケージが新たにインストールされます:
  imagemagick libbz2-1.0 libdps1 libice6 libjasper-1.701-1 liblcms1 libmagick6 libsm6 libtiff4 libx11-6 libxext6 libxml2
  libxt6 xlibs-data
アップグレード: 0 個、新規インストール: 14 個、削除: 0 個、保留: 2 個。
6804kB のアーカイブを取得する必要があります。
展開後に追加で 24.2MB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main libbz2-1.0 1.0.2-7 [38.7kB]
取得:2 ftp://ftp.jp.debian.org sarge/main libice6 4.3.0.dfsg.1-14sarge1 [203kB]
取得:3 http://security.debian.org sarge/updates/main libmagick6 6:6.0.6.2-2.6 [1171kB]
取得:4 ftp://ftp.jp.debian.org sarge/main libsm6 4.3.0.dfsg.1-14sarge1 [181kB]
取得:5 ftp://ftp.jp.debian.org sarge/main libxext6 4.3.0.dfsg.1-14sarge1 [188kB]
取得:6 ftp://ftp.jp.debian.org sarge/main libxt6 4.3.0.dfsg.1-14sarge1 [329kB]
取得:7 ftp://ftp.jp.debian.org sarge/main libdps1 4.3.0.dfsg.1-14sarge1 [286kB]
取得:8 ftp://ftp.jp.debian.org sarge/main libjasper-1.701-1 1.701.0-2 [135kB]
取得:9 ftp://ftp.jp.debian.org sarge/main liblcms1 1.13-1 [123kB]
取得:10 ftp://ftp.jp.debian.org sarge/main libtiff4 3.7.2-3 [452kB]
取得:11 ftp://ftp.jp.debian.org sarge/main xlibs-data 4.3.0.dfsg.1-14sarge1 [906kB]
取得:12 ftp://ftp.jp.debian.org sarge/main libx11-6 4.3.0.dfsg.1-14sarge1 [725kB]
取得:13 ftp://ftp.jp.debian.org sarge/main libxml2 2.6.16-7 [602kB]
取得:14 http://security.debian.org sarge/updates/main imagemagick 6:6.0.6.2-2.6 [1465kB]
6804kB を 25s で取得しました (265kB/s)
パッケージを事前設定しています ...
未選択パッケージ libbz2-1.0 を選択しています。
(データベースを読み込んでいます... 現在 17262 個のファイルとディレクトリがインストールされています。)
(.../libbz2-1.0_1.0.2-7_i386.deb から) libbz2-1.0 を展開しています...
未選択パッケージ libice6 を選択しています。
(.../libice6_4.3.0.dfsg.1-14sarge1_i386.deb から) libice6 を展開しています...
未選択パッケージ libsm6 を選択しています。
(.../libsm6_4.3.0.dfsg.1-14sarge1_i386.deb から) libsm6 を展開しています...
未選択パッケージ libxext6 を選択しています。
(.../libxext6_4.3.0.dfsg.1-14sarge1_i386.deb から) libxext6 を展開しています...
未選択パッケージ libxt6 を選択しています。
(.../libxt6_4.3.0.dfsg.1-14sarge1_i386.deb から) libxt6 を展開しています...
未選択パッケージ libdps1 を選択しています。
(.../libdps1_4.3.0.dfsg.1-14sarge1_i386.deb から) libdps1 を展開しています...
未選択パッケージ libjasper-1.701-1 を選択しています。
(.../libjasper-1.701-1_1.701.0-2_i386.deb から) libjasper-1.701-1 を展開しています...
未選択パッケージ liblcms1 を選択しています。
(.../liblcms1_1.13-1_i386.deb から) liblcms1 を展開しています...
未選択パッケージ libtiff4 を選択しています。
(.../libtiff4_3.7.2-3_i386.deb から) libtiff4 を展開しています...
未選択パッケージ xlibs-data を選択しています。
(.../xlibs-data_4.3.0.dfsg.1-14sarge1_all.deb から) xlibs-data を展開しています...
未選択パッケージ libx11-6 を選択しています。
(.../libx11-6_4.3.0.dfsg.1-14sarge1_i386.deb から) libx11-6 を展開しています...
未選択パッケージ libxml2 を選択しています。
(.../libxml2_2.6.16-7_i386.deb から) libxml2 を展開しています...
未選択パッケージ libmagick6 を選択しています。
(.../libmagick6_6%3a6.0.6.2-2.6_i386.deb から) libmagick6 を展開しています...
未選択パッケージ imagemagick を選択しています。
(.../imagemagick_6%3a6.0.6.2-2.6_i386.deb から) imagemagick を展開しています...
libbz2-1.0 (1.0.2-7) を設定しています ...

libice6 (4.3.0.dfsg.1-14sarge1) を設定しています ...

libsm6 (4.3.0.dfsg.1-14sarge1) を設定しています ...

libxext6 (4.3.0.dfsg.1-14sarge1) を設定しています ...

libxt6 (4.3.0.dfsg.1-14sarge1) を設定しています ...

libdps1 (4.3.0.dfsg.1-14sarge1) を設定しています ...

libjasper-1.701-1 (1.701.0-2) を設定しています ...

liblcms1 (1.13-1) を設定しています ...

libtiff4 (3.7.2-3) を設定しています ...

xlibs-data (4.3.0.dfsg.1-14sarge1) を設定しています ...

libx11-6 (4.3.0.dfsg.1-14sarge1) を設定しています ...

libxml2 (2.6.16-7) を設定しています ...

libmagick6 (6.0.6.2-2.6) を設定しています ...

imagemagick (6.0.6.2-2.6) を設定しています ...

前準備:lm-sensors

apt-get install lm-sensors

$ sudo apt-get install lm-sensors
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  libsensors3 ucf
提案パッケージ:
  lm-sensors-mod-2.9 kernel-image-2.6 lm-sensors-source i2c-source sensord read-edid
推奨パッケージ:
  debconf-utils
以下のパッケージが新たにインストールされます:
  libsensors3 lm-sensors ucf
アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 2 個。
589kB のアーカイブを取得する必要があります。
展開後に追加で 2114kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main ucf 1.17 [36.9kB]
取得:2 http://security.debian.org sarge/updates/main libsensors3 1:2.9.1-1sarge3 [78.0kB]
取得:3 http://security.debian.org sarge/updates/main lm-sensors 1:2.9.1-1sarge3 [474kB]
589kB を 6s で取得しました (88.5kB/s)
パッケージを事前設定しています ...
未選択パッケージ libsensors3 を選択しています。
(データベースを読み込んでいます... 現在 18178 個のファイルとディレクトリがインストールされています。)
(.../libsensors3_1%3a2.9.1-1sarge3_i386.deb から) libsensors3 を展開しています...
未選択パッケージ ucf を選択しています。
(.../apt/archives/ucf_1.17_all.deb から) ucf を展開しています...
Moving old data out of the way
未選択パッケージ lm-sensors を選択しています。
(.../lm-sensors_1%3a2.9.1-1sarge3_i386.deb から) lm-sensors を展開しています...
libsensors3 (2.9.1-1sarge3) を設定しています ...

ucf (1.17) を設定しています ...

lm-sensors (2.9.1-1sarge3) を設定しています ...

Creating config file /etc/sensors.conf with new version

lm-sensors 設定

$ sensors
Can't access procfs/sysfs file
Unable to find i2c bus information;
For 2.6 kernels, make sure you have mounted sysfs and done
'modprobe i2c_sensor'!
For older kernels, make sure you have done 'modprobe i2c-proc'!

エラーになった。。。

$ sudo modprobe i2c-proc
FATAL: Module i2c_proc not found.

あら。。エラー。。。

$ sudo modprobe i2c_sensor
$

お・・・

$ sensors
No sensors found!

やっぱりダメ。。。

$ sudo sensors-detect

This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c and
lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the /dev/i2c-*
files, for most things.
If you have patched your kernel and have some drivers built in, you can
safely answer NO if asked to load some modules. In this case, things may
seem a bit confusing, but they will still work.

It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.

 We can start with probing for (PCI) I2C or SMBus adapters.
 You do not need any special privileges for this.
 Do you want to probe now? (YES/no):
Probing for PCI bus adapters...
Use driver `i2c-viapro' for device 00:07.4: VIA Technologies VT82C686 Apollo ACPI
Probe succesfully concluded.

We will now try to load each adapter module in turn.
Load `i2c-viapro' (say NO if built into your kernel)? (YES/no):
Module loaded succesfully.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

 To continue, we need module `i2c-dev' to be loaded.
 If it is built-in into your kernel, you can safely skip this.
 i2c-dev is not loaded. Do you want to load it now? (YES/no):
 Module loaded succesfully.

 We are now going to do the adapter probings. Some adapters may hang halfway
 through; we can't really help that. Also, some chips will be double detected;
 we choose the one with the highest confidence value in that case.
 If you found that the adapter hung after probing a certain address, you can
 specify that address to remain unprobed. That often
 includes address 0x69 (clock chip).

Next adapter: SMBus Via Pro adapter at 8100
Do you want to scan it? (YES/no/selectively):
Client found at address 0x2d
Probing for `Myson MTP008'... Failed!
Probing for `National Semiconductor LM78'... Failed!
Probing for `National Semiconductor LM78-J'... Failed!
Probing for `National Semiconductor LM79'... Failed!
Probing for `National Semiconductor LM80'... Failed!
Probing for `National Semiconductor LM85 or LM96000'... Failed!
Probing for `Analog Devices ADM1027, ADT7460 or ADT7463'... Failed!
Probing for `SMSC EMC6D100, EMC6D101 or EMC6D102'... Failed!
Probing for `National Semiconductor LM87'... Failed!
Probing for `National Semiconductor LM93'... Failed!
Probing for `Winbond W83781D'... Failed!
Probing for `Winbond W83782D'... Failed!
Probing for `Winbond W83783S'... Failed!
Probing for `Winbond W83791D'... Failed!
Probing for `Winbond W83792D'... Failed!
Probing for `Winbond W83791SD'... Failed!
Probing for `Winbond W83627HF'... Failed!
Probing for `Winbond W83627EHF'... Failed!
Probing for `Asus AS99127F (rev.1)'... Failed!
Probing for `Asus AS99127F (rev.2)'... Failed!
Probing for `Asus ASB100 Bach'... Failed!
Probing for `Winbond W83L784R/AR'... Failed!
Probing for `Winbond W83L785R'... Failed!
Probing for `Genesys Logic GL518SM Revision 0x00'... Failed!
Probing for `Genesys Logic GL518SM Revision 0x80'... Failed!
Probing for `Genesys Logic GL520SM'... Failed!
Probing for `Genesys Logic GL525SM'... Failed!
Probing for `Analog Devices ADM9240'... Failed!
Probing for `Dallas Semiconductor DS1780'... Failed!
Probing for `National Semiconductor LM81'... Failed!
Probing for `Analog Devices ADM1026'... Failed!
Probing for `Analog Devices ADM1025'... Failed!
Probing for `Philips NE1619'... Failed!
Probing for `Analog Devices ADM1024'... Failed!
Probing for `Analog Devices ADM1029'... Failed!
Probing for `Analog Devices ADM1030'... Failed!
Probing for `Analog Devices ADM1031'... Failed!
Probing for `Analog Devices ADM1022'... Failed!
Probing for `Texas Instruments THMC50'... Failed!
Probing for `VIA VT1211 (I2C)'... Failed!
Probing for `ITE IT8712F'... Failed!
Probing for `ITE IT8705F / SiS 950'... Failed!
Probing for `ALi M5879'... Failed!
Client found at address 0x69

Some chips are also accessible through the ISA bus. ISA probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan the ISA bus? (YES/no):
Probing for `National Semiconductor LM78'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM78-J'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM79'
  Trying address 0x0290... Failed!
Probing for `Winbond W83781D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83782D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627HF'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627EHF'
  Trying address 0x0290... Failed!
Probing for `Winbond W83697HF'
  Trying address 0x0290... Failed!
Probing for `Silicon Integrated Systems SIS5595'
  Trying general detect... Failed!
Probing for `VIA Technologies VT82C686 Integrated Sensors'
  Trying general detect... Success!
    (confidence 9, driver `via686a')
Probing for `VIA Technologies VT8231 Integrated Sensors'
  Trying general detect... Failed!
Probing for `ITE IT8712F'
  Trying address 0x0290... Failed!
Probing for `ITE IT8705F / SiS 950'
  Trying address 0x0290... Failed!
Probing for `IPMI BMC KCS'
  Trying address 0x0ca0... Failed!
Probing for `IPMI BMC SMIC'
  Trying address 0x0ca8... Failed!

Some Super I/O chips may also contain sensors. Super I/O probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan for Super I/O sensors? (YES/no):
Probing for `ITE 8702F Super IO Sensors'
  Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
  Failed! (skipping family)
Probing for `Winbond W83627EHF Super IO Sensors'
  Failed! (skipping family)

Do you want to scan for secondary Super I/O sensors? (YES/no):
Probing for `ITE 8702F Super IO Sensors'
  Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
  Failed! (skipping family)
Probing for `Winbond W83627EHF Super IO Sensors'
  Failed! (skipping family)

 Now follows a summary of the probes I have just done.
 Just press ENTER to continue:

Driver `via686a' (should be inserted):
  Detects correctly:
  * ISA bus, undetermined address (Busdriver `i2c-isa')
Hint: Try forcing the chip address. Consult the documentation
of particular chip for details and address value.
    Chip `VIA Technologies VT82C686 Integrated Sensors' (confidence: 9)


 I will now generate the commands needed to load the I2C modules.
 Sometimes, a chip is available both through the ISA bus and an I2C bus.
 ISA bus access is faster, but you need to load an additional driver module
 for it. If you have the choice, do you want to use the ISA bus or the
 I2C/SMBus (ISA/smbus)?

To make the sensors modules behave correctly, add these lines to
/etc/modules:

#----cut here----
# I2C adapter drivers
i2c-isa
# I2C chip drivers
via686a
#----cut here----

Do you want to add these lines to /etc/modules automatically? (yes/NO)yes
$

/etc/modulesに追加された内容を確認

$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line.  Comments begin with
# a "#", and everything on the line after them are ignored.

ide-cd
ide-detect
ide-disk
psmouse
/etc$ cat modules
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line.  Comments begin with
# a "#", and everything on the line after them are ignored.

ide-cd
ide-detect
ide-disk
psmouse

# Generated by sensors-detect on Sat Apr  1 01:03:10 2006
# I2C adapter drivers
i2c-isa
# I2C chip drivers
via686a

リブートして

~$ sensors
No sensors found!

ダメでした。。。

/usr/share/doc/lm-sensors/doc/FAQ.gz

:
4.19.1 Dmesg says `use force_addr=0xaddr'! What address do I use?
-----------------------------------------------------------------

If the problem is a PCI device whose base address is not set, you may
be able to set the address with a force parameter. The via686a and
sis5595 chip drivers, and some bus drivers, support the command line
`modprobe via686a force_addr=0xADDRESS' where ADDRESS is the I/O
address. You must select an address that is not in use.  `cat
`/proc/ioports'' to check (carefully) for conflicts. A high number like
0xf000 is generally safe.
:

# cat /proc/ioports

0000-001f : dma1
0020-0021 : pic1
0040-005f : timer
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial
04d0-04d1 : pnp 00:0a
0cf8-0cff : PCI conf1
1000-10ff : 0000:00:07.5
  1000-10ff : via82cxxx_audio
1400-14ff : 0000:00:07.6
1800-18ff : 0000:00:09.0
  1800-18ff : 8139too
1c00-1c1f : 0000:00:07.2
  1c00-1c1f : uhci_hcd
1c20-1c2f : 0000:00:07.1
  1c20-1c27 : ide0
  1c28-1c2f : ide1
1c30-1c33 : 0000:00:07.5
  1c30-1c33 : via82cxxx_audio
1c34-1c37 : 0000:00:07.5
  1c34-1c37 : via82cxxx_audio
3400-347f : pnp 00:0b
4000-40ff : PCI CardBus #02
4400-44ff : PCI CardBus #02
4800-48ff : PCI CardBus #06
4c00-4cff : PCI CardBus #06
8000-807f : pnp 00:0a
8100-810f : 0000:00:07.4
  8100-810f : pnp 00:0a
9000-9fff : PCI Bus #01
  9000-90ff : 0000:01:00.0

# cat /proc/bus/pci/lspci

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03)
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 42)
0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a)
0000:00:07.4 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
0000:00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 50)
0000:00:07.6 Communication controller: VIA Technologies, Inc. Intel 537 [AC97 Modem] (rev 30)
0000:00:09.0 Ethernet controller: Accton Technology Corporation SMC2-1211TX (rev 10)
0000:00:0a.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
0000:00:0a.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
0000:00:0b.0 FireWire (IEEE 1394): NEC Corporation IEEE 1394 Host Controller (rev 01)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 64)

前準備:mbmon

apt-get install mbmon

$ sudo apt-get install mbmon
Password:
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
提案パッケージ:
  xmbmon
以下のパッケージが新たにインストールされます:
  mbmon
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。
65.8kB のアーカイブを取得する必要があります。
展開後に追加で 115kB のディスク容量が消費されます。
取得:1 ftp://ftp.jp.debian.org sarge/main mbmon 2.05-2 [65.8kB]
65.8kB を 0s で取得しました (72.8kB/s)
未選択パッケージ mbmon を選択しています。
(データベースを読み込んでいます... 現在 18373 個のファイルとディレクトリがインストールされています。)
(.../archives/mbmon_2.05-2_i386.deb から) mbmon を展開しています...
mbmon (2.05-2) を設定しています ...

確認

$ sudo mbmon -d -I
No ISA-IO HWM available!!
InitMBInfo: Success
$ sudo mbmon -d -S
Using SMBus access method[VIA82C686(KT133/A)]!!
* VIA Chip VT82C686A/B found.
$ sudo mbmon -d -V
Using VIA686 HWM directly!!
* VIA Chip VT82C686A/B found.
$ mbmon

Temp.=  0.0,  0.0, 25.1; Rot.=    0,    0,    0
Vcore = 3.10, 3.10; Volt. = 3.29, 6.41, 15.60,   0.00,  0.00

前準備:smartmontools

apt-get install smartmontools

~$ sudo apt-get install smartmontools
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  smartmontools
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。
222kB のアーカイブを取得する必要があります。
展開後に追加で 508kB のディスク容量が消費されます。
取得:1 ftp://ftp.jp.debian.org sarge/main smartmontools 5.32-3 [222kB]
222kB を 0s で取得しました (313kB/s)
未選択パッケージ smartmontools を選択しています。
(データベースを読み込んでいます... 現在 18386 個のファイルとディレクトリがインストールされています。)
(.../smartmontools_5.32-3_i386.deb から) smartmontools を展開しています...
smartmontools (5.32-3) を設定しています ...
Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools

確認

~$ sudo /usr/sbin/smartctl -a /dev/hda
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     HITACHI_DK23CA-30
Serial Number:    12LK7A
Firmware Version: 00H0A0A3
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   5
ATA Standard is:  ATA/ATAPI-5 T13 1321D revision 3
Local Time is:    Sat Apr  1 04:02:53 2006 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                 (1820) seconds.
Offline data collection
capabilities:                    (0x1b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        No General Purpose Logging support.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  31) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000d   100   100   050    Pre-fail  Offline      -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0007   100   100   050    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   097   097   050    Old_age   Always       -       3393
  5 Reallocated_Sector_Ct   0x0033   099   099   010    Pre-fail  Always       -       8
  7 Seek_Error_Rate         0x000f   100   100   050    Pre-fail  Always       -       223
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Minutes        0x0032   075   075   060    Old_age   Always       -       12717h+43m
 10 Spin_Retry_Count        0x0013   100   100   050    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   097   097   050    Old_age   Always       -       3383
191 G-Sense_Error_Rate      0x000a   100   100   050    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   050    Old_age   Always       -       46
193 Load_Cycle_Count        0x0032   001   001   050    Old_age   Always   FAILING_NOW 666774/666727
194 Temperature_Celsius     0x0022   100   060   000    Old_age   Always       -       26 (Lifetime Min/Max 60/9)
195 Hardware_ECC_Recovered  0x001a   100   090   050    Old_age   Always       -       174
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       8
197 Current_Pending_Sector  0x0032   065   065   001    Old_age   Always       -       35
198 Offline_Uncorrectable   0x0010   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
223 Load_Retry_Count        0x0012   100   100   050    Old_age   Always       -       0
230 Head_Amplitude          0x0032   091   091   060    Old_age   Always       -       272832
250 Read_Error_Retry_Rate   0x000a   100   001   050    Old_age   Always   In_the_past 94

SMART Error Log Version: 1
ATA Error Count: 7786 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 7786 occurred at disk power-on lifetime: 12601 hours (525 days + 1 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 19 a6 4d 69 e0  Error: UNC at LBA = 0x00694da6 = 6901158

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  40 00 18 a7 4d 69 e0 00      01:13:14.840  READ VERIFY SECTOR(S)
  40 00 38 67 4d 69 e0 00      01:13:14.840  READ VERIFY SECTOR(S)
  40 00 18 17 4d 69 e0 00      01:13:14.840  READ VERIFY SECTOR(S)
  40 00 28 af 4c 69 e0 00      01:13:14.840  READ VERIFY SECTOR(S)
  40 00 98 17 4c 69 e0 00      01:13:14.830  READ VERIFY SECTOR(S)

Error 7785 occurred at disk power-on lifetime: 12601 hours (525 days + 1 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 05 c2 4f 69 e0  Error: UNC 5 sectors at LBA = 0x00694fc2 = 6901698

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 bf 4f 69 e0 00      00:41:31.640  READ DMA
  c8 00 08 b7 4f 69 e0 00      00:41:31.640  READ DMA
  c8 00 08 af 4f 69 e0 00      00:41:31.640  READ DMA
  c8 00 08 a7 4f 69 e0 00      00:41:31.640  READ DMA
  c8 00 08 9f 4f 69 e0 00      00:41:31.640  READ DMA

Error 7784 occurred at disk power-on lifetime: 12601 hours (525 days + 1 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 35 c2 4f 69 e0  Error: UNC 53 sectors at LBA = 0x00694fc2 = 6901698

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 68 8f 4f 69 e0 00      00:41:29.380  READ DMA
  c8 00 80 0f 4f 69 e0 00      00:41:29.370  READ DMA
  c8 00 08 bf d1 01 e0 00      00:41:29.370  READ DMA
  c8 00 20 b7 95 2e e0 00      00:41:29.340  READ DMA
  c8 00 08 f7 c9 73 e1 00      00:41:29.330  READ DMA

Error 7783 occurred at disk power-on lifetime: 11994 hours (499 days + 18 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 a1 56 60 69 e0  Error: UNC at LBA = 0x00696056 = 6905942

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  40 00 a0 57 60 69 e0 00      08:05:33.360  READ VERIFY SECTOR(S)
  40 00 50 ff 5f 69 e0 00      08:05:33.360  READ VERIFY SECTOR(S)
  40 00 fc 03 5f 69 e0 00      08:05:33.360  READ VERIFY SECTOR(S)
  40 00 fc 07 5e 69 e0 00      08:05:31.280  READ VERIFY SECTOR(S)
  40 00 18 e7 5d 69 e0 00      08:05:31.270  READ VERIFY SECTOR(S)

Error 7782 occurred at disk power-on lifetime: 11994 hours (499 days + 18 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 19 a6 4d 69 e0  Error: UNC at LBA = 0x00694da6 = 6901158

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  40 00 18 a7 4d 69 e0 00      08:05:27.040  READ VERIFY SECTOR(S)
  40 00 38 67 4d 69 e0 00      08:05:27.030  READ VERIFY SECTOR(S)
  40 00 18 17 4d 69 e0 00      08:05:27.030  READ VERIFY SECTOR(S)
  40 00 e4 e3 4b 69 e0 00      08:05:27.020  READ VERIFY SECTOR(S)
  40 00 fc e7 4a 69 e0 00      08:05:24.950  READ VERIFY SECTOR(S)

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


Device does not support Selective Self Tests/Logging
$

温度

194 Temperature_Celsius     0x0022   100   060   000    Old_age   Always       -       23 (Lifetime Min/Max 60/9)

インストール

ダウンロード

以下をwgetしてくる。
・ttp://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot.tgz
・ttp://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot.md5
・ttp://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot-contents.md5

/usr/local/src$ pwd
/usr/local/src
/usr/local/src$ sudo wget http://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot.tgz
--00:32:07--  http://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot.tgz
           => `hotsanic-0.5.0-pre6-snapshot.tgz'
hotsanic.sourceforge.net をDNSに問いあわせています... 66.35.250.209
hotsanic.sourceforge.net[66.35.250.209]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 191,988 [application/x-tar]

100%[==============================================================================>] 191,988        5.02K/s    ETA 00:00

00:32:42 (5.46 KB/s) - `hotsanic-0.5.0-pre6-snapshot.tgz' を保存しました [191988/191988]

/usr/local/src$
/usr/local/src$ sudo wget http://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot.md5
--00:32:50--  http://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot.md5
           => `hotsanic-0.5.0-pre6-snapshot.md5'
hotsanic.sourceforge.net をDNSに問いあわせています... 66.35.250.209
hotsanic.sourceforge.net[66.35.250.209]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 67 [text/plain]

100%[==============================================================================>] 67            --.--K/s

00:32:50 (654.30 KB/s) - `hotsanic-0.5.0-pre6-snapshot.md5' を保存しました [67/67]

/usr/local/src$
/usr/local/src$ sudo wget http://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot-contents.md5
--00:33:10--  http://hotsanic.sourceforge.net/snapshot/hotsanic-0.5.0-pre6-snapshot-contents.md5
           => `hotsanic-0.5.0-pre6-snapshot-contents.md5'
hotsanic.sourceforge.net をDNSに問いあわせています... 66.35.250.209
hotsanic.sourceforge.net[66.35.250.209]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 28,331 [text/plain]

100%[==============================================================================>] 28,331         6.05K/s    ETA 00:00

00:33:15 (6.05 KB/s) - `hotsanic-0.5.0-pre6-snapshot-contents.md5' を保存しました [28331/28331]

/usr/local/src$

解凍

md5チェック

/usr/local/src$ md5sum -v -c hotsanic-0.5.0-pre6-snapshot.md5
hotsanic-0.5.0-pre6-snapshot.tgz OK

解凍

/usr/local/src$ sudo tar zxvf hotsanic-0.5.0-pre6-snapshot.tgz
HotSaNIC/
HotSaNIC/CVS/
HotSaNIC/CVS/Root
HotSaNIC/CVS/Repository
HotSaNIC/CVS/Entries
HotSaNIC/CVS/Tag
:

md5チェック

/usr/local/src$ md5sum -v -c hotsanic-0.5.0-pre6-snapshot-contents.md5
HotSaNIC/CVS/Root OK
HotSaNIC/CVS/Repository OK
HotSaNIC/CVS/Entries    OK
HotSaNIC/CVS/Tag        OK
/usr/local/src$ ls -al
合計 221
drwxrwsr-x  3 root  staff    232 2006-04-01 00:37 .
drwxrwsr-x  9 root  staff    240 2006-03-30 10:07 ..
drwxr-sr-x  9 64528 53099    496 2004-11-10 17:03 HotSaNIC
-rw-r--r--  1 root  staff  28331 2004-11-10 17:03 hotsanic-0.5.0-pre6-snapshot-contents.md5
-rw-r--r--  1 root  staff     67 2004-11-10 17:03 hotsanic-0.5.0-pre6-snapshot.md5
-rw-r--r--  1 root  staff 191988 2004-11-10 17:03 hotsanic-0.5.0-pre6-snapshot.tgz

オーナー、グループ修正

/usr/local/src$ sudo chown -R root:staff HotSaNIC

解凍したファイルを移動

/usr/local/src$ sudo mv HotSaNIC /usr/local

./setup.pl

/usr/local/HotSaNIC$ sudo ./setup.pl
Password:
Configuring modules:


Module found: APCUSV

Description:
   Records some APC-UPS specific readouts:
    - load percentage
    - battery percentage
    - time left when on battery
    - output voltage
    - system temperature
    - battery voltage
Do you want to use this module? (Y/n) > n

----------------------------------------


Module found: APPS

Description:
   Records the number of instances of the specified applications.
Do you want to use this module? (Y/n) > n

----------------------------------------


Module found: BIND

Description:
   Records statistics from the ISC BIND nameserver
Do you want to use this module? (Y/n) > n

----------------------------------------


Module found: DISKIO

Description:
   Records I/O statistics for harddisks.
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: DNET

Description:
   Records stats for Distributed.net personal proxies
Do you want to use this module? (Y/n) > n

----------------------------------------


Module found: MAILQ

Description:
   Records outbound mail status.
   Currently supported mail-systems:  postfix
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: NETSTAT

Description:
   Records network socket-states.
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: NETWORKS

Description:
   Records IP- and protocol-based traffic stats.
   ipchains/iptables required!
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: NTP

Description:
   Records timeserver drift stats
Do you want to use this module? (Y/n) > n

----------------------------------------


Module found: PART

Description:
   Records partition usages.
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: PING

Description:
   Records min/avg/max ping-times for configured hosts
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: SENSORS

Description:
   Records stats for configured hardware sensors
   LM-Sensors required!
   Also capable of recording HDD temperatures
   (hddtemp and SMART support required)
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: SHOUTCAST

Description:
   Records remote stats for ShotCast servers

   Note: The console-webbrowser "lynx" has to
   be installed to use this module.
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: SYSTEM

Description:
   Records system specific data:
    - cpu usage
    - irqs
    - loadavg
    - memory / swap
    - # of processes
    - uptime
    - # of users
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: TRAFFIC

Description:
   Records usage of ethernet devices (input / output)
Do you want to use this module? (Y/n) >
Do you want to show this module's graphs on the webpage? (Y/n) >

----------------------------------------


Module found: WORMS

Description:
   Records stats for worm-impacts on local webserver
Do you want to use this module? (Y/n) > n

----------------------------------------

setting up diskio ...
Please check the settings file and adapt it to satisfy your needs.

setting up mailq ...
This module doesn't need any configuration right now.

setting up netstat ...
This module doesn't need any configuration right now.

setting up networks ...
Configuring local interfaces.
(i)nternal means an interface pointiong to your local machines (intranet)
(e)xternal means an interface connecten with the internet
(n)one means you don't want to account this interface.
found eth0 - (i)nternal, (e)xternal or (n)one? > e
found lo - (i)nternal, (e)xternal or (n)one? > i
Please check the settings file and adapt it to satisfy your needs.

setting up part ...
Use "/dev/hda2", mounted on "root filesystem"? (y/N) > y
Use "tmpfs", mounted on "/dev/shm"? (y/N) > y
Please check the settings file and adapt it to satisfy your needs.

setting up ping ...
Please check the settings file and adapt it to satisfy your needs.
you probably have to configure some destination hosts.

setting up sensors ...

Please check the settings file and adapt it to satisfy your needs.
for your info: this configuration is a bit tricky

setting up shoutcast ...
Please check the settings file and adapt it to satisfy your needs.

setting up system ...
Please check the settings file and adapt it to satisfy your needs.

setting up traffic ...
Use eth0?? (y/N) > y
Use lo?? (y/N) > y
Please check the settings file and adapt it to satisfy your needs.
If you have any interfaces other than 100 MBit, please change the
corrosponding default values.
Maybe there are some additional interfaces or SNMP hosts you want
to query.
 Ok.
Writing main settings ...
  checking path to "rrdtimer.pl" (current: 'not configured')
DAEMONDIR="/usr/local/HotSaNIC"
  checking path to "rrdtool" (current: 'not configured')
detected: /usr/bin
is this corrrect? (Y/n) > y
BINPATH="/usr/bin"
VARDIR="$DAEMONDIR/var/"
LOGDIR="$DAEMONDIR/var/log/"
PIDFILE="$DAEMONDIR/var/run/rrdtimer.pid"
WEBDIR="$DAEMONDIR/www"
DIAGRAMLOG="last"
LOGSIZE="200000"
LOGBACKUPS="5"
DEBUGLEVEL="0"
TIMESTAMPING="2"
STIME="120"
SCHEDULE_MIN="100"
SCHEDULE_MAX="200"
RUN="diskio mailq netstat networks part ping sensors shoutcast system traffic"
AUTOINDEX="no"
WEB_BACKGROUND="bg.gif"
WEB_MENUBACKGROUND="menubg.gif"
WEB_BGCOLOR="E0E0E0"
WEB_TEXT="000000"
WEB_LINK="000080"
WEB_VLINK="800080"
WEB_ALINK="008000"
WIDTH="600"
HEIGHT="200"
IMAGEFORMAT="gif"
SHOW="diskio mailq netstat networks part ping sensors shoutcast system traffic"
ORDER="traffic system part ping dnet sensors"
DTIME="15"
CTIME="24"
  guessing convert method...
  checking for Image::Magick perl module... not found
  checking path to "convert" from ImageMagick (current: 'not configured')
detected: /usr/bin/convert
is this corrrect? (Y/n) > y
CONVERTMETHOD="ImgMgck"
CONVERTPATH="/usr"
THUMBSIZE="20%"
REFRESH="300"
  checking path to "snmpwalk" (current: 'not configured')
SNMPWALK="not configured"
  checking path to "snmpget" (current: 'not configured')
SNMPGET="not configured"
 checking path to "snmpbulkwalk" (current: 'not configured')
SNMPBULKWALK="not configured"

 --- Main settings generated. ---

Writing start/stop script "rrdgraph" ... Ok.

Now adapt all settings files to satisfy your needs.
They are all linked to the directory  <HotSaNIC_installdir>/var/settings .

/usr/local/HotSaNIC$

/usr/local/HotSaNIC$ sudo vi settings

:
###WEBDIR="$DAEMONDIR/www"
WEBDIR="/var/www/local/HotSaNIC"
:

HotSaNICのコンテンツ出力先ディレクトリ作成

$ sudo mkdir -p /var/www/local/HotSaNIC

起動スクリプト rrdgraph を initスクリプトとして登録

$ cd /etc/init.d
/etc/init.d$
/etc/init.d$
/etc/init.d$
/etc/init.d$ sudo ln -s /usr/local/HotSaNIC/rrdgraph .
/etc/init.d$ sudo update-rc.d rrdgraph defaults 98
 Adding system startup for /etc/init.d/rrdgraph ...
   /etc/rc0.d/K98rrdgraph -> ../init.d/rrdgraph
   /etc/rc1.d/K98rrdgraph -> ../init.d/rrdgraph
   /etc/rc6.d/K98rrdgraph -> ../init.d/rrdgraph
   /etc/rc2.d/S98rrdgraph -> ../init.d/rrdgraph
   /etc/rc3.d/S98rrdgraph -> ../init.d/rrdgraph
   /etc/rc4.d/S98rrdgraph -> ../init.d/rrdgraph
   /etc/rc5.d/S98rrdgraph -> ../init.d/rrdgraph

確認

サービス起動

$ sudo /etc/init.d/rrdgraph
usage: rrdgraph [start|stop|status|restart]
$ sudo /etc/init.d/rrdgraph start
Starting rrdtimer...
rrdtimer [3319]: reading & checking config (/usr/local/HotSaNIC/settings) ...
[Sun 2006-04-02 02:49:37] - rrdtimer [3319]: evaluating cmdline arguments...
[Sun 2006-04-02 02:49:37] - rrdtimer [3319]: entering daemon mode...
$ ps -ef | grep rrd
root      3320     1  0 02:49 ?        00:00:00 rrdtimer
xxxx      3472  3099  0 02:49 pts/0    00:00:00 grep rrd

デーモン起動してますね。

さらに・・

$ ps aux | grep read-data
root      3327  0.0  1.7  7820 4488 ?        S    02:49   0:00 perl ./read-data.pl start diskio
root      3330  0.0  1.7  7688 4532 ?        S    02:49   0:00 perl ./read-data.pl start mailq
root      3347  0.0  1.7  7688 4536 ?        S    02:49   0:00 perl ./read-data.pl start netstat
root      3420  0.0  1.7  7820 4548 ?        S    02:49   0:00 perl ./read-data.pl start networks
root      3439  0.0  1.7  7688 4532 ?        S    02:49   0:00 perl ./read-data.pl start part
root      3460  0.0  2.2  9188 5840 ?        S    02:49   0:00 perl ./read-data.pl start ping
root      3468  0.0  1.7  7688 4452 ?        S    02:49   0:00 perl ./read-data.pl start sensors
root      3475  0.2  1.8  8068 4848 ?        S    02:50   0:00 perl ./read-data.pl start system
root      3479  0.0  1.7  7688 4540 ?        S    02:50   0:00 perl ./read-data.pl start traffic

こんな感じでデータを収集してるのか。。
プロセスたくさんあって負荷高いかもね。。

確認

以下を表示
http://192.168.0.224/local/HotSaNIC/

参考

公式サイト
HotSaNIC - HTML overview to System and Network Information Center(http://hotsanic.sourceforge.net/index.html

公式サイトからリンクしている日本語訳ドキュメント(ページ下)
HotSaNIC - external documents(http://hotsanic.sourceforge.net/external.html

ITmedia エンタープライズ : Linux Tips「RRDToolでサーバの状況を把握したい」(http://www.itmedia.co.jp/help/tips/linux/l0479.html

RRDTool - ホームサーバの構築日記(http://www.papa.homeunix.org/index.php?RRDTool

My XOOPS Site - B-Wiki - RRDTool(http://www.fuku-3.com/modules/bwiki/index.php?cmd=read&page=RRDTool

[て] 玄箱にRRDTool とHotSaNICを導入する: 大阪てきとー日記(http://kazz7.air-nifty.com/tekito/2005/01/rrdtool_hotsani.html

rrdtool - かもめ日記(http://www.mitsuki.no-ip.com/~seagull/diary/archives/by_id/000039.html

SNMPによるネットワークシステムの監視第04回:RRDtoolの利用(http://www.stackasterisk.jp/tech/systemManagement/snmp04_04.jsp#4_3_4

新しいページ 1(http://sasebo.gr.jp/setups/Linux/rrdtool/tuning.html

拡張設定 / 温度監視(A)(http://66.102.7.104/search?q=cache:Upyrl4671V4J:www17.ocn.ne.jp/~tuzre/server/vl_sensors.html+sensors+dnet+part+ping&hl=ja

CPU温度,FAN回転数などをモニタする - K64's Home Web Server Debian GNU/Linux(http://66.102.7.104/search?q=cache:7bwc9cP8QL4J:k64.mydns.to/debian/sensors.html+lm+sensors+sensors-detect&hl=ja&lr=lang_ja

diskio

diskioのグラフが表示されない。

データ元確認

$ sudo cat /proc/diskstats
  1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
  1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
  1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
  1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
  1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
  1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
  1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
  1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
  1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
  1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
  1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
  1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
  1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
  1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
  1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
  1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
  3    0 hda 2358 72 67156 251622 11426 16838 226128 682394 0 98771 934016
  3    1 hda1 0 0 0 0
  3    2 hda2 2379 66748 28266 226128
  3    3 hda3 0 0 0 0
  3    5 hda5 1 8 0 0
 22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
  2    0 fd0 0 0 0 0 0 0 0 0 0 0 0

$ sudo vi /usr/local/HotSaNIC/modules/diskio/settings

KERNEL="2.6"
SOURCE="diskstats"
DEV=3_0,hda

確認

$ sudo /etc/init.d/rrdgraph restart
Stopping rrdtimer...
Starting rrdtimer...
rrdtimer [5796]: reading & checking config (/usr/local/HotSaNIC/settings) ...
[Sun 2006-04-02 03:20:05] - rrdtimer [5796]: evaluating cmdline arguments...
[Sun 2006-04-02 03:20:05] - rrdtimer [5796]: entering daemon mode...

ping

/usr/local/HotSaNIC/modules/ping/settings

/usr/local/HotSaNIC/modules/ping/settings

:
HOST=66.249.89.99,www.google.com,perl-icmp
HOST=203.216.247.225,www.yahoo.co.jp,perl-icmp

networks

/usr/local/HotSaNIC/modules/networks/settings

:
IPTABLES="/sbin/iptables
"
:

となってるので、以下に直した。

:
IPTABLES="/sbin/iptables"
:

あ。。
いろいろ調べてみると、iptablesを変更する必要があるらしい。
ということで、networksはやめる。

$ sudo vi /usr/local/HotSaNIC/settings

:
###RUN="diskio mailq netstat networks part ping sensors shoutcast system traffic"
RUN="diskio mailq netstat part ping sensors shoutcast system traffic"
:
###SHOW="diskio mailq netstat networks part ping sensors shoutcast system traffic"
SHOW="diskio mailq netstat part ping sensors shoutcast system traffic"
:

/usr/local/HotSaNIC/var/log/convert.log のエラー対応

/usr/local/HotSaNIC/var/log/convert.log

:
./convert.pl: could not convert /var/www/local/HotSaNIC/system/mem-week.gif to /var/www/local/HotSaNIC/system/thumb-mem.gif: そのようなファイルやディレクトリはありません at ./convert.pl line 72.
:
$ which convert
/usr/bin/convert

$ sudo vi /usr/local/HotSaNIC/settings

:
CONVERTMETHOD="ImgMgck"
:
CONVERTPATH="/usr"
:

以下に変更

:
CONVERTMETHOD="ImgMgck"
:
CONVERTPATH="/usr/bin"
:

apt-get install echoping

$ sudo apt-get install echoping
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  libidn11
以下のパッケージが新たにインストールされます:
  echoping libidn11
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 2 個。
134kB のアーカイブを取得する必要があります。
展開後に追加で 451kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 ftp://ftp.jp.debian.org sarge/main libidn11 0.5.13-1.0 [106kB]
取得:2 ftp://ftp.jp.debian.org sarge/main echoping 5.2.0-2 [28.2kB]
134kB を 0s で取得しました (158kB/s)
未選択パッケージ libidn11 を選択しています。
(データベースを読み込んでいます... 現在 18410 個のファイルとディレクトリがインストールされています。)
(.../libidn11_0.5.13-1.0_i386.deb から) libidn11 を展開しています...
未選択パッケージ echoping を選択しています。
(.../echoping_5.2.0-2_i386.deb から) echoping を展開しています...
libidn11 (0.5.13-1.0) を設定しています ...

過去のデータを全てクリア

# /etc/init.d/rrdgraph stop
# /usr/local/HotSaNIC/clearall CLEAR_WEBPAGE
This will destroy everything under /var/www/local/HotSaNIC and therefore your web-graphs. Enter  yes  to continue
yes
#
# /usr/local/HotSaNIC/clearall CLEAR_DATABASES
This will destroy all sampled data. Enter  yes  to continue
yes
# /usr/local/HotSaNIC/clearall CLEAR_GRAPHS
#
# /etc/init.d/rrdgraph start
Starting rrdtimer...
rrdtimer [8761]: reading & checking config (/usr/local/HotSaNIC/settings) ...
[Mon 2006-04-03 03:13:26] - rrdtimer [8761]: evaluating cmdline arguments...
[Mon 2006-04-03 03:13:26] - rrdtimer [8761]: entering daemon mode...
#

グラフの日本語文字化け対策

えっと。。。
起動スクリプトの先頭あたりに以下追加

vi /etc/init.d/rrdgraph

:
export LANG=C
:

とりあえず対応でごめん。。

負荷軽減の為、監視周期を変更(2006/10/17)

vi /usr/local/HotSaNIC/rrdtimer.pl

監視周期を10秒から20秒に変更する。

xxxx@prius:/usr/local/HotSaNIC$ sudo vi rrdtimer.pl
:
    #
#### mod 2006/10/08
####    my $sleeptime=10-(time % 10);
    my $sleeptime=20-(time % 20);
    sleep $sleeptime;
    }
  }

/etc/init.d/rrdgraph restart

xxxx@prius:/usr/local/HotSaNIC$ sudo /etc/init.d/rrdgraph restart
Stopping rrdtimer...
Starting rrdtimer...
rrdtimer [32316]: reading & checking config (/usr/local/HotSaNIC/settings) ...
[Sun 2006-10-08 18:11:28] - rrdtimer [32316]: evaluating cmdline arguments...
[Sun 2006-10-08 18:11:28] - rrdtimer [32316]: entering daemon mode...
xxxx@prius:/usr/local/HotSaNIC$

hddtemp

インストール

apt-get install hddtemp

$ sudo apt-get install hddtemp
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
提案パッケージ:
  ksensors gkrellm-hddtemp
以下のパッケージが新たにインストールされます:
  hddtemp
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。
40.7kB のアーカイブを取得する必要があります。
展開後に追加で 147kB のディスク容量が消費されます。
取得:1 ftp://ftp.jp.debian.org sarge/main hddtemp 0.3-beta13-9 [40.7kB]
40.7kB を 0s で取得しました (60.9kB/s)
パッケージを事前設定しています ...

┌────────────────────────────────────────────────────┤ hddtemp を設定しています ├─────────────────────────────────────────────────────┐
│                                                                                                                                     │
│ SUID ビットをセットして hddtemp をインストールする選択肢です。                                                                      │
│                                                                                                                                     │
│ hddtemp を SUID 化すると、あなたのシステムの非特権ユーザがそれを実行できるようになります。これはしかしながら、hddtemp があなたのコ  │
│ ンピュータへのセキュリティ攻撃に使われる可能性を秘めています。疑わしいのであれば、SUID なしにインストールすることを提案します。あ   │
│ とで気が変わったら、'dpkg-reconfigure hddtemp' を実行してください。                                                                 │
│                                                                                                                                     │
│ /usr/sbin/hddtemp を SUID root でインストールしますか?                                                                              │
│                                                                                                                                     │
│                                        <はい>                                          <いいえ>                                     │
│                                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「いいえ」

            ┌─────────────────────────────────────────┤ hddtemp を設定しています ├─────────────────────────────────────────┐
            │ hddtemp は SYSLOG インターフェイス経由で定期的にハードドライブの温度を記録できます。                         │
            │                                                                                                              │
            │ チェック間のインターバルに使う秒数を入力してください。この機能を無効にするには、単に 0 を入力してください。  │
            │                                                                                                              │
            │ どの程度の頻度で温度を記録しますか?                                                                          │
            │                                                                                                              │
            │ 0___________________________________________________________________________________________________________ │
            │                                                                                                              │
            │                                                    <了解>                                                    │
            │                                                                                                              │
            └──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「0」

┌────────────────────────────────────────────────────┤ hddtemp を設定しています ├─────────────────────────────────────────────────────┐
│                                                                                                                                     │
│ hddtemp は、入力接続のためのポート 7634 をリスンするデーモンとして実行できます。ハードドライブの温度を得るために、gkrellm のような  │
│ いくつかのソフトウェアによって使われます。                                                                                          │
│                                                                                                                                     │
│ コンピュータの起動時に hddtemp デーモンを自動的に開始する選択肢です。疑わしいのであれば、起動時に自動的には開始しないことを提案し   │
│ ます。あとで気が変わったら、'dpkg-reconfigure hddtemp' を実行してください。                                                         │
│                                                                                                                                     │
│ 起動時に hddtemp デーモンを開始しますか?                                                                                            │
│                                                                                                                                     │
│                                        <はい>                                          <いいえ>                                     │
│                                                                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
→「いいえ」

未選択パッケージ hddtemp を選択しています。
(データベースを読み込んでいます... 現在 21044 個のファイルとディレクトリがインストールされています。)
(.../hddtemp_0.3-beta13-9_i386.deb から) hddtemp を展開しています...
hddtemp (0.3-beta13-9) を設定しています ...

確認

$ sudo hddtemp -n /dev/hda
WARNING: Drive /dev/hda doesn't appear in the database of supported drives
WARNING: But using a common value, it reports something.
WARNING: Note that the temperature shown could be wrong.
WARNING: See --help, --debug and --drivebase options.
WARNING: And don't forget you can add your drive to hddtemp.db
/dev/hda: HITACHI_DK23CA-30:  40°C or °F

$ sudo vi /etc/hddtemp.db

:
# add
"HITACHI_DK23CA-30"             194  C  "Hitachi DK23CA-30"
$ sudo hddtemp -n /dev/hda
40

最終更新時間:2006年11月04日 18時30分58秒