CentOS/RedHat 系列

一、使用Docker Compose 安装

1、新建一个项目目录,并进入该目录

[root@prometheus ~]# mkdir loki
[root@prometheus ~]# cd loki

图片

2、安装docker

# 1. 卸载旧版本(如果有)
yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 2. 安装依赖工具
yum install -y yum-utils device-mapper-persistent-data lvm2

# 3. 添加 Docker 官方 YUM 源(用国内镜像加速)
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 4. 安装 Docker
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 5. 启动 Docker 服务
systemctl start docker
systemctl enable docker

# 6. 验证安装
docker --version

3、配置docker加速器

[root@prometheus loki]# cat /etc/docker/daemon.json
{
  "exec-opts": [
    "native.cgroupdriver=systemd"
  ],
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
    "https://docker.1panel.top"
  ],
  "live-restore": true,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "500m",
    "max-file": "3"
  },
  "max-concurrent-downloads": 10,
  "max-concurrent-uploads": 5
}
[root@prometheus loki]#

4、启动docker​​​​​​​

systemctl daemon-reload
systemctl start docker
systemctl enable docker

5、启动Loki​​​​​​​

cd /root/loki
docker compose up -d
注意首次启动会拉取镜像

图片

6、查看容器状态

docker compose ps

图片

我这里把默认的grafana的端口号改了

7、访问 Grafana

浏览器访问:http://你的服务器IP:3000(如果改了端口就用新端口)

默认账号密码:admin / admin

首次登录会提示修改密码。

图片

二、配置日志采集

为了让 Promtail 采集日志,我们需要创建一个配置文件。在 /root/loki 目录下新建 promtail-config.yaml

promtail-config.yaml

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: system-logs
          host: prometheus
          __path__: /var/log/*.log
  - job_name: docker
    docker_sd_configs:
      - host: unix:///var/run/docker.sock
        refresh_interval: 10s
    relabel_configs:
      - source_labels: [__meta_docker_container_name]
        regex: '/(.*)'
        target_label: container
      - source_labels: [__meta_docker_container_log_stream]
        target_label: stream

图片

然后修改 docker-compose.yaml,找到 promtail 服务,把 volumes 部分改成这样:​​​​​​​

      - ./promtail-config.yaml:/etc/promtail/config.yml:ro   # 新增:挂载配置文件
      - /var/run/docker.sock:/var/run/docker.sock            # 可选:用于采集 Docker 容器日志

图片

重启服务​​​​​​​

docker compose down
docker compose up -d

1、登录 Grafana 添加 Loki 数据源

图片

2、添加Loki数据源

图片

图片

图片

图片

图片

到这里已经能采集到日志了,后续配置日志告警功能。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐