freeseaboy 님의 멋있어 지려 노력하는 블로그

도커(7) 도커 Logs알아보기 본문

컴퓨터 & 서버/리눅스

도커(7) 도커 Logs알아보기

freeseaboy 2024. 11. 16. 17:13
반응형

자 오늘 3교시 도커 시간 간단하게 로그관련

내용만 잠깐 보는 영상으로 찍었으니

마음편하게 보세요..

스크립밑


​★  ★위 포스팅 내용은 네X버 Blog 아래 링크에도 

똑같이 미러링 되어 있습니다.예비 Blg ​★  

https://blog.naver.com/iwseo7114

 

iwseo7114님의 블로그 : 네이버 블로그

안녕하세요. 일상 생활 공유에 관심이 많은 샐리엇입니다. 잘부탁드려요~ㅋ

blog.naver.com

 

 

#################################################################

자 안녕하세요 오늘 3교시 도커 스터디 및 리뷰죠

일단 오늘은 간단하게 할거에요 한챕터이긴한데 내용이많아서

쪼개서 공부하는거라 일단 노래듣

- 컨테이너 로깅

- json-file 로그

- syslog 로그

- fluentd 로깅

대표적으로 컨테이너 로깅 방법은 3가지정도가 있다고 합니다 위 3개

컨테이너 표준출력 및 표준 에러를 메타데이터 파일로 저장한다

도커를 띄우고

docker logs 이름 을하면 표준 출력을 볼수 있다.

[root@C3 ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

244febdfe20b prom/node-exporter "/bin/node_exporter" 3 seconds ago Up 1 second 9100/tcp hopeful_gagarin

[root@C3 ~]# docker logs 244

ts=2024-11-16T07:50:31.822Z caller=node_exporter.go:193 level=info msg="Starting node_exporter" version="(version=1.8.2, branch=HEAD, revision=f1e0e8360aa60b6cb5e5cc1560bed348fc2c1895)"

ts=2024-11-16T07:50:31.822Z caller=node_exporter.go:194 level=info msg="Build context" build_context="(go=go1.22.5, platform=linux/amd64, user=root@03d440803209, date=20240714-11:53:45, tags=unknown)"

ts=2024-11-16T07:50:31.823Z caller=diskstats_common.go:111 level=info collector=diskstats msg="Parsed flag --collector.diskstats.device-exclude" flag=^(z?ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\d+n\d+p)\d+$

ts=2024-11-16T07:50:31.823Z caller=diskstats_linux.go:265 level=error collector=diskstats msg="Failed to open directory, disabling udev device properties" path=/run/udev/data

ts=2024-11-16T07:50:31.823Z caller=filesystem_common.go:111 level=info collector=filesystem msg="Parsed flag --collector.filesystem.mount-points-exclude" flag=^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)

ts=2024-11-16T07:50:31.823Z caller=filesystem_common.go:113 level=info collector=filesystem msg="Parsed flag --collector.filesystem.fs-types-exclude" flag=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:111 level=info msg="Enabled collectors"

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=arp

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=bcache

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=bonding

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=btrfs

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=conntrack

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=cpu

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=cpufreq

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=diskstats

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=dmi

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=edac

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=entropy

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=fibrechannel

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=filefd

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=filesystem

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=hwmon

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=infiniband

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=ipvs

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=loadavg

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=mdadm

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=meminfo

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=netclass

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=netdev

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=netstat

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=nfs

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=nfsd

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=nvme

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=os

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=powersupplyclass

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=pressure

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=rapl

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=schedstat

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=selinux

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=sockstat

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=softnet

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=stat

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=tapestats

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=textfile

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=thermal_zone

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=time

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=timex

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=udp_queues

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=uname

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=vmstat

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=watchdog

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=xfs

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=zfs

ts=2024-11-16T07:50:31.824Z caller=tls_config.go:313 level=info msg="Listening on" address=[::]:9100

ts=2024-11-16T07:50:31.824Z caller=tls_config.go:316 level=info msg="TLS is disabled." http2=false address=[::]:9100

[root@C3 ~]#

docker logs --tail [라인] [이름]

을 하면 맨처음부터 라인수만큼 로그가 나온다고 합니다

[root@C3 ~]# docker logs --tail 10 244

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=time

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=timex

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=udp_queues

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=uname

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=vmstat

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=watchdog

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=xfs

ts=2024-11-16T07:50:31.823Z caller=node_exporter.go:118 level=info collector=zfs

ts=2024-11-16T07:50:31.824Z caller=tls_config.go:313 level=info msg="Listening on" address=[::]:9100

ts=2024-11-16T07:50:31.824Z caller=tls_config.go:316 level=info msg="TLS is disabled." http2=false address=[::]:9100

[root@C3 ~]#

그리고 쉘에서 사용한 내역도 볼수있음

[root@C3 ~]# docker run -it ubuntu:14.04

root@36efead75224:/# echo "What"

What

root@36efead75224:/# [root@C3 ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

36efead75224 ubuntu:14.04 "/bin/bash" 26 seconds ago Up 21 seconds cranky_dirac

244febdfe20b prom/node-exporter "/bin/node_exporter" 3 minutes ago Up 3 minutes 9100/tcp hopeful_gagarin

[root@C3 ~]# docker logs 36e

root@36efead75224:/# echo "What"

What

[root@C3 ~]#

로우데이터도 볼수있다

root@C3 ~]# cat /var/lib/docker/containers/244febdfe20ba99fd7ae8ae52957baeb2647a81e272939f50b988310e097f2e0/244febdfe20ba99fd7ae8ae52957baeb2647a81e272939f50b988310e097f2e0-json.log

{"log":"ts=2024-11-16T07:50:31.822Z caller=node_exporter.go:193 level=info msg=\"Starting node_exporter\" version=\"(version=1.8.2, branch=HEAD, revision=f1e0e8360aa60b6cb5e5cc1560bed348fc2c1895)\"\n","stream":"stderr","time":"2024-11-16T07:50:31.822341734Z"}

{"log":"ts=2024-11-16T07:50:31.822Z caller=node_exporter.go:194 level=info msg=\"Build context\" build_context=\"(go=go1.22.5, platform=linux/amd64, user=root@03d440803209, date=20240714-11:53:45, tags=unknown)\"\n","stream":"stderr","time":"2024-11-16T07:50:31.82238759Z"}

{"log":"ts=2024-11-16T07:50:31.823Z caller=diskstats_common.go:111 level=info collecto

그리고 이방식말고

syslog형식으로도 가능합니다.

즉 컨테이너에서 실행한 정보를 호스트syslog로 가져와서 볼수있다 이런거죠..

지금 이책에서 말하는게

rsyslog라는 프로그램으로 컨테이너 정보를 수집한다 이말이거든요?

즉 컨테이너에서 rsyslog설정하고 rsyslog호스트로 지정된 서버로 데이터를 보내서

서버에서 컨테이너의 log를 본다는 내용이에요 근데 지금 제가

컨테이너 네트워크 이슈가 있어서 실습은 쫌 하기 그래요 ㅋ

fluentd 로깅은 각종 로그를 수집하고 저장하는 오픈소스라고 합니다.

데이터 포맷은 제이슨json 키 값 두개죠..

오늘은 이게 사실 다에요...

플루언트나 AWS 같은거는 연동을 해야되는데 애로 사항이 있죠...

우리는 어찌되었든 rsyslog랑 syslog 그외 도커 컨테이너 제공 표준 로그 이렇게만

알아도 충분합니다 ..그니깐 걱정마시고잉

다음에는 컨테이너 자원관리쪽을 알아볼거에요...그렇게 아시면 됩니다.

도커 실행하는법 이미지 받는법 네트워크 포워딩하는법 종류 설정법

그외 볼륨 공유 및 제한 하는법 오늘배운 로그 설정하는법

이렇게배웠으니깐 그래서 10분애 0.5는 했다고 할수있어요 ㅋㅋ

무튼 이번영상은 이렇게 짧게 하고 다음에는 자원쪽 찍어 올릴게요 ㅅㄱ요

#################################################################

docker

 

반응형