pmm-client日志设置
2022-04-28 20:30 abce 阅读(324) 评论(0) 编辑 收藏 举报缺省情况下,pmm-agent将日志写入stderr和系统日志(syslogd或journald)。要想获得一个单的日志文件,需要编辑pmm-agent的启动脚本
如果是systemd的系统
# vi /usr/lib/systemd/system/pmm-agent.service ##参数是StandardError ##默认值是:file:/var/log/pmm-agent.log StandardError=file:/var/log/pmm-agent.log
如果是initd的系统
# vi /etc/init.d/pmm-agent ##参数:pmm_log ##默认值:/var/log/pmm-agent.log pmm_log="/var/log/pmm-agent.log"
可以参考pmm官方文档:
https://docs.percona.com/percona-monitoring-and-management/details/commands/pmm-agent.html
对于日志,有redirect、append两种方式
1.redirect方式
redirect方式只是对systemd v236或者更新的版本有效:
StandardOutput=file:/var/log/pmm-agent1.log StandardError=file:/var/log/pmm-agent2.log
对于低于v236一下的版本,可以这样:
ExecStart=/bin/sh -c 'exec /usr/sbin/pmm-agent [arguments] >/var/log/pmm-agent1.log 2>/var/log/pmm-agent2.log'
这样的话,每次服务重启,日志都会被重写。
2.append方式
如果想重启后保留日志,可以使用append方式。但是以下方式只是对v240或者更新的版本有效:
StandardOutput=append:/var/log/pmm-agent1.log StandardError=append:/var/log/pmm-agent2.log
或者
StandardOutput=append:/var/log/pmm-agent.log StandardError=inherit
对于低于v240一下的版本,可以这样:
ExecStart=/bin/sh -c 'exec /usr/sbin/pmm-agent [arguments] >>/var/log/pmm-agent1.log 2>>/var/log/pmm-agent2.log'
参考文章:
https://unix.stackexchange.com/questions/321709/redirect-systemd-service-logs-to-file
我自己的配置
ExecStart=/bin/sh -c 'exec /usr/sbin/pmm-agent --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml >> /var/log/pmm-agent.log 2>&1'
部署脚本:
sed -i "s/^.*ExecStart=.*$/ExecStart=\/bin\/sh -c 'exec \/usr\/sbin\/pmm-agent --config-file=\/usr\/local\/percona\/pmm2\/config\/pmm-agent.yaml >> \/var\/log\/pmm-agent.log 2\>\&1'/" /usr/lib/systemd/system/pmm-agent.service systemctl daemon-reload systemctl restart pmm-agent.service
# 原生配置
# ExecStart=/usr/sbin/pmm-agent --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml