lighttpd access.log附加前缀hostname,如hostname-access.log

时间:2012-11-01 09:56:51

标签: linux lighttpd

我们在loadbalncer后面有多个服务器,我们希望每台机器的访问日志以访问前缀作为hosname和lighttpd中的访问日志。

例如:

192.168.1.1-access.log 192.168.1.2-access.log

我尝试使用include_shell参数并使用hostname.sh的脚本,但它不符合我的目的。

1 个答案:

答案 0 :(得分:0)

我认为你可能会试图让这个问题复杂化,你能不能做到以下几点?

$SERVER["socket"] == “192.168.1.1:80″ {
    accesslog.filename = "/var/log/lighttpd/192.168.1.1-access.log"
}

您还提到您在使用include_shell时遇到问题请尝试以下

lighttpd.conf

include_shell "/etc/lighttpd/scripts/servername.sh"
accesslog.filename = "/var/log/lighttpd/" + var.servername  + "-access.log"

scripts / servername.sh - 用于主机名

#!/bin/bash
echo 'var.servername="'$(uname -n)'"'

OR

scripts / servername.sh - 用于ip地址

#!/bin/bash
echo 'var.servername="'$(/sbin/ifconfig | sed -n '2 p' | awk '{print $2}' | sed s/addr://g)'"'

(更改sed和awk参数以在多个界面上获得正确的IP)

这将为您提供所需的信息。

或者只是将cat accesslog.filename = "/var/log/lighttpd/" + uname -n + "-access.log"发送到配置文件的末尾,以获得廉价而肮脏的解决方案。