
grafana loki alloy 部署轻量级日志采集部署我的方案如下grafana docker部署版本 11.1.0loki docker部署版本 3.7.4alloy 实体机命令行启动推送给loki 直接下载最新版loki.yaml 配置文件# 第1行禁用多租户认证。false 表示单租户模式所有日志属于默认租户无需在请求中携带租户ID。auth_enabled:false# 第2-5行HTTP 服务器配置server:http_listen_port:3100# Loki 服务监听的 HTTP 端口用于接收日志推送和查询请求# 第6-12行通用配置用于多个内部组件如 ingester、querier共享common:ring:# 分布式一致性哈希环用于服务发现和故障转移instance_addr:127.0.0.1# 本实例的地址单机模式用 127.0.0.1kvstore:store:inmemory# 环的状态存储方式inmemory 表示存在内存中单机适用replication_factor:1# 数据副本数单节点设为 1 即可path_prefix:/loki# 所有数据文件索引、块的根目录容器内路径# 第13-21行存储模式Schema配置定义索引和块chunk的存储方式schema_config:configs:-from:2020-05-15# 从此日期开始应用该 schema可以用于 schema 升级store:tsdb# 索引存储引擎tsdb 是 Loki 最新推荐的生产级存储object_store:filesystem# 块数据存储方式filesystem 表示本地文件系统schema:v13# Loki 内部存储模式的版本号当前推荐 v13index:prefix:index_# 索引表名前缀实际表名会按天追加日期period:24h# 索引表按天24小时分割便于过期清理# 第22-25行存储后端详细配置storage_config:filesystem:directory:/loki/chunks# 块数据存储的具体目录在 path_prefix 下# 第26-29行表管理用于索引表的生命周期table_manager:retention_deletes_enabled:true# 开启过期删除功能必须设为 true 否则数据不会自动清理retention_period:1440h# 数据保留时长1440 小时 60 天符合你的需求docker启动loki 这里挂载了2个文件夹目录一定要给权限# 配置文件放在config_loki下chmod777/home/docker_data/loki/config_lokichmod777/home/docker_data/loki/data_lokidockerrun-d--nameloki--restartalways--memory2g --memory-swap 2g-p3100:3100-v /home/docker_data/loki/config_loki:/etc/loki-v/home/docker_data/loki/data_loki:/loki grafana/loki:3.7.4-config.file/etc/loki/loki.yamlgrafana启动#挂载数据chmod777/home/docker_data/loki/data_grafanadockerrun-d--namegrafana--restartalways--memory1G --memory-swap1G-p3000:3000-v/home//docker_data/loki/data_grafana:/var/lib/grafana grafana/grafana:11.1.0config.alloy 配置文件logging{level info}// // 1. 日志采集使用一个组件采集多个服务通过多个 targets // positions_file 统一管理避免每个服务单独维护 // loki.source.file logs{file_match{enabled true}targets [{__path__ /home/java/Aservice/logs/*.log,service Aservice},{__path__ /home/java/Bservice/logs/*.log,service Bservice},{__path__ /home/java/Cservice/logs/*.log,service Cservice},]forward_to [loki.process.log_pipeline.receiver]}// // 2. 日志处理流水线 // loki.process log_pipeline{forward_to [loki.write.loki_server.receiver]// 静态标签全局固定 stage.static_labels{values {env production,source alloy,}}// 从 targets 中已有的 service 标签传递到最终日志 // 注意loki.source.file 的每个 target 中可以自定义标签 // 这里不需要额外正则提取直接用 stage.labels 透传 stage.labels{values {service ,}}}// // 3. 推送至 Loki // loki.write loki_server{endpoint{url http://目标机器loki:3100/loki/api/v1/push batch_wait 2s}}alloy 启动命令nohup./alloy-linux-amd64 run--storage.path/home/loki/data-alloy ./config.alloyalloy.log21添加数据源http://grafanaIp:3000 默认用户名密码 admin/admin查询日志