概要
LokiをMacでどんな感じか確認したかったが、Macだとコンテナログの保存先がVMであるということから公式のdocker-composeだと確認しづらいのでNginxのコンテナを入れて調整した。
構成図
LinuxではDockerのコンテナのログが「/var/lig/docker/containers」にあるが、MacではVMを利用しているため直接参照はできない。
そのためカレントディレクトリに「./var/log/nginx」を準備して、nginxコンテナにmountするようにした。
コード
ディレクトリ構成
├── docker-compose.yml
├── promtail-sample-config.yaml
└── var
└── log
└── nginx
docker-compose.yml
version: "3"
networks:
loki:
services:
grafana:
image: grafana/grafana:master
ports:
- 3000:3000
networks:
- loki
loki:
image: grafana/loki:latest
ports:
- 3100:3100
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
promtail:
image: grafana/promtail:latest
volumes:
- ./var/log:/var/log
- ./promtail-sample-config.yaml:/etc/promtail/promtail-sample-config.yaml
command: -config.file=/etc/promtail/promtail-sample-config.yaml
networks:
- loki
nginx:
image: nginx:latest
volumes:
- ./var/log:/var/log
ports:
- 8080:80
networks:
- loki
promtail-sample-config.yaml(nginxのlogを監視するように調整)
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/log/nginx/*log
立ち上げ
$ docker-compse up
GUI確認手順
下記にアクセスしてGrafanaのログイン画面を表示する
http://localhost:3000
初期IDとパスワード(admin:admin)を入力するとパスワード変更画面が表示されるのでここではスキップする
URLは下記にして設定を完了させる(※コンテナ名がホスト名となるためlokiとする)
http://loki:3100