Dify+Grafana运维实践:Grafana、Loki 与 Promtail 搭建

来自AI助手的总结
介绍了Grafana、Loki和Promtail的安装及Grafana接入Loki配置日志查看。
Dify+Grafana运维实践:Grafana、Loki 与 Promtail 搭建

一、安装 Grafana

官网下载地址: https://grafana.com/grafana/download

由于官网下载很慢,所以可以配置一个阿里云的源

vi /etc/yum.repos.d/grafana.repo #内容如下

[grafana]
name=grafana
baseurl=https://mirrors.aliyun.com/grafana/yum/rpm
repo_gpgcheck=0
enabled=1
gpgcheck=0

用dnf安装grafana


dnf install -y grafana

启动服务


systemctl enable  grafana-server.service

systemctl start  grafana-server.service

配置grafana

浏览器访问 http://:3000

用户名和密码都是admin,第一次登录会让我们修改密码

改为中文

image/png

添加数据源

image/png

选择第一个: prometheus

image/png

导入模板

image/png

image/png

image/png

二、安装 Loki 和 Promtail

下载包

官网下载地址: https://github.com/grafana/loki/releases

其中promtail为日志收集器,也需要一同安装

mkdir /opt/loki
cd /opt/loki
wget https://github.com/grafana/loki/releases/download/v3.5.8/loki-linux-amd64.zip
wget https://github.com/grafana/loki/releases/download/v3.5.8/promtail-linux-amd64.zip

解压

unzip loki-linux-amd64.zip
chmod +x loki-linux-amd64
unzip promtail-linux-amd64.zip
chmod +x promtail-linux-amd64

创建loki配置文件

cat > loki-config.yaml << EOF
# 全局配置
auth_enabled: false
# 服务器配置
server:
  http_listen_port: 3100
# Ingester 配置
ingester:
  lifecycler:
    address: 127.0.0.1
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 1h
  max_chunk_age: 1h
  chunk_target_size: 1048576
  chunk_retain_period: 30s
  wal:
    dir: /opt/loki/data/wal
# Schema 配置
schema_config:
  configs:
    - from: 2025-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h
# 存储配置
storage_config:
  boltdb_shipper:
    active_index_directory: /opt/loki/data/boltdb-shipper-active
    cache_location: /opt/loki/data/boltdb-shipper-cache
  filesystem:
    directory: /opt/loki/data/chunks
# 限制配置
limits_config:
  reject_old_samples: true
  reject_old_samples_max_age: 168h
  allow_structured_metadata: false
# 表管理器配置
table_manager:
  retention_deletes_enabled: false
  retention_period: 0s
EOF

创建promtail配置文件

cat > promtail-config.yaml <<EOF
server:
  http_listen_port: 9080
  grpc_listen_port: 0
positions:
  filename: /tmp/positions.yaml
clients:
  - url: http://localhost:3100/loki/api/v1/push
scrape_configs:
- job_name: containers
  static_configs:
  - targets:
      - localhost
    labels:
      job: containerlogs
      __path__: /var/lib/docker/containers/*/*log
  pipeline_stages:
  - json:
      expressions:
        output: log
        stream: stream
        attrs:
  - json:
      expressions:
        tag:
      source: attrs
  - regex:
      expression: (?P<container_name>(?:[^|]*))\|
      source: tag
  - timestamp:
      format: RFC3339Nano
      source: time
  - labels:
      stream:
      container_name:
  - output:
      source: output
- job_name: system
  static_configs:
  - targets:
      - localhost
    labels:
      job: varlogs
      __path__: /var/log/*log
- job_name: sysmessage
  static_configs:
  - targets:
      - localhost
    labels:
      job: varlogs
      __path__: /var/log/messages
EOF

创建用户


id loki 2>/dev/null || useradd -s /sbin/nologin loki

创建数据目录,更改权限


mkdir -p /opt/loki/data/{wal,boltdb-shipper-active,boltdb-shipper-cache,chunks}

chown -R loki /opt/loki/data/

配置系统服务

## loki服务
cat > /etc/systemd/system/loki.service <<EOF
[Unit]
Description=Loki service
After=network.target
[Service]
Type=simple
User=loki
ExecStart=/opt/loki/loki-linux-amd64 --config.file=/opt/loki/loki-config.yaml
[Install]
WantedBy=multi-user.target
EOF
## promtail服务
cat >/etc/systemd/system/promtail.service  << EOF
[Unit]
Description=Promtail service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/opt/loki/promtail-linux-amd64 --config.file=/opt/loki/promtail-config.yaml
[Install]
WantedBy=multi-user.target
EOF

启动服务

systemctl daemon-reload
systemctl enable loki promtail
systemctl start loki promtail
systemctl status loki promtail # 检查状态

三、在 Grafana 中配置 Loki

浏览器访问grafana http://:3000/

连接 –> 数据源

image/png

搜索:loki

image/png

URL: http://:3100,这是Loki的服务地址

image/png

最下面点:“保存并测试”

image/png

点击“探索”

image/png

选择loki

image/png

image/png

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容