Docker 용기 로그 수집
2535 단어 Docker
[root@node1 ]# cat ngxlog.sh
#!/bin/bash
nginx_logs_dir="/var/log/nginx/web/"
#nginx_pid_file="/var/log/nginx/nginx.pid"
pid=`ps -ef|grep nginx|grep apache|awk '{print $3}'`
nginx_log_today="$nginx_logs_dir/access_`date +%Y%m%d`.log"
[ -f "$nginx_log_today" ] && exit 1
mv $nginx_logs_dir/access.log $nginx_log_today
/bin/kill -USR1 ${pid}
[ -f $nginx_pid_file ] && /bin/kill -USR1 $(cat $nginx_pid_file)
syslog 드라이버 설정:
rsyslog 에 대한 자세 한 사용 설명 보기
새 고 리 눅 스 개인 요리 문서 - 제1 9 장, 인식 과 분석 로그 인 파일
[root@node1 ]# cat /etc/rsyslog.conf
.........
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local1.none;local2.none /var/log/messages // messages
local1.* /var/log/nginx //
& ~
local2.* /var/log/web2log //
& ~
.........
[root@node1 ]# vim /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/nginx //
/var/log/web2log // , /var/log
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
[syslog-facility --> ]
[root@node1 ]# docker run -d --name nginx --log-driver=syslog --log-opt syslog-facility=local1 -p 81:80 nginx:v1
[root@node1 ]# docker run -d --name web2 --log-driver=syslog --log-opt syslog-facility=local2 -p 82:80 nginx:v1
:
[root@node1 ]# ll -h /var/log/{nginx,dp1web}
-rw------- 1 root root 89K 9 30 10:45 /var/log/dp1web
-rw------- 1 root root 6.0K 9 30 10:48 /var/log/nginx
journald 로그 구동
우선 미 러 로그 출력 을 stdout, stderr 로 확보 합 니 다.
[root@node1 ]# docker run -d --name n1 --log-driver=journald -p 90:80 nginx
[root@node1 ]# journalctl CONTAINER_NAME=n1
python :
[root@node1 ]# yum install python2-systemd -y
[root@node1 ]# cat log.py
#!/usr/bin/python
import systemd.journal
reader = systemd.journal.Reader()
reader.add_match('CONTAINER_NAME=web')
for msg in reader:
print '{CONTAINER_ID_FULL}: {MESSAGE}'.format(**msg)
fluentd 로그 구동 다운로드 미 러
fluentd 홈 페이지 문서
우선 미 러 로그 출력 을 stdout, stderr 로 확보 합 니 다.
응용 예시 보기
check config file:
[root@node1 ]# fluentd --dry-run -c fluent.conf*
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
첫 번째 Docker for Mac참고 , 나는 옆에 있는 Mac에 Docker를 설치하고 컨테이너를 세워 보고 싶다. Docker Hub를 처음 사용할 때는 계정을 만들어야 합니다. Docker.dmg을 실행하면 Docker가 설치됩니다. Dock...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.