keepalived的log

时间:2022-09-01 16:56:45

vrrp_script chk_http_port {

script "</dev/tcp/127.0.0.1/8088"
interval 1
weight -2
}

keepalived读配置文件遇到错误是不给任何提示的,这个往往让初用着摸不着头脑——明明配了xxx,怎么不起作用呢?——比如说关键字TCP_CHECK后面得有个空格才能写{,否则就是不生效!这个蛋疼的设定让我抓狂了一个上午。

有个方法能够缩短抓狂的时间,就是利用keepalived的启动参数:
1
keepalived -D -S 0 -d"

-D是让keepalived详细记录log
-d是在日志里打出keepalived读到的配置信息
-S 0是到会将日志发送给syslog,且日志定为LOCAL0

这里需要让syslog帮忙把接收到的日志写到文件以便我们查看:加一行配置到syslog.conf,然后重启syslog服务。
1
echo "local0.* /var/log/keepalived.log">> /etc/syslog.conf
2
/etc/init.d/syslog restart

这样,你就可以通过查看/var/log/keepalived.log来检查你是否成功地使用了keepalived了。
例如我有这样的配置
1
MISC_CHECK {
2
misc_path "/root/pingM.sh"
3
# misc_timeout 5
4
}

启动时下面这段log就反映了我的配置,而如果我配置文件中的MISC_CHECK之后不加空格,这段信息是绝对不会出现的。
1
Nov 22 01:13:52 localhost Keepalived_healthcheckers: ------< Health checkers >------
2
Nov 22 01:13:52 localhost Keepalived_healthcheckers: 10.224.178.164:3306
3
Nov 22 01:13:52 localhost Keepalived_healthcheckers: Keepalive method = MISC_CHECK
4
Nov 22 01:13:52 localhost Keepalived_healthcheckers: script = /root/pingM.sh
5
Nov 22 01:13:52 localhost Keepalived_healthcheckers: timeout = 0
6
Nov 22 01:13:52 localhost Keepalived_healthcheckers: dynamic = NO
Share on:FacebookTwitter