以前在MySQL主主+Keepalived架构安装部署也有描述Keepalived日志重定向的部分,其中提到RHEL7(实际是RHEL6.8以上)要配置rsyslog,回顾下以前的配置,主要就是改两个地方:html
# 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"
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的确还需多作一步以下操做,才能够保证读取到咱们上面的环境配置文件:架构
将配置文件中的这两行:日志
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了。进程