我已经看到了 HAProxy 日志配置的几个示例(见下文),它们都如下所示:
/etc/haproxy/haproxy.cfg
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
...
如果我理解正确,这将使用 facility 向 /dev/log 发送日志local0
,对于级别notice
及以上,使用 facility 发送相同的日志local1
。这种重复的目的是什么?
现实中这种配置的示例:
答案1
正如您所说,乍一看这种配置没有多大意义。
所以我找不到任何haproxy
建议此配置的官方文档。
它看起来更像是一个示例配置,您必须根据您的需要进行自定义,展示如何根据级别使用不同的设施/系统日志服务器。
来自文档:
- 连接记录在“信息”级别
- “通知”级别将用于指示服务器正在启动
- “警告”将用于终止信号和明确的服务终止
- 当服务器宕机时将使用“alert”
使用您提供的配置,优点是您不会错过任何日志(local0
),但您可以首先关注直接涉及服务或服务器事件的日志,并将其用作local1
syslog 服务器的过滤器。
然后,通过进一步查看local0
日志,您可以根据需要微调警报系统的过滤器。
答案2
/dev/log
是本地的,例如 syslog 地址。您可以rsyslog
使用以下方式将日志发送到远程服务器:
global
log 10.0.0.1:514 local0
local0
是一个“标准”系统日志工具,其中支持的值包括kern
, user
, mail
, daemon
, auth
, syslog
, lpr
, , , , , , news
, , , , , , , ,uucp
cron
auth2
ftp
ntp
audit
alert
cron2
local0
local1
local2
local3
local4
local5
local6
local7
最后一个(可选)参数是严重性级别,支持的值包括:
emerg
alert
crit
err
warning
notice
info
debug
请注意,该info
级别比notice
(其他日志系统不同)更详细。