grafana loki 2.4 简化服务部署

网友投稿 418 2022-10-20

grafana loki 2.4 简化服务部署

grafana loki 2.4 版本简化了集群部署的使用,实际上部署起来很简单了,而且系统扩容更方便了

环境准备

docker-compose 文件

---

version: "3"

networks:

loki:

services:

read:

image: grafana/loki:2.4.2

command: "-config.file=/etc/loki/config.yaml -target=read"

ports:

- 3100

- 7946

- 9095

volumes:

- ./loki-config.yaml:/etc/loki/config.yaml

depends_on:

- minio

networks: &loki-dns

loki:

aliases:

- loki

write:

image: grafana/loki:2.4.2

command: "-config.file=/etc/loki/config.yaml -target=write"

ports:

- 3100

- 7946

- 9095

volumes:

- ./loki-config.yaml:/etc/loki/config.yaml

depends_on:

- minio

networks:

<<: *loki-dns

promtail:

image: grafana/promtail:2.4.2

logging: &logging

driver: grafana/loki-docker-driver:main

options:

loki-url: ""1"

loki-tenant-id: "tenant1"

volumes:

- /var/log:/var/log

- ./promtail-config.yaml:/etc/promtail/config.yaml:ro

command: -config.file=/etc/promtail/config.yaml

depends_on:

- gateway

networks:

- loki

minio:

image: minio/minio

entrypoint:

- sh

- -euc

- |

mkdir -p /data/loki-data && \

mkdir -p /data/loki-ruler && \

minio server /data

environment:

- MINIO_ACCESS_KEY=loki

- MINIO_SECRET_KEY=supersecret

- MINIO_PROMETHEUS_AUTH_TYPE=public

- MINIO_UPDATE=off

logging:

<<: *logging

ports:

- 9000

volumes:

- ./.data/minio:/data

networks:

- loki

grafana:

image: grafana/grafana:latest

logging:

<<: *logging

environment:

- GF_PATHS_PROVISIONING=/etc/grafana/provisioning

- GF_AUTH_ANONYMOUS_ENABLED=true

- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin

depends_on:

- gateway

entrypoint:

- sh

- -euc

- |

mkdir -p /etc/grafana/provisioning/datasources

cat < /etc/grafana/provisioning/datasources/ds.yaml

apiVersion: 1

datasources:

- name: Loki

type: loki

access: proxy

url: "X-Scope-OrgID"

secureJsonData:

"tenant1"

EOF

/run.sh

ports:

- "3000:3000"

networks:

- loki

gateway:

logging:

<<: *logging

image: nginx:latest

depends_on:

- read

- write

entrypoint:

- sh

- -euc

- |

cat < /etc/nginx/nginx.conf

user nginx;

worker_processes 5; ## Default: 1

events {

worker_connections 1000;

}

{

resolver 127.0.0.11;

server {

listen 3100;

location = / {

return 200 'OK';

auth_basic off;

}

location = /api/prom/push {

proxy_pass = /api/prom/tail {

proxy_pass Upgrade \$$Connection "upgrade";

}

location ~ /api/prom/.* {

proxy_pass = /loki/api/v1/push {

proxy_pass = /loki/api/v1/tail {

proxy_pass Upgrade \$$Connection "upgrade";

}

location ~ /loki/api/.* {

proxy_pass nginx -g "daemon off;"

ports:

- "3100:3100"

networks:

- loki

安装loki docker log driver注意使用新版本的docker desktop 可能会有问题,解决方法是自己购进啊一个

docker plugin install grafana/loki-docker-driver:main --alias loki-compose --grant-all-permissions

使用

启动服务

docker-compose up- d

日志收集访问​​​的模式是越来越简单了,我们只需要一个minio (s3) 就可以方便的部署了,

参考资料

​​https://grafana.com/docs/loki/latest/fundamentals/architecture/#modes-of-operation​​

​​https://grafana.com/docs/loki/latest/release-notes/v2-4/​​

​​https://github.com/rongfengliang/grafana-loki-learning​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java毕业设计实战之学生管理系统的实现
下一篇:docker s6-overlay + containerpilot 对比
相关文章

 发表评论

暂时没有评论,来抢沙发吧~