\uD83E\uDD14 문제
/etc/logrotate.d/snet-salt
에서는 아래와 같이 정상 작성되어 있는데도,
Salt 관련 logrotation이 작동되지 않을 경우가 있습니다.
/opt/miniconda3/envs/saltenv/var/log/salt/master { daily missingok rotate 5 compress notifempty } /opt/miniconda3/envs/saltenv/var/log/salt/minion { weekly missingok rotate 5 compress notifempty } /opt/miniconda3/envs/saltenv/var/log/salt/key { weekly missingok rotate 5 compress notifempty } /opt/miniconda3/envs/saltenv/var/log/salt/api { weekly missingok rotate 5 compress notifempty } /opt/miniconda3/envs/saltenv/var/log/salt/cloud { weekly missingok rotate 5 compress notifempty } /opt/miniconda3/envs/saltenv/var/log/salt/ssh { weekly missingok rotate 5 compress notifempty }
\uD83C\uDF31 해결책
CloudHub에서 설치되는 SaltStack은 Python3 의존성 패키지 충돌 문제를 회피하기 위해서 Conda 가상환경으로 사용되고 있습니다.
또한, Salt config(master, minion 등)의 root_dir: /opt/miniconda3/envs/saltenv
을 설정하면, 거의 모든 Salt 환경은 Conda 가상 경로(위의 경우 /opt/miniconda3/envs/saltenv
/)로 잡히며, 그 아래 상대 경로로 모든 로그 파일이 쌓이게 됩니다.
이 경우, Salt logrotation이 원활히 진행되지 않는 경우가 있으며, 아래와 같이 강제 로테이션으로 실행하도록 변경합니다.(logrotate -f 옵션 추가)
$ sudo vim /etc/cron.daily/logrotate ... /usr/sbin/logrotate -f -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf ...
Add Comment