Haproxy 日志记录不起作用

Haproxy 日志记录不起作用

无法理解,它是如何记录的?现在我的日志是空的,haproxy 没有将任何内容写入文件。有时它会记录一些信息,日志记录与 syslog-ng 一起工作,如果我在 haproxy conf 超时客户端中设置大约 1 秒,则日志记录有时会起作用。日志记录会影响记录日志吗?抱歉。忘记配置了。我正在尝试平衡 sybase jdbc 的负载。

  • 默认值
    • 模式 tcp
    • 超时连接5秒
    • 客户端超时 50000
    • 超时服务器 50000
    • 选项 dontlognull
    • 选项重新分派
    • 重试 3
    • 最大连接数 4096
  • 前端 Sybase
    • 绑定 *:2638
    • 模式 tcp
    • 选项 tcplog
    • 记录全局
    • 日志格式 [%t]\ 从\ %ci:%cp\ 到\ %fi:%fp\ %si:%sp\ %s\ %ts\ 请求大小=%U\ 响应大小=%B
    • default_backend Sybase
    • 后端 Sybase
    • 模式 tcp
    • 记录全局
    • 选项 tcplog
  • 平衡最小连接数
  • 服务器 base_1 sybase:2638 检查
    • 服务器 base_2 sybase:2638 检查

答案1

为了使这些消息最终出现在 - 例如 - /var/log/haproxy.log 中,您需要做两件事:

  • 配置你的系统日志以接受网络日志 - 至少在本地主机上
  • 配置 haproxy 将事件发送到 local2/local3 上的 127.0.0.1 或任何此类设施

因此,您的 haproxy.cfgs 全局部分将如下所示:

global
    log         127.0.0.1 local2 notice
    log         127.0.0.1 local3

你的 syslog.conf 看起来应该是这样的:

local2.*        /var/log/haproxy
local3.*        /var/log/haproxy-access_log

如果你使用带有 rsyslog 的现代发行版,那么只需创建一个名为

/etc/rsyslog.d/haproxy.conf

内容如下:

$ModLoad imudp
$UDPServerAddress 127.0.0.1
$UDPServerRun 514

local2.*        /var/log/haproxy
local3.*        /var/log/haproxy-access_log

然后重新启动 rsyslogd 和 haproxy。

相关内容