搭建Loki+promtail+grafana日志监控平台,可以直接在grafana的UI界面查看系统应用日志,使日志查看起来更方便、快捷。


   Loki:主服务器,负责存储日志和处理查询。 

  Promtail:代理,负责收集日志并将其发送给Loki。

  Grafana:用于查询和显示日志。


1. 离线获取安装文件

  适用于内网服务器,无法访问互联网,获取安装文件后上传至服务器指定目录。

1.1  方式一:下载

Loki的GitHub地址:https://github.com/grafana/loki
配置文件官网地址:https://grafana.com/docs/loki/latest/installation/local/
Grafana下载官网:https://grafana.com/grafana/download

1.2 方式二:网盘获取

loki、promtail应用及配置文件网盘链接:https://pan.baidu.com/s/1VKw4u329nIsfKARGVa9nvg    提取码:yplj

2. 日志平台搭建

2.1 loki安装

2.1.1 下载文件

#创建目录
mkdir -p /opt/loki

#下载压缩文件
cd /opt/loki
curl -O -L https://github.com/grafana/loki/releases/download/v2.0.0/loki-linux-amd64.zip

#下载配置文件
wget --no-check-certificate https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml

#解压文件
unzip loki-linux-amd64.zip

#执行文件授权
chmod a+x loki-linux-amd64

2.1.2 修改配置文件(loki-local-config.yaml)

  配置如下:

auth_enabled: false

server:
http_listen_port: 3100 #如是云服务需打开3100端口
grpc_listen_port: 9096 common:
path_prefix: /opt/loki
storage:
filesystem:
chunks_directory: /opt/loki/chunks
rules_directory: /opt/loki/rules
replication_factor: 1
ring:
instance_addr: 127.0.0.1 #loki访问路径,可不做修改
kvstore:
store: inmemory #query_range:
#results_cache:
#cache:
#embedded_cache: false
#enabled: false
#distributed: false
#max_size_mb: 100 schema_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h limits_config:
enforce_metric_name: false
reject_old_samples: true # 是否拒绝老样本
reject_old_samples_max_age: 336h # 336小时之前的样本将会被删除
ingestion_rate_mb: 32 # 每秒允许promtail传输32MB,默认为4
ingestion_burst_size_mb: 64
per_stream_rate_limit: 1000MB
max_entries_limit_per_query: 10000 chunk_store_config:
max_look_back_period: 336h # 为避免查询超过保留期的数据,必须小于或等于下方的时间值 table_manager:
retention_deletes_enabled: true # 保留删除开启
retention_period: 336h # 超过336h的块数据将被删除 ruler:
alertmanager_url: http://localhost:9093 # By default, Loki will send anonymous, but uniquely-identifiable usage and configuration
# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/
#
# Statistics help us better understand how Loki is used, and they show us performance
# levels for most users. This helps us prioritize features and documentation.
# For more information on what's sent, look at
# https://github.com/grafana/loki/blob/main/pkg/usagestats/stats.go
# Refer to the buildReport method to see what goes into a report.
#
# If you would like to disable reporting, uncomment the following lines:
#analytics:
# reporting_enabled: false

2.1.3 启动loki服务

# 启动Loki命令  默认端口为 3100
nohup ./loki-linux-amd64 -config.file=loki-local-config.yaml > loki.log 2>&1 &

2.2 promtail安装

2.2.1 下载文件

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

#下载压缩文件
cd /opt/promtail
curl -O -L https://github.com/grafana/loki/releases/download/v2.0.0/promtail-linux-amd64.zip

#下载配置文件
wget --no-check-certificate https://raw.githubusercontent.com/grafana/loki/master/clients/cmd/promtail/promtail-local-config.yaml

#解压文件
unzip promtail-linux-amd64.zip

#执行文件授权
chmod a+x promtail-linux-amd64

2.2.2 修改配置文件(promtail-local-config.yaml)

  修改 clients, 将host改为loki服务器地址 ; 添加 scrape_configs 对应的 labels 进行日志收集。

  配置如下,涉及到7个应用的日志查看:

server:
http_listen_port: 9080 #云服务器需开放9080端口
grpc_listen_port: 0 positions:
filename: /opt/promtail/positions.yaml #positions存放路径在promtail工具地址下 clients:
- url: http://192.168.0.105:3100/loki/api/v1/push #修改为loki服务器IP scrape_configs:
- job_name: fap
static_configs:
- targets:
- localhost
labels:
job: "HSJ_fap"
__path__: /opt/cwy8.32/product/module/P/FAP/nohup.out - job_name: portal
static_configs:
- targets:
- localhost
labels:
job: "HSJ_portal"
__path__: /opt/cwy8.32/product/module/P/PORTAL/nohup.out - job_name: cwy
static_configs:
- targets:
- localhost
labels:
job: "HSJ_cwy"
__path__: /opt/cwy8.32/product/module/A/CWY/nohup.out - job_name: fasp_register
static_configs:
- targets:
- localhost
labels:
job: "HSJ_fasp_register"
__path__: /opt/cwy8.32/product/module/A/FASP/register-nohup.out - job_name: fasp_gateway
static_configs:
- targets:
- localhost
labels:
job: "HSJ_fasp_gateway"
__path__: /opt/cwy8.32/product/module/A/FASP/gateway-nohup.out - job_name: fasp_base
static_configs:
- targets:
- localhost
labels:
job: "HSJ_fasp_base"
__path__: /opt/cwy8.32/product/module/A/FASP/base-nohup.out - job_name: fasp_web
static_configs:
- targets:
- localhost
labels:
job: "HSJ_fasp_web"
__path__: /opt/cwy8.32/product/module/A/FASP/web-nohup.out

2.2.3 启动promtail服务

#启动Promtail命令,默认端口是9080
nohup ./promtail-linux-amd64 -config.file=promtail-local-config.yaml > promtail.log 2>&1 &

2.3 配置grafana

2.3.1 添加loki数据源

  登入grafana,点击【设置】按钮,进入【Configuration】页面;点击右侧的【add data source】添加loki数据源

2.3.2 配置数据源url 

  点击loki数据源,配置url地址(loki服务所在服务器的IP地址,端口默认3100),随后点击【save&test】

2.3.3 选择日志查看选项   

点击Explore,在Explore界面选择【job】,下一步可以选择需要查看的应用日志,如下显示:

2.3.4 查看日志示例:

选择HSJ_cwy,再点击右上角【Run query】,即可查看HSJ_cwy应用的日志信息,如下:

3.  导入loki日志查看仪表板(便于查看日志)

  点击grafana左侧菜单栏【+】-【import】,进入导入dashboard页面

  导入“下载的仪表板”和“创建的数据源”,点击【import】按钮,导入成功

loki仪表板链接:https://pan.baidu.com/s/19Jm1_k029wZj1iDP-MtDGg   提取码:de09


END

日志监控平台搭建(Loki+promtail+grafana)的更多相关文章

  1. 【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

    前言 在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率.但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载 ...

  2. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(三)

    在之前系列博文中,已经介绍完了数据采集和数据存储,那数据如何展示呢?所以今天就专门来讲下数据如何展示的问题. 以前博文参考: Docker系列--InfluxDB+Grafana+Jmeter性能监控 ...

  3. ElasticSearch实战-日志监控平台

    1.概述 在项目业务倍增的情况下,查询效率受到影响,这里我们经过讨论,引进了分布式搜索套件——ElasticSearch,通过分布式搜索来解决当下业务上存在的问题.下面给大家列出今天分析的目录: El ...

  4. ELK日志监控平台安装部署简介--Elasticsearch安装部署

    最近由于工作需要,需要搭建一个ELK日志监控平台,本次采用Filebeat(采集数据)+Elasticsearch(建立索引)+Kibana(展示)架构,实现日志搜索展示功能. 一.安装环境描述: 1 ...

  5. inux监控平台搭建-监控项

    linux监控平台搭建-监控项 本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监 ...

  6. 基础架构之日志管理平台搭建及java&net使用

    在现代化的软件开发流程中,日志显得非常的重要,不可能再零散的游离在各个项目中,等查看日志的时候再登录服务器去到特定的目录去查看,这显然很繁琐且效率低下,所有整合一套日志管理平台,也显得非常重要,这篇文 ...

  7. linux监控平台搭建-cpu

    linux监控平台搭建-cpu 目前服务器的主流CPU是intel或者AMD.到底主频是什么.多核.多线程.并发.并行.超频.一级缓存.二级缓存.三级缓存.i386.x86 cpu:含有算术逻辑.控制 ...

  8. linux监控平台搭建-内存

    linux监控平台搭建-内存 上一篇文章说的硬盘.就写一下.更加重要的东西.在手机上面是RAM.机器是memory.内存是按照字节编址.每个地址的存储单元可以存放8bit的数据.cpu 通过内存地址获 ...

  9. linux监控平台搭建-磁盘

    linux监控平台搭建-磁盘 磁盘:随着大数据快速发展.人工智能.自动化.云平台.数据量指数的增长.磁盘的使用量也在增长.目前的机器基本上采用SSD或者SATA盘,一直有人比较那个好.会不会使用时间短 ...

  10. FILEBEAT+ELK日志收集平台搭建流程

    filebeat+elk日志收集平台搭建流程 1.         整体简介: 模式:单机 平台:Linux - centos - 7 ELK:elasticsearch.logstash.kiban ...

随机推荐

  1. 如何理解 Spring Boot 中的 Starter ?

    假如 没有 Spring Boot Starter,我们有两种方式来创建 Spring Bean. spring xml 模式 (远古模式,并不推荐) spring API 来创建 Spring Be ...

  2. 2020-12-02:mysql中,一张表里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记

    2020-12-02:mysql中,一张表里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记 ...

  3. 2021-03-11:go中,协程内部再启用协程,它们是没关系,对吧?外部协程奔溃,内部协程还会执行吗?外部协程执行结束的时候,如何让内部协程也停止运行?golang原生提供的包里,让内部协程停止运行,如何实现?

    2021-03-11:go中,协程内部再启用协程,它们是没关系,对吧?外部协程奔溃,内部协程还会执行吗?外部协程执行结束的时候,如何让内部协程也停止运行?golang原生提供的包里,让内部协程停止运行 ...

  4. C++中的字符串编码处理

    今天由于在项目中用到一些与C++混合开发的东西 ,需要通过socket与C++那边交换数据,没啥特别的,字节码而已,两边确定一种编码规则就行了.我们确定的UTF-8.关于C++的 这种又是宽字节 又是 ...

  5. ModuleNotFoundError: No module named 'flask_wtf'

    ModuleNotFoundError: No module named 'flask_wtf' 解决: pip install flask_wtf

  6. Odoo-----计算字段、depnds,onchange 机制、模型约束

    1 计算字段和默认值问题 ​ 字段通过调用模型的方法的实时计算获得,一般都是 compute 属性为主的方法,这个计算方法通过计算self每条记录设置的的值,self 是一个有记录的有序集合,支持py ...

  7. Python异步编程之web框架 异步vs同步 文件IO任务压测对比

    测试基本信息 主题:比较异步框架和同步框架在文件IO操作的性能差异 python版本:python 3.8 压测工具:locust web框架:同步:flask 异步:aiohttp.starlett ...

  8. Golang扫盲式学习——GO并发 | (一)

    并发与并行 并发与并行的概念和区别 并行:同一个时间段内多个任务同时在不同的CPU核心上执行.强调同一时刻多个任务之间的"同时执行". 并发:同一个时间段内多个任务都在进展.强调多 ...

  9. 谈谈ChatGPT是否可以替代人

    起初我以为我是搬砖的,最近发现其实只是一块砖,哪里需要哪里搬. 这两天临时被抽去支援跨平台相关软件开发,帮忙画几个界面.有了 ChatGPT 之后就觉得以前面向 Googel 编程会拉低我滴档次和逼格 ...

  10. 20个Golang片段让我不再健忘

    前言 本文使用代码片段的形式来解释在 go 语言开发中经常遇到的小功能点,由于本人主要使用 java 开发,因此会与其作比较,希望对大家有所帮助. 1. hello world 新手村的第一课,毋庸置 ...