Loki日志聚合分析系统-docker-compose

一、说明

Grafana Loki 是什么?
Loki 是一个水平可扩展,高可用性,多租户的日志聚合系统 。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。
Loki 组成:
  1. loki : 主服务器,负责存储日志和处理查询
  1. promtail : 代理,负责收集日志并将其发送给 loki
  1. Grafana : Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能
Loki : https://github.com/grafana/loki

二、docker-compose

本文以一台centos 7.6主机来演示一下loki,ip地址为:192.168.31.229 

Docker-compose.yml 可以参考Loki的文档介绍。

创建目录/opt/loki,文件结构如下:

version: "3"

networks:
  loki:

services:
  loki:
    image: grafana/loki:latest
    ports:
      - "3100:3100"
    networks:
      - loki

  promtail:
    image: grafana/promtail:latest
    container_name: promtail_dongjian
    restart: unless-stopped
    volumes:
      - ./promtail:/etc/promtail
      #- ./log:/var/log
    command: -config.file=/etc/promtail/config.yml
    networks:
      - loki
  grafana:
    image: grafana/grafana:master
    ports:
      - "3000:3000"
    networks:
      - loki
docker-compose.yml
promtail 配置
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: varlogsd1
      host: djhost1
      __path__: /var/log/*log

- job_name: dongjiansystem
  static_configs:
  - targets:
      - localhost
    labels:
      job: dongjian1
      host: djhost2
      __path__: /var/log/*log
promtail/config.yml

四、运行一个java小程序测试日志

新建 docker-compose.yml
温馨小提示:
  1. 这是个定时打印日志任务的java小程序;
  1. 该文件需与上面安装loki的docker-compose-grafana-promtail-loki.yml 文件在同一级,目的:同步java程序的日志到promtail 日志采集端,当然这里也可以通过将promtail放到容器中去采集日志
  1. java程序,log-demo.yaml
version: '3'
services:
  log-demo:
    image: harbor.insightone.cn/insightlog/insightlog/log-demo:v1.0.1
    container_name: log-demo 
    volumes: 
      - ./grafana_promtail_loki/logs:/var/log
    ports:
      - "88:88"
log-demo.yaml
运行程序
docker-compose up -d

目录结构

四、Grafana Loki 配置

访问地址:http://127.0.0.1:3000 默认登录账号密码:admin/admin
配置loki数据源
填写loki地址: http://loki:3100
保存成功后,选择Explore
这里选择以文件名的方式查看日志信息
{job="varlogs"}  |= "packages"

 

 

 

posted @ 2022-11-18 15:16  王竹笙  阅读(696)  评论(0编辑  收藏  举报