Muninでlighttpdのデータを取得するのは簡単。
Munin標準のApache関連のPluginを使うことができる。

lighttpdの設定変更。
/etc/lighttpd/modules.conf

##
## mod_status
##
include "conf.d/status.conf"

/etc/lighttpd/conf.d/status.conf

server.modules += ( "mod_status" )
$HTTP["remoteip"] == "127.0.0.0/8" {
  status.status-url          = "/server-status"
  status.config-url          = "/server-config"
  status.statistics-url      = "/server-statistics"
  status.enable-sort         = "enable"
}

lighttpdを再起動すると有効になる。
次のようにデータを取得できていればOK。

# telnet localhost 80
GET /server-status HTTP/1.0

HTTP/1.0 200 OK
Content-Type: text/html
Content-Length: 4956
Connection: close
Date: Thu, 16 Dec 2010 10:41:06 GMT
Server: lighttpd

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
  <title>Status</title>

(省略)

Munin側はPluginを有効にするだけ。

# ln -s /usr/local/munin/lib/plugins/apache_accesses /etc/munin/plugins/apache_acceses
# ln -s /usr/local/munin/lib/plugins/apache_processes /etc/munin/plugins/apache_processes
# ln -s /usr/local/munin/lib/plugins/apache_volume /etc/munin/plugins/apache_volume

# /usr/local/munin/sbin/munin-run --servicedir /etc/munin/plugins apache_accesses
accesses80.value 5

# /usr/local/munin/sbin/munin-run --servicedir /etc/munin/plugins apache_processes
busy80.value 1
idle80.value 127
free80.value 0

# /usr/local/munin/sbin/munin-run --servicedir /etc/munin/plugins apache_volume
volume80.value 65536

【エラー情報1】
munin実行時に下記のエラーが出た場合はLWP::UserAgentがないのでperl-LWP-UserAgent-Determined(dag)をインストールする。

# /usr/local/munin/sbin/munin-run --servicedir /etc/munin/plugins apache_accesses
LWP::UserAgent not found at /etc/munin/plugins/apache_accesses line 86.

lighttpd用のユーザとグループを作成する。

# /usr/sbin/groupadd -g 201 lighttpd
# /usr/sbin/useradd -u 201 -g 201 -s /sbin/nologin lighttpd

lighttpdのコンパイル&インストール。
/usr/local/lighttpdにインストールする。

$ wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.28.tar.bz2
$ tar xvjf lighttpd-1.4.28.tar.bz2
$ cd lighttpd-1.4.28
$ ./configure --prefix=/usr/local/lighttpd
$ make
# paco -D make install

lighttpdの設定ファイルをテンプレートからコピーして編集する。

# cp doc/config/lighttpd.conf /etc/lighttpd/
# cp doc/config/modules.conf /etc/lighttpd/
# cp -R doc/config/conf.d /etc/lighttpd/
# cp -R doc/config/vhosts.d /etc/lighttpd/

/etc/lighttpd/lighttpd.conf



設定ファイルをテストする。

# /usr/local/lighttpd/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf
Syntax OK

ログファイルの保存先ディレクトリを作成。

# mkdir /var/log/lighttpd
# chown -R lighttpd:lighttpd /var/log/lighttpd/

起動スクリプトをテンプレートからコピーする。

# cp doc/initscripts/rc.lighttpd.redhat /etc/rc.d/init.d/lighttpd
# /sbin/chkconfig --add lighttpd
# /sbin/chkconfig lighttpd on
# /sbin/chkconfig --list |grep lighttpd
lighttpd        0:off   1:off   2:on    3:on    4:on    5:on    6:off

起動スクリプト内のPATHを変更しておく。
/etc/rc.d/init.d/lighttpd

lighttpd="/usr/local/lighttpd/sbin/lighttpd"

起動確認。

# /sbin/service lighttpd start
Starting lighttpd:                                         [  OK  ]

# ps uax |grep light
lighttpd 59340  0.0  0.1   2380   956 ?        S    15:55   0:00 /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

# netstat -an |grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN

# cat /var/log/lighttpd/error.log
2010-09-17 15:55:37: (log.c.166) server started

ブラウザでアクセスしてみて表示されれば成功。

【エラー情報1】
configureで下記のエラーが出た場合はpcre-develがないのでインストールしておく。

configure: error: pcre-config not found, install the pcre-devel package or build with --without-pcre

【エラー情報2】
configureで下記のエラーが出た場合はbzip2-develがないのでインストールしておく。

configure: error: bzip2-headers and/or libs where not found, install them or build with --without-bzip2

【エラー情報3】
起動時に下記のエラーが出た場合はDocument Directoryが存在していないため作成しておく。

# /sbin/service lighttpd start
Starting lighttpd: 2010-09-17 15:49:24: (configfile.c.1214) base-docroot doesn't exist: /srv/www/htdocs
2010-09-17 15:49:24: (server.c.620) setting default values failed
                                                           [FAILED]

【エラー情報4】
起動時に下記のエラーが出た場合はLog Directoryが存在していないため作成しておく。

# /sbin/service lighttpd start
Starting lighttpd: 2010-09-17 15:50:51: (log.c.118) opening errorlog '/var/log/lighttpd/error.log' failed: No such file or directory
                                                           [  OK  ]

【エラー情報5】
起動時に下記のエラーが出た場合はIPv6関連で問題が生じているためlighttpd.confで該当エントリをコメントアウトしておく。

# /sbin/service lighttpd start
Starting lighttpd: 2010-09-17 15:50:51: (network.c.239) warning: please use server.use-ipv6 only for hostnames, not without server.bind / empty address; your config will break if the kernel default for IPV6_V6ONLY changes
                                                           [  OK  ]

© 2003-2014 うーたんの小部屋 | Powered by Wordpress