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
