跟我一起學docker(15)--監控日誌和日誌管理

IT人故事會發表於2018-08-05

為什麼要進行日誌收集?

應用程式跑在叢集中,產生很多的日誌,日誌中包含著程式執行的情況的紀錄,檢視單個機器的日誌過程繁瑣,所以需要統一的日誌管理平臺對日誌進行統一處理,將所有應用程式的日誌收集起來,可以對日誌進行儲存、歸檔、查詢、狀態判斷。

例如負載均衡的情況,nginx下面很多的web服務,如果檢視日誌的話需要進入多個tomcat一個一個看麻煩吧。

1. ELK技術解決方案吧tomcat收集起來

2. Graylog+mongo+elasticsearch 把日誌收集機器。

mongo + elasticsearch+ graylog

跟我一起學docker(15)--監控日誌和日誌管理


搭建日誌系統

安裝要求:

docker、docker-compose

配置檔案:

docker-compose.yml

some-mongo:

image: "mongo:3"

volumes:

- /opt/graylog/data/mongo:/data/db

some-elasticsearch:

image: "elasticsearch:latest"

command: "elasticsearch -Des.cluster.name='graylog'"

volumes:

- /opt/graylog/data/elasticsearch:/usr/share/elasticsearch/data

graylog:

image: graylog2/server

volumes:

- /opt/graylog/data/journal:/usr/share/graylog/data/journal

- /opt/graylog/config:/usr/share/graylog/data/config

environment:

GRAYLOG_PASSWORD_SECRET: somepasswordpepper

GRAYLOG_ROOT_PASSWORD_SHA2: 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

GRAYLOG_REST_TRANSPORT_URI: http://192.168.30.3:12900

links:

- some-mongo:mongo

- some-elasticsearch:elasticsearch

ports:

- "9000:9000"

- "12900:12900"

- "12201:12201/udp"

- "1514:1514/udp"

跟我一起學docker(15)--監控日誌和日誌管理
跟我一起學docker(15)--監控日誌和日誌管理


#直接下載官方推薦配置檔案

wget https://raw.githubusercontent.com/Graylog2/graylog2-images/2.1/docker/config/graylog.conf

#日誌配置檔案

wget https://raw.githubusercontent.com/Graylog2/graylog2-images/2.1/docker/config/log4j2.xml

跟我一起學docker(15)--監控日誌和日誌管理

graylog.conf

修改下載完的graylog.conf中的root_timezone為:

root_timezone =+08:00

跟我一起學docker(15)--監控日誌和日誌管理

log4j2.xml

啟動執行:

docker-compose up

跟我一起學docker(15)--監控日誌和日誌管理

配置graylog:

頁面:http://192.168.30.3:9000

跟我一起學docker(15)--監控日誌和日誌管理
跟我一起學docker(15)--監控日誌和日誌管理

使用者名稱:admin

密 碼:admin

配置Input

啟動應用程式容器:

docker run -d --name logtest --log-driver=gelf --log-optgelf-address=udp://192.168.30.3:12201 ubuntu /bin/bash -c "while true;doecho hello;sleep 1;done"

跟我一起學docker(15)--監控日誌和日誌管理

個人主頁:IT人故事會 http://idig8.com/

往期docker學習:

認識docker

核心概念和安裝

映象的常用操作

容器的基本操作

倉庫

資料卷

網路

Dockerfile

git入門

Jenkins使用

Jenkins+git+docker

docker compose的使用

docker Machine的使用

docker swarm的使用

跟我一起學docker(15)--監控日誌和日誌管理


相關文章