https://github.com/zkfmapf123/docker-fluentd-elk
docker advance functions
https://github.com/zkfmapf123/docker-fluentd-elk
Last synced: 9 months ago
JSON representation
docker advance functions
- Host: GitHub
- URL: https://github.com/zkfmapf123/docker-fluentd-elk
- Owner: zkfmapf123
- Created: 2023-08-10T13:30:01.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-08-12T07:16:52.000Z (almost 3 years ago)
- Last Synced: 2025-01-13T09:38:39.141Z (over 1 year ago)
- Language: TypeScript
- Size: 156 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker-Advanced Function
## 1. Logs
```
docker logs tail -1
docker run --name --log-opt max-size=5k --log-opt max-file=3
docker run --name todo-server --log-opt max-size=5k --log-opt max-file=3 --network ff660b6a7a40 -p 3000:3000 -e PORT=3000 server_node-todo
## --log-opt max-size=5k 단일 로그 파일의 최대크기를 5kb
## --log-opt max-file=3 파일을 3개로 유지
docker-compose up --build
```
## 2. Log Forwarding use Fluentd

```
docker-compose -f docker-compose.archiving.yaml up --build
// apiserver는 다시 Restart 해야 함
// locahost:5601 -> Analytics -> Discorver
```
## Conclusion
### ELK (logstash vs Fluentd)
- 보통의 경우라면 ELK의 로그수집기는 Logstash 다.
- 하지만 Container 환경이라면 must는 아니다
> Logstash의 특징
- 호스트에 JRuby (자바 런타임) 가 필요함
- 메모리상의 큐에 고정된 크기의 20개의 이벤트를 가지고있음 지속성을 위하여 Redis나 Kafka 같은 외부 큐에 의존
-
> Fluentd 특징
- 이벤트에 태그를 지정하고 각 이벤트 유형으로 더 쉽게 라우팅이 가능하다.
```
output { if [loglevel] == "ERROR" and [development] == "production" { { ... } }
```
- flugin이 logstash 보다 너 많음
- 내부 버퍼링시스템이 존재
- \*\*\* Docker 자체에 fluentd용 로깅 드라이버가 존재 (stdout)
## Reference