Promtail采集服务器本地日志存储到Loki

✅ 一、前提条件

  1. 已安装 Loki 服务

  2. 日志文件目录可访问(如 /var/log)

  3. 具备 sudo 权限

🧩 二、下载 Promtail 二进制文件

bash 复制代码
# 替换为你想要的版本
VERSION="3.5.1"

# 创建目录
sudo mkdir -p /opt/promtail
cd /opt/promtail

# 下载并解压
curl -LO "https://github.com/grafana/loki/releases/download/v${VERSION}/promtail-linux-amd64.zip"
unzip promtail-linux-amd64.zip
mv promtail-linux-amd64 promtail
chmod +x promtail

📦 三、配置 Promtail

创建配置文件 /etc/promtail/promtail.yaml ,示例内容如下:

bash 复制代码
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /opt/promtail/positions.yaml

clients:
  - url: http://10.55.2.40:31000/loki/api/v1/push

scrape_configs:
  - job_name: yarn_logs
    static_configs:
      - targets:
          - localhost
        labels:
          job: yarn_logs
          __path__: /data/yarn/logs/**/**/*.out
      - targets:
          - localhost
        labels:
          job: yarn_logs
          __path__: /data/yarn/logs/**/**/*.err
      - targets:
          - localhost
        labels:
          job: yarn_logs
          __path__: /data/yarn/logs/**/**/*.log
        

🛠 四、创建 systemd 服务

创建服务文件 /etc/systemd/system/promtail.service:

bash 复制代码
[Unit]
Description=Promtail service
After=network.target

[Service]
Type=simple
ExecStart=/opt/promtail/promtail -config.file=/etc/promtail/promtail.yaml >> /var/log/promtail.log 2>> /var/log/promtail-error.log
Restart=on-failure

[Install]
WantedBy=multi-user.target

🚀 五、启动服务

bash 复制代码
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now promtail

检查状态:

bash 复制代码
systemctl status promtail

📋 六、验证日志采集

  1. 访问 Loki,确认数据已经送达。

  2. 使用 Grafana 中的 Explore 功能查看日志(需要已连接 Loki 数据源)。

bash 复制代码
# 移动到日志采集的目录下
[root@uhadoop-1cef6n08gzqc-core1 ~]# cd  /data/yarn/logs/application_1748242101840_0048/container_1748242101840_0048_01_000002 
# 手动写入到sunwenbo.log 日志文件中
[root@uhadoop-1cef6n08gzqc-core1 container_1748242101840_0048_01_000002]# echo "sunwenbo test" >  sunwenbo.log 
相关推荐
Madison-No75 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌6 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121387 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
云老大-阿里云国际站代理商8 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484819 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS9 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
wdfk_prog10 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞10 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
浅念-11 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
日常筹谋记11 小时前
自动化仓储安全防护工况评估:明治传感器AS-33C技术适配性分析
大数据·运维·创业创新·业界资讯