我们在loadbalncer后面有多个服务器,我们希望每台机器的访问日志以访问前缀作为hosname和lighttpd中的访问日志。
例如:
192.168.1.1-access.log
192.168.1.2-access.log
我尝试使用include_shell
参数并使用hostname.sh
的脚本,但它不符合我的目的。
答案 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"
发送到配置文件的末尾,以获得廉价而肮脏的解决方案。