Loki动态展示linux本地日志
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本地日志的更多相关文章
- Linux学习日志——基本指令②
文章目录 Linux学习日志--基本指令② 前言 touch cp (copy) mv (move) rm vim 输出重定向(> 或 >>) cat df(disk free) f ...
- IOS本地日志记录方案
我们在项目中日志记录这块也算是比较重要的,有时候用户程序出什么问题,光靠服务器的日志还不能准确的找到问题. 现在一般记录日志有几种方式: 1.使用第三方工具来记录日志,如腾讯的Bugly,它是只把程序 ...
- Linux Rsyslog日志集中管理
Linux Rsyslog日志集中管理 一.Rsyslog简介 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来 ...
- Linux下日志文件监控系统Logwatch的使用记录
Linux下日志文件监控系统Logwatch的使用记录 原文:http://www.cnblogs.com/kevingrace/p/6519504.html 在维护Linux服务器时,经常需要查看系 ...
- IOS本地日志记录解决方案
我们在项目中日志记录这块也算是比较重要的,有时候用户程序出什么问题,光靠服务器的日志还不能准确的找到问题 现在一般记录日志有几种方式: 1.使用第三方工具来记录日志,如腾讯的Bugly,它是只把程序的 ...
- linux系统——日志文件系统及性能分析
Linux日志文件系统及性能分析 日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统: ...
- Linux内核日志开关
Linux内核日志开关 1.让pr_debug能输出 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -59,7 +59,7 ...
- linux log日志解析
linux log日志解析 其实,可以说成是监控系统的记录,系统一举一动基本会记录下来.这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误 ...
- Linux操作系统的日志管理之rsyslog实战案例
Linux操作系统的日志管理之rsyslog实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志介绍 1>.什么是日志 历史事件: 时间,地点,人物,事件 日志级 ...
- 【.NET 6+Loki+Grafana】实现轻量级日志可视化服务功能
前言:日志功能是几乎所有程序或系统都必备的一个功能.该文章通过使用Loki+Grafana来实现日志记录与可视化查询,欢迎围观. 有关环境: 操作系统:WIN 10 .NET环境:.NET 6 开发环 ...
随机推荐
- 华为云原生数据仓库GaussDB(DWS)深度技术解读:融、快、大、稳、易
摘要:云原生数据仓库GaussDB(DWS)架构师应邀为大家解读数仓深度技术. "云原生"在2020年成为备受瞩目的热词,云原生在确保企业数字化转型中资源快速供给.按需使用的同时, ...
- 鸿蒙轻内核M核源码分析:中断Hwi
摘要:本文带领大家一起剖析了鸿蒙轻内核的中断模块的源代码,掌握中断相关的概念,中断初始化操作,中断创建.删除,开关中断操作等. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列五 中断Hwi&g ...
- 华为云AOM 2.0版本发布
摘要:AOM作为华为云面向租户的统一运维门户,将在7月1日重磅发布2.0版本. 本文分享自华为云社区<华为云AOM发布2.0版本,3大特性亮相>,作者:华为云PaaS小助手. 6月16日华 ...
- M-SQL:超强的多任务表示学习方法
摘要:本篇文章将硬核讲解M-SQL:一种将自然语言转换为SQL语句的多任务表示学习方法的相关论文. 本文分享自华为云社区<[云驻共创]M-SQL,一种超强的多任务表示学习方法,你值得拥有> ...
- Solon2 之基础:三、启动参数说明
启动参数,在应用启动后会被静态化(为了内部更高效的利用).比如,想通过体外扩展加载配置,是不能改掉它们的. 1.启动参数 启动参数 对应的应用配置 描述 --env solon.env 环境(可用于内 ...
- Solon v1.11.3 发布,第101个发布版本喽
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...
- Ali266首次商用落地,助力优酷码率最高节省40%
阿里云自研编码器Ali266于2022年1月在优酷正式上线,这是已知的业界首个H.266/VVC标准的编码器商用落地项目.经过两个月的实际运行数据显示,开启Ali266后,同等画面清晰度的情况下比原H ...
- BAPI_PO_CHANGE 采购订单修改服务
修改服务页签里面的价格和数量,达到修改净价和条件里面金额的目的 数据可以通过采购订单查询ESLH和ESLL表获取 "------------------------------------- ...
- @Scheduled cron 定时任务表达式含义,及* ?的区别
好多网友对@Scheduled cron表达式含义做了阐述,个人认为很多对于 * ?的说明不够具体也不算准确,借此本文特别对 * ?做一下说明. cron格式:[秒数][分钟][小时][日期][月份] ...
- Redis系列:使用 Redis Module 扩展功能
★ Redis24篇集合 1 啥是Redis Module Redis Module是Redis的一种扩展模块,从 4.0版本开始,允许用户自定义扩展模块,在Redis内部实现新的数据类型和功能,使用 ...