小知识:RHEL7上设置Keepalived日志重定向

以前在MySQL主主+Keepalived架构安装部署也有描述Keepalived日志重定向的部分,其中提到RHEL7(实际是RHEL6.8以上)要配置rsyslog,回顾下以前的配置,主要就是改两个地方:html

1.配置 /etc/sysconfig/keepalived 文件

vi /etc/sysconfig/keepalived 修改KEEPALIVED_OPTIONS的值:
# Options for keepalived. See `keepalived --help' output and keepalived(8) and
# keepalived.conf(5) man pages for a list of all options. Here are the most
# common ones :
#
# --vrrp               -P    Only run with VRRP subsystem.
# --check              -C    Only run with Health-checker subsystem.
# --dont-release-vrrp  -V    Dont remove VRRP VIPs & VROUTEs on daemon stop.
# --dont-release-ipvs  -I    Dont remove IPVS topology on daemon stop.
# --dump-conf          -d    Dump the configuration data.
# --log-detail         -D    Detailed log messages.
# --log-facility       -S    0-7 Set local syslog facility (default=LOG_DAEMON)
#

# KEEPALIVED_OPTIONS="-D"
KEEPALIVED_OPTIONS="-D -d -S 0"

2.添加keepalived日志保存位置的配置

由于第一步至关设置了log-facility=0,(-S 0),那么添加local0的日志都重定向到/var/log/keepalived.log中:

vi /etc/rsyslog.confshell

..这里省略源文件内容.. 最后追加
# keepalived -S 0
local0.* /var/log/keepalived.log

可是实际验证发现,若是对于RHEL7,这样设置还不行,实际观察ps -ef|grep keep发现keepalived的进程仍是KEEPALIVED_OPTIONS="-D"方式运行的,咱们设置的KEEPALIVED_OPTIONS="-D -d -S 0"并未生效,大概怀疑到是RHEL7服务管理与RHEL6有较大区别,从这方面去找缘由,以RHEL7为关键字进行相关问题搜索,最终发现RHEL7的确还需多作一步以下操做,才能够保证读取到咱们上面的环境配置文件:架构

3.修改 /lib/systemd/system/keepalived.service 文件

将配置文件中的这两行:日志

EnvironmentFile=-/usr/local/keepalived/etc/sysconfig/keepalived
ExecStart=/usr/local/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS

从新修改成:code

EnvironmentFile=/etc/sysconfig/keepalived
ExecStart=/sbin/keepalived $KEEPALIVED_OPTIONS

能够看到这里/sbin/keepalived $KEEPALIVED_OPTIONS定义的变量是经过EnvironmentFile定义的配置文件去找的。htm

修改完成后,须要注意从新加载下service,不然后面启动keepalived服务会报错:blog

systemctl daemon-reload

最后重启rsyslog和keepalived服务,就能够实现RHEL7上Keepalived日志重定向到/var/log/keepalived.log了。进程

相关文章
相关标签/搜索