docker-compose搭建grafana+loki+promtail日志系统

文件结构

./docker-compose.yml ./config/ ./config/loki-config.yaml ./config/promtail-config.yaml ./loki/ ./loki/index/ ./loki/chunks/ ./promtail/ ./nginx/logs/access.log

编辑loki配置
vim ./config/loki-config.yaml
auth_enabled: falseserver: http_listen_port: 3100 grpc_listen_port: 3110 grpc_server_max_recv_msg_size: 1073741824#grpc最大接收消息值,默认4m grpc_server_max_send_msg_size: 1073741824#grpc最大发送消息值,默认4mingester: lifecycler: address: 127.0.0.1 ring: kvstore: store: inmemory replication_factor: 1 final_sleep: 0s chunk_idle_period: 5m chunk_retain_period: 30s max_transfer_retries: 0 max_chunk_age: 20m#一个timeseries块在内存中的最大持续时间。如果timeseries运行的时间超过此时间,则当前块将刷新到存储并创建一个新块schema_config: configs: - from: 2021-01-01 store: boltdb object_store: filesystem schema: v11 index: prefix: index_ period: 168hstorage_config: boltdb: directory: /opt/loki/index #存储索引地址 filesystem: directory: /opt/loki/chunkslimits_config: enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h ingestion_rate_mb: 30#修改每用户摄入速率限制,即每秒样本量,默认值为4M ingestion_burst_size_mb: 15#修改每用户摄入速率限制,即每秒样本量,默认值为6Mchunk_store_config: #max_look_back_period: 168h#回看日志行的最大时间,只适用于即时日志 max_look_back_period: 0stable_manager: retention_deletes_enabled: false #日志保留周期开关,默认为false retention_period: 0s#日志保留周期

编辑promtail配置(统计nginx日志)
cat ./config/promtail-config.yaml
server: http_listen_port: 9080 grpc_listen_port: 0positions: filename: /tmp/positions.yaml#把loki当客户端连接 clients: - url: http://loki:3100/loki/api/v1/pushscrape_configs: - job_name: system pipeline_stages: static_configs: - targets: - localhost labels: job: nginx_access_log __path__: /logs/nginx/access.log

编辑docker-compose.yml文件
version: '3.5'networks: loki:services: loki: image: grafana/loki:latest container_name: loki restart: unless-stopped ports: - 3100:3100 volumes: - ./config:/etc/loki/config - ./loki/index:/opt/loki/index - ./loki/chunks:/opt/loki/chunks command: -config.file=/etc/loki/config/loki-config.yaml networks: - lokipromtail: image: grafana/promtail:latest container_name: promtail restart: unless-stopped volumes: - ./promtail/logs:/var/logs - ./config:/etc/promtail/config - ./nginx/logs:/logs command: -config.file=/etc/promtail/config/promtail-config.yaml networks: - lokigrafana: image: grafana/grafana:latest container_name: grafana restart: unless-stopped ports: - 3000:3000 networks: - loki

启动docker-compose
docker-compose up

访问grafana
http://localhost:3000/初始账号密码:admin

配置loki数据源 【docker-compose搭建grafana+loki+promtail日志系统】docker-compose搭建grafana+loki+promtail日志系统
文章图片

loki:3100

    推荐阅读