轮转日志文件
大部分 Linux 分发版都包含 logrotate
实用程序。使用此实用程序可简化日志文件管理。通过设置 logrotate
配置文件,您可以使用此实用程序自动完成以下一项或多项任务:
-
压缩和轮转日志文件
-
自动删除日志文件
-
通过电子邮件将日志文件发送给指定的收件人
可将 logrotate
配置为定期或在日志文件达到特定大小时完成这些任务。
如果安装 Vertica 时存在 logrotate
,则 Vertica 会自动将此实用程序设置为查找配置文件。因此,logrotate 会在每个节点的
/opt/vertica/config/logrotate
目录中搜索配置文件。
当您创建数据库时,Vertica 会在群集中的每个节点上创建特定于数据库的 logrotate
配置,以供 logrotate
实用程序使用。之后,它会为每个单独的数据库创建一个路径为
/opt/vertica/config/logrotate/
的文件。
有关其他设置的信息,请使用 man logrotate
命令。
通过 dbadmin logrotate cron 作业执行 Python 脚本
在 Vertica 安装期间,安装程序会为 dbadmin
用户配置 cron 作业。此 cron 作业被配置为执行运行 logrotate
实用程序的 Python 脚本。您可以通过查看 dbadmin.cron
文件(位于 /opt/vertica/config
目录中)查看此 cron 作业的详细信息。
如果要自定义 cron 作业,以便为 Vertica 数据库配置 logrotate,您必须在 dbadmin
用户下创建 cron 作业。
使用管理工具 logrotate 实用程序
可借助 admintools logrotate
选项为数据库配置 logrotate
脚本并在整个群集上分发这些脚本。使用 logrotate
选项可以指定:
-
轮转日志的频率
-
可轮转的日志大小
-
日志的保留时长
例如:
以下示例显示如何将日志设置为每周轮转一次并保留三个月(12 个日志)。
$ admintools -t logrotate -d <dbname> -r weekly -k 12
有关详细使用信息,请参阅编写管理工具脚本。
为 MC 配置 logrotate
管理控制台日志文件是:
/opt/vconsole/log/mc/mconsole.log
要为 MC 配置 logrotate
,请配置以下文件:
/opt/vconsole/temp/webapp/WEB-INF/classes/log4j.xml
编辑 log4j.xml
文件并按如下方式设置相应的参数:
-
限制日志的大小:
<param name="MaxFileSize" value="1MB"/>
-
限制日志的文件备份数量:
<param name="MaxBackupIndex" value="1"/>
-
以 root 用户身份重新启动 MC:
# etc/init.d/vertica-consoled restart
手动轮转日志
要实施自定义日志轮转过程,请执行以下步骤:
-
对现有的 vertica.log 文件进行重命名或存档。例如:
$ mv vertica.log vertica.log.1
-
使用以下任一方法向 Vertica 进程发送 USR1 信号:
$ killall -USR1 vertica
或
$ ps -ef | grep -i vertica $ kill -USR1 process-id