• 搭建Loki、Promtail、Grafana轻量级日志系统(centos7)


    需求

    公司项目采用微服务的架构,服务很多,每个服务都有自己的日志,分别存放在不同的服务器上。当查找日志时需要分别登录不同的服务器,有大量的请求的情况下,在日志文件中查找信息十分困难。想要搭建一个日志系统,ELK分布式日志系统对于中小型公司来说开发维护成本太高,经过调研,选择Loki轻量级日志系统。

    Loki简介

    Loki 是一个水平可扩展,高可用性,多租户日志聚合系统,灵感来自 Prometheus ,其设计非常经济高效,易于操作。它不索引日志的内容,而是为每个日志流设置一组标签。

    Loki与其他日志聚合系统差别:

    • 不对日志进行全文本索引。通过存储压缩的,非结构化的日志以及仅索引元数据,Loki更加易于操作且运行成本更低。
    • 使用与Prometheus相同的标签对日志流进行索引和分组,从而使您能够使用与Prometheus相同的标签在指标和日志之间无缝切换。
    • 特别适合存储Kubernetes Pod日志。诸如Pod标签之类的元数据会自动被抓取并建立索引。
    • 在Grafana中原生支持(需要Grafana v6.0及以上)。

    Loki的日志系统的组件:

    • Promtail是代理,负责收集日志并将其发送给Loki。
    • Loki是主服务器,负责存储日志和处理查询。
    • Grafana用于查询和显示日志。

    搭建步骤

    本文采用的搭建方式是分别下载各个组件并安装。也可以参考官方的文档进行搭建安装。

    Loki的GitHub地址:https://github.com/grafana/loki 

    配置文件官网地址:https://grafana.com/docs/loki/latest/installation/local/ 

    Grafana下载官网:https://grafana.com/grafana/download

    1.下载安装启动Grafana

    官网提供了下图中几种方式,本文采用的是CentOS系统,yum安装的方式。

    #下载安装grafana命令,下列命令执行成功后。在/usr/sbin文件夹下会有grafana-server执行文件
    wget https://dl.grafana.com/oss/release/grafana-7.3.2-1.x86_64.rpm
    sudo yum install grafana-7.3.2-1.x86_64.rpm
    #启动grafana,grafana会占用服务器3000端口,记得保证3000端口不被占用
    cd /usr/sbin
    ./grafana-server web

    2.下载启动Loki和Promtail

    官方文档地址:https://grafana.com/docs/loki/latest/installation/local/

    因为采用本地安装的方式,参考文档(下图箭头指向的位置),分别下载执行文件和启动的配置文件。

    下载Promtail:https://github.com/grafana/loki/releases/download/v2.0.0/promtail-linux-amd64.zip  

    #下载压缩文件
    curl -O -L "https://github.com/grafana/loki/releases/download/v2.0.0/loki-linux-amd64.zip"
    #解压文件
    unzip "loki-linux-amd64.zip"
    #执行文件授权
    chmod a+x "loki-linux-amd64"
    
    #下载Loki和Promtail的配置文件
    wget https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml
    wget https://raw.githubusercontent.com/grafana/loki/master/cmd/promtail/promtail-local-config.yaml

    启动Loki,本文采用的Loki默认配置,服务端口为3100

    #启动Loki命令
    nohup ./loki-linux-amd64 -config.file=loki-local-config.yaml  > loki.log 2>&1 &
    #查看启动是否成功(查看3100端口的进程是否存在)
    netstat -tunlp | grep 3100
    #或者根据名称查找进程(执行命令后有下边的显示,则启动成功)
    ps -ef | grep loki-linux-amd64
    $ root     11037 22022  0 15:44 pts/0    00:00:55 ./loki-linux-amd64 -config.file=loki-local-config.yaml

    到收集日志的服务器上配置Promtail并启动,传输文件到收集日志的服务器。

    修改配置文件

    启动Promtail

    #Promtail默认端口是9080,启动完成后,可以采用上边的方式查看进程是否启动成功
    nohup ./promtail-linux-amd64 -config.file=promtail-local-config.yaml > promtail.log 2>&1 &

    3.添加数据源

    访问web页面:http://localhost:3000/  进行登录(账号密码都是admin),点击下图中的位置,找到Loki,配置数据源。

    填写数据源的访问地址并保存。

    配置好数据源之后就可以点击下图中的位置,进行日志查看了。

    日志查看效果如下图。

    希望本文对你有帮助。

  • 相关阅读:
    UML建模图
    Ubuntu选择软件源
    用于主题检测的临时日志(c5ac07a5-5dab-45d9-8dc2-a3b27be6e507
    【Android】不弹root请求框检测手机是否root
    android开机动画(bootanimation)
    UniversalImageLoader(异步加载大量图片)
    PHP字符串
    Android获取本机号码及运营商
    静态代码块、构造代码块、构造方法
    Android来电拦截及来电转移
  • 原文地址:https://www.cnblogs.com/diShuiZhiYi/p/13970862.html
Copyright © 2020-2023  润新知