Loki动态展示linux本地日志


背景

  • 产品需要拆分微服务部署,直接使用K8S部署虽然比较规范但是部署时间较长.
  • 本地文件系统部署简洁快速一些, 但是不太好直接复用一些规范的产品.
  • 本次处理方法就是基于Linux文件系统通过grafana展示微服务日志的方法
  • 本次涉及 grafana进行动态展示, loki显示日志 promtail 进行日志归集.

统一日志存放

  • 使用微服务部署方式将应用服务器存放于 /su 路径下面进行分别存放.
  • 使用脚本进行批量启动
for i in `ls /su` ;
do
cd /su/$i/apppath/ && nohup ./startup.sh > /sulog/$i.log & ;
done
  • 脚本说明
1. /su 路径下面存放具体微服务的程序路径. 并且带单独的启动脚本
2. /sulog 用于整体存放微服务的日志, 注意使用变量方式进行.便于查看.

镜像与配置文件

  • 拉取
docker pull grafana/grafana
docker pull grafana/loki
docker pull grafana/promtail
  • 获取配置文件
wget https://raw.githubusercontent.com/grafana/loki/v2.3.0/cmd/loki/loki-local-config.yaml -O /grafana/loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.3.0/clients/cmd/promtail/promtail-docker-config.yaml -O /grafana/promtail-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.3.0/production/docker-compose.yaml -O /grafana/docker-compose.yaml
  • 备注 Study From https://www.jianshu.com/p/87bc8a39fbd5

修改配置文件

  • loki的配置文件几乎不需要修改
  • promtail 配置文件需要如下修改
clients:
- url: http://10.110.x.x:3100/loki/api/v1/push
# 注意着一个地址需要与loki服务器指定, 并且建议打开防火墙
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /sulog/*log
# 注意这个路径 需要与启动服务的路径保持一致.

修改docker-compose文件

version: "3"
networks:
loki:
services:
loki:
image: grafana/loki:latest
ports:
- "3100:3100"
command: -config.file=/grafana/loki-config.yaml
volumes:
- /grafana:/grafana
networks:
- loki
# 注意 loki 的配置文件需要通过 volumes 的方式进行挂载.
# 注意配置文件也是如此
promtail:
image: grafana/promtail:latest
volumes:
- /sulog:/sulog
- /grafana:/grafana
command: -config.file=/grafana/promtail-config.yaml
networks:
- loki
# 注意微服务的日志和配置文件都需要进行挂载.
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
networks:
- loki
# grafana 基本上不需要修改.

启动服务

  • 复制docker-compose 到 /usr/bin 目录下并且设置权限
docker-compose up -d
# 启动服务
  • 注意可以通过如下方式进行简单配置检查
docker ps -a
# 查看镜像时会否正常
docker logs -f container_name
# 查看日志进行分析处理.

界面化验证

  • 登录grafana
打开 ip:3000 地址, 默认密码 admin/admin
第一次登录需要修改密码
  • 添加数据源
进入grafana 打开数据源定义 添加 loki数据源
注意建议选择 具体ip地址进行使用
localhost 可能是不通的.

界面化验证

  • 打开explore
  • 选择某一个文件,然后选择showlogs 展示日志
  • 注意可以选择 query log 并且定期刷新
  • 可以手工修改 log 文件名的方式来展示不同微服务的日志.
  • 提供给其他人使用.

Loki动态展示linux本地日志的更多相关文章

  1. Linux学习日志——基本指令②

    文章目录 Linux学习日志--基本指令② 前言 touch cp (copy) mv (move) rm vim 输出重定向(> 或 >>) cat df(disk free) f ...

  2. IOS本地日志记录方案

    我们在项目中日志记录这块也算是比较重要的,有时候用户程序出什么问题,光靠服务器的日志还不能准确的找到问题. 现在一般记录日志有几种方式: 1.使用第三方工具来记录日志,如腾讯的Bugly,它是只把程序 ...

  3. Linux Rsyslog日志集中管理

    Linux Rsyslog日志集中管理 一.Rsyslog简介 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来 ...

  4. Linux下日志文件监控系统Logwatch的使用记录

    Linux下日志文件监控系统Logwatch的使用记录 原文:http://www.cnblogs.com/kevingrace/p/6519504.html 在维护Linux服务器时,经常需要查看系 ...

  5. IOS本地日志记录解决方案

    我们在项目中日志记录这块也算是比较重要的,有时候用户程序出什么问题,光靠服务器的日志还不能准确的找到问题 现在一般记录日志有几种方式: 1.使用第三方工具来记录日志,如腾讯的Bugly,它是只把程序的 ...

  6. linux系统——日志文件系统及性能分析

    Linux日志文件系统及性能分析 日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统: ...

  7. Linux内核日志开关

    Linux内核日志开关 1.让pr_debug能输出 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -59,7 +59,7 ...

  8. linux log日志解析

    linux log日志解析   其实,可以说成是监控系统的记录,系统一举一动基本会记录下来.这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误 ...

  9. Linux操作系统的日志管理之rsyslog实战案例

    Linux操作系统的日志管理之rsyslog实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志介绍 1>.什么是日志 历史事件: 时间,地点,人物,事件 日志级 ...

  10. 【.NET 6+Loki+Grafana】实现轻量级日志可视化服务功能

    前言:日志功能是几乎所有程序或系统都必备的一个功能.该文章通过使用Loki+Grafana来实现日志记录与可视化查询,欢迎围观. 有关环境: 操作系统:WIN 10 .NET环境:.NET 6 开发环 ...

随机推荐

  1. 小熊派开发实践丨小熊派+合宙Cat.1接入云服务器

    摘要:使用小熊派开发板,以合宙的AIR724为通信模组(Cat.1),以AT指令方式,通过mqtt协议接入云服务器. 本贴使用小熊派开发板+合宙的Air724(Cat.1模组),接入自己搭建的EMQ服 ...

  2. WebKit网页布局实现(0):基本概念及标准篇

    作为一个广受好评的浏览器引擎,其网页布局的质量(包括速度.效率.符合标准度等)往往是其关键,那么WebKit究竟是如何布局网页上的所有元素(包括滚动条.文字.图片.按钮.下拉框等)呢?其主要数据结构及 ...

  3. 再谈BOM和DOM(2):DOM节点层次/属性/选择器/节点关系/操作详解

    DOM模型将整个文档(XML文档和HTML文档)看成一个树形结构,并用document对象表示该文档. 根据W3C DOM规范,DOM是HTML与XML的应用编程接口(API),DOM将整个页面映射为 ...

  4. PPT 动画-树叶摆动

    插入树叶 插入矩形,长宽放大1倍 树叶和矩形组合

  5. Jenkins Pipeline 流水线 - 使用代理节点,Remote SSH 对 K8S 进行升级

    Jenkins Pipeline 流水线 - K8S kubectl 升级 使用代理节点 Remote SSH 远程执行命令进行升级 Remote SSH 方式 安装插件 SSH Pipeline S ...

  6. Vue框架基础

    博客目录 前端发展介绍 Vue的快速使用 插值语法 指令系统之文本指令.事件指令.属性指令 style和class 条件渲染 列表渲染 使用v-for进行循环 监控失效 双向数据绑定 input输入框 ...

  7. JSP常见错误以及解决方案

    原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 本节我们分析一下常见的 JSP 错误信息,并给出解决方案.这些错误在实际开发中会经常遇到,所以有 ...

  8. AcWing 第 2 场周赛

    比赛链接:Here AcWing 3626. 三元一次方程 暴力即可 void solve() { int n; cin >> n; for (int i = 0; i <= n / ...

  9. 【每日一题】2.合并回文子串 (字符串处理 + 区间DP)

    题目链接:Here 遇到这种数据范围较小的计数问题应该优先考虑dp,本题就是如此. 那么应该怎么样考虑转移呢? 首先最后C中的那个价值最大的子串一定是由字符串A的一个区间和字符串B的一个区间合并得到的 ...

  10. 函数计算 FC 3.0 发布,全面降价,最高幅度达93%,阶梯计费越用越便宜

    作为国内最早布局 Serverless 的云厂商之一,阿里云在 2017 年推出函数计算 FC,开发者只需编写代码并上传,函数计算就会自动准备好相应的计算资源,大幅简化开发运维过程.阿里云函数计算持续 ...