基于Loki + Promtail + Grafana 搭建 Nginx 日志监控

news2024/12/23 12:57:19

文章目录

    • 引言
    • 第一部分:Loki 简介与安装
      • 1.1 Loki 简介
      • 1.2 Loki 安装
        • 1.2.1 下载 Loki
        • 1.2.2 安装 Loki
      • 1.3 启动 Loki
    • 第二部分:Promtail 简介与安装
      • 2.1 Promtail 简介
      • 2.2 Promtail 安装
        • 2.2.1 下载 Promtail
        • 2.2.2 安装 Promtail
      • 2.3 启动 Promtail
    • 第三部分:Grafana 配置与可视化
      • 3.1 Grafana 安装
      • 3.2 添加 Loki 数据源
      • 3.3 创建 Loki 数据源的 Dashboard
    • 第四部分:Nginx 配置
      • 4.1 Nginx 配置
      • 4.2 重启 Nginx
    • 结论

在这里插入图片描述

🎉欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量


  • ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹
  • ✨博客主页:IT·陈寒的博客
  • 🎈该系列文章专栏:Java学习路线
  • 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习
  • 🍹文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
  • 📜 欢迎大家关注! ❤️

引言

随着Web应用规模的不断扩大,日志监控变得越来越重要。对于Nginx这样的Web服务器,实时监控和分析其日志信息可以帮助我们迅速发现问题、进行性能调优。本文将介绍如何使用Loki、Promtail和Grafana搭建一个高效的Nginx日志监控系统。

在这里插入图片描述

第一部分:Loki 简介与安装

1.1 Loki 简介

Loki 是一个由Grafana实验室开发的日志聚合工具,专注于存储和查询大规模的日志数据。它与Prometheus一起使用,可以提供完整的监控解决方案。

1.2 Loki 安装

1.2.1 下载 Loki
# 创建 Loki 配置文件夹
sudo mkdir -p /etc/loki
# 下载 Loki 配置文件
sudo wget https://raw.githubusercontent.com/grafana/loki/main/cmd/loki/loki-local-config.yaml -O /etc/loki/loki-local-config.yaml
1.2.2 安装 Loki
# 下载 Loki 安装脚本
curl -O https://raw.githubusercontent.com/grafana/loki/main/scripts/loki-docker.sh
# 添加执行权限
chmod +x loki-docker.sh
# 执行 Loki 安装脚本
./loki-docker.sh

1.3 启动 Loki

# 启动 Loki
docker run -d --name loki -p 3100:3100 -v /etc/loki:/etc/loki -v /tmp/loki:/tmp/loki grafana/loki

第二部分:Promtail 简介与安装

2.1 Promtail 简介

Promtail 是 Grafana Labs 开发的一个用于将各种日志数据发送到 Loki 的代理工具。它是 Loki 日志收集架构中的一部分,用于从不同的数据源中搜集日志并发送到 Loki 中进行存储。

2.2 Promtail 安装

2.2.1 下载 Promtail
# 创建 Promtail 配置文件夹
sudo mkdir -p /etc/promtail
# 下载 Promtail 配置文件
sudo wget https://raw.githubusercontent.com/grafana/loki/main/cmd/promtail/promtail-local-config.yaml -O /etc/promtail/promtail-local-config.yaml
2.2.2 安装 Promtail
# 下载 Promtail 安装脚本
curl -O https://raw.githubusercontent.com/grafana/loki/main/scripts/promtail-docker.sh
# 添加执行权限
chmod +x promtail-docker.sh
# 执行 Promtail 安装脚本
./promtail-docker.sh

2.3 启动 Promtail

# 启动 Promtail
docker run -d --name promtail -v /var/log:/var/log -v /etc/promtail:/etc/promtail --link loki:loki grafana/promtail

第三部分:Grafana 配置与可视化

3.1 Grafana 安装

# 安装 Grafana
docker run -d --name grafana -p 3000:3000 grafana/grafana

在浏览器中访问 http://localhost:3000,使用默认的用户名和密码(admin/admin)登录 Grafana。

3.2 添加 Loki 数据源

  1. 在左侧导航栏中选择 “Settings” -> “Data Sources”。
  2. 点击 “Add your first data source”。
  3. 选择 “Loki”。
  4. 配置 Loki 数据源的 URL(http://loki:3100)。
  5. 点击 “Save & Test”,确保数据源配置正确。

3.3 创建 Loki 数据源的 Dashboard

  1. 在左侧导航栏中选择 “+” -> “Dashboard”。
  2. 点击 “Add new panel”。
  3. 在 “Query” 中输入 Loki 查询语句,例如 '{job="nginx"}'
  4. 完成其他可视化配置,点击 “Apply”。

在这里插入图片描述

第四部分:Nginx 配置

为了让 Nginx 将日志发送到 Loki,我们需要对 Nginx 进行一些配置。

4.1 Nginx 配置

在 Nginx 的配置文件中添加以下日志格式和日志路径配置:

http {
    log_format loki 'time="$time_iso8601" level=info msg="$request"';

    access_log /var/log/nginx/access.log loki;
    error_log /var/log/nginx/error.log;
}

4.2 重启 Nginx

# 重启 Nginx
sudo service nginx restart

现在,Nginx 的访问日志将被发送到 Loki 中。

结论

通过 Loki、Promtail 和 Grafana 的组合,我们成功搭建了一个Nginx日志监控系统。这个系统能够实时收集、存储和可视化Nginx的访问日志,为我们提供了一个强大的工具来监控和分析Web服务器的性能。

在这里插入图片描述

这套监控系统不仅能够提供实时的性能指标,还能够帮助我们及时发现潜在的问题,优化Web应用的性能。希望通过本文的介绍,你能够顺利搭建自己的Nginx日志监控系统,并更好地运维你的Web服务器。


🧸结尾 ❤️ 感谢您的支持和鼓励! 😊🙏
📜您可能感兴趣的内容:

  • 【Java面试技巧】Java面试八股文 - 掌握面试必备知识(目录篇)
  • 【Java学习路线】2023年完整版Java学习路线图
  • 【AIGC人工智能】Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么
  • 【Java实战项目】SpringBoot+SSM实战:打造高效便捷的企业级Java外卖订购系统
  • 【数据结构学习】从零起步:学习数据结构的完整路径

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1251454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图论——二部图及其算法

什么是二部图 二部图的判定 例子1 任选一个节点染成红色 红色的邻居染成蓝色 蓝色邻居染成红色 例子2 这个不是二部图 无权二部图的最大匹配

PS去除图片上的文字。

问题描述:如何使用PS去除图片上的文字。 解决办法: 第一步:使用框选命令选中文字所在区域,如下图所示。 第二步,右键选择填充,选择内容填充即可。 第三步,文字去除效果如下。

python数学建模之Numpy、Pandas学习与应用介绍

文章目录 Numpy学习1 Numpy 介绍与应用1-1Numpy是什么 2 NumPy Ndarray 对象3 Numpy 数据类型4 Numpy 数组属性 Pandas学习1 pandas新增数据列2 Pandas数据统计函数3 Pandas对缺失值的处理 总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品P…

Java核心知识点整理大全14-笔记

Java核心知识点整理大全-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全2-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全3-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全4-笔记-CSDN博客 Java核心知识点整理大全5-笔记-CSDN博客 Java核心知识点整理大全6…

linux系统中select函数的用法实现

前言: select机制已经被很多人都讲解过,select使用起来也不是特别难,为什么还要花时间再次讲解select机制? 在回答这个问题之前,我们先问一下自己,是否有足够的信心保证在使用select编程时不出错&#xf…

yolov5利用yaml文件生成模型

一、yolov5的yaml文件构成 yaml文件如下图 不论是backbone还是head,每一行都由一个列表组成,列表里面有四个元素,另外,还有两个参数depth和width。在搭建模型的时候,会利用每一行的信息生成一个模块,并按照…

Word文档排版常见问题汇总(公式图表乱码、Visio插图空白区域)

Word文档排版常见问题汇总 1. 公式图表乱码2. Visio图插入Word中,图中空白区域大3. visio 画图插入Word 中只显示{代码},不显示图片4.部分期刊要求 行连续编码(The manuscript text must be line-numbered continuously)5. 要求图…

cocos浏览器测试正常,但到了抖音、微信小游戏事件无响应、无法操作的bug原因及解决办法

本篇文章主要讲解:cocos游戏引擎,浏览器测试时弹出框好好的,无任何报错,构建项目到抖音、微信小游戏时无法弹出弹出框,但又无报错的问题原因及解决办法。 日期:2023年11月25日 作者:任聪聪 问题…

移动家庭云电脑只能24小时不关机

DD转换Linux也不行,北京地区套餐为家庭云电脑畅享版月包,客服回复目前只能设置24小时不关机。 24小时必须关机这是很严重的问题,不能随时保持在线连接,也没有公网IP。

一篇文章完成Hbase入门

文章目录 一、简介1、数据模型结构2、物理存储结构3、数据模型4、基本架构 二、安装1、下载解压安装包2、修改配置文件3、启动服务(单机、集群)4、配置高可用(HA) 三、命令行操作1、建表2、新增/更新数据3、查看表数据4、删除数据5、修改默认保存的数据版本 四、架构1、RegionS…

吴恩达《机器学习》10-4-10-5:诊断偏差和方差、正则化和偏差/方差

一、诊断偏差和方差 在机器学习中,诊断偏差和方差是改进模型性能的关键步骤。通过了解这两个概念,能够判断算法的问题究竟是欠拟合还是过拟合,从而有针对性地调整模型。 1. 概念理解 偏差(Bias): 表示模…

Springboot3+vue3从0到1开发实战项目(一)

一. 可以在本项目里面自由发挥拓展 二. 知识整合项目使用到的技术 后端开发 : Validation, Mybatis,Redis, Junit,SpringBoot3 ,mysql,Swagger, JDK17 ,JWT,项目部署 前端开发: Vue3,Vite&am…

RK3568驱动指南|第七篇-设备树-第70章 参考文档:设备树bindings

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

微信公众号快速接入大模型

今天找到一个可以快速将大模型接入公众号的方法,现在跟大家分享一下。 如何让微信公众号接入大模型文案创作能力,实现类似ChatGPT文案创作功能。方法其实很简单,只需打开地址“http://www.botaigc.cn:8900/mpauth”,用微信扫码即可…

5G NSA注册解析及图标显示方案

5G NSA注册解析及图标显示方案 1. NSA注册流程解析1.1 NSA注册流程1.2 NAS消息信元变化1.3 UE能力信元变化1.3.1 第一次UE能力查询1.3.2 后续UE能力查询1.3.3 UE能力过滤器解析 1.4 UE测量配置1.5 SCG添加消息解析1.6 SCG添加成功1.7 Split Bearer承载的建立1.8 NR协议查询索引…

Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip

Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip 文章目录 Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip一、more1.1 输出重定向>和>>1.2 输入重定向< 二、 再谈一切皆文件三、less指令【重要】四、head指令五、tail指令…

长寿秘诀揭秘!7个长寿特征,能占1个都是福!

一项涵盖了约72万人的美国退伍老兵的全面性研究&#xff0c;揭露了有这7个特征的人&#xff0c;更易长寿&#xff0c;寿命甚至可延长20多年。 卡尔伊利诺医学院退伍军人事务部健康科学专家研究指出&#xff0c;在中年以后&#xff0c;有这7个特征的人多数比较长寿&#xff0c;…

人工智能 -- 神经网络

1、什么是神经网络 什么是人工智能&#xff1f;通俗来讲&#xff0c;就是让机器能像人一样思考。这个无需解释太多&#xff0c;因为通过各种科幻电影我们已经对人工智能很熟悉了。大家现在感兴趣的应该是——如何实现人工智能&#xff1f; 从1956年夏季首次提出“人工智能”这…

算法基础之滑动窗口

滑动窗口 主要思想&#xff1a;单调队列 保证队列中下标跨度始终为3个数 q[N]维护数组中元素下标 方便判断窗口大小 #include<iostream>#include<algorithm>using namespace std;const int N1000010;int a[N],q[N];int n,k,hh,tt-1;int main(){cin>>n>…

mysql忘记密码,然后重置

数据库版本8.0.26 只针对以下情况 mysql忘记了密码&#xff0c;但是你navicat之前连接上了 解决方法&#xff1a; 第一步&#xff0c;选中mysql这个数据库&#xff0c;点击新建查询 第二步&#xff1a;重置密码 alter user rootlocalhost IDENTIFIED BY 你的密码; 然后就可…