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

文章目录

    • 引言
    • 第一部分: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.hqwc.cn/news/234241.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高并发架构——网页爬虫设计:如何下载千亿级网页?

Java全能学习面试指南:https://javaxiaobear.cn 在互联网早期,网络爬虫仅仅应用在搜索引擎中。随着大数据时代的到来,数据存储和计算越来越廉价和高效,越来越多的企业开始利用网络爬虫来获取外部数据。例如:获取政府公…

onlyoffice文件大小超出了服务器设置处理

onlyoffice文件大小超出了服务器设置处理 1.前言2. onlyoffice服务安装2.1 docker安装命令2.2 访问测试 3. 修改服务器文件大小限制方案3.1 旧方案-7.2版本不可行3.1.1 进入 OnlyOffice Document Server 容器3.1.2 编辑配置文件3.1.3 找到并修改文件大小限制3.1.4 保存并退出编…

深眸科技加速进入深度学习赛道,以开创思维引领制造企业智慧升级

在工业4.0的浪潮下,工业企业亟需向高端化、自动化、智能化转型,以应对大批量精密产品的质量控制需求。这些产品对质量有着极高的要求,单凭传统机器视觉检测技术较难满足。 同时,随着大数据的不断涌现及计算机算力的稳步提升&…

焕发图片生机,批量升级gif图片像素,打造高质量图片盛宴!

你是否曾经遇到过需要提高gif图片质量,但手动处理每一张图片又非常耗时且繁琐的情况?如果你觉得处理大量图片会让你感到压力,那么你一定需要我们的批量提高像素工具! 第一步,首先我们要进入首助剪辑高手主页面&#x…

TR转发路由器测评—云企业网实现跨地域跨VPC的网络互通测评实战【阿里云产品测评】

文章目录 一.转发路由器 Transit Router 测评1.1 准备阶段1.2 本文测评收获1.3 什么是云企业网实例、转发路由器实例和云数据传输服务 二.使用云企业网实现跨地域跨VPC的网络互通2.2 **测试连通性**2.3 网络拓扑如下: 心得:总结: 声明&#x…

MySQL-05-MySQL的日志系统

1-redo log(重做日志) 在MySQL里也有这个问题,如果每一次的更新操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程IO成本、查找成本都很高。MySQL里经常说到的WAL技术,WAL的全称是Write-Ahead L…

Sui受邀参加Builder DAO举办的LeadUp The Night活动,畅谈Sui与Move语言

LeadUp the Night是一个定期举办的MeetUp活动,由Builder DAO邀请区块链各方项目开发者、VC担任本活动的讲师。这个活动旨在促进区块链技术的发展和应用,让参与者有机会开发创新的区块链应用,探索区块链技术的潜力。 ​​11月30日受BuilderDA…

(六)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB代码)

一、无人机模型简介: 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献: [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、高尔夫优化算法GOA简介 高尔夫优化算法…

【JUC】十八、happens-before先行发生原则

文章目录 1、先行发生原则happens-before2、happens-before总原则3、8条happens-before规则4、案例 1、先行发生原则happens-before 在Java中,Happends-Before本质上是规定了一种可见性, A Happends-Before B,则A发生过的事情对B来说是可见的…

项目设计---网页五子棋

文章目录 一. 项目描述二. 核心技术三. 需求分析概要设计四. 详细设计4.1 实现用户模块4.1.1 约定前后端交互接口4.1.2 实现数据库设计4.1.3 客户端页面展示4.1.4 服务器功能实现 4.2 实现匹配模块4.2.1 约定前后端交互接口4.2.2 客户端页面展示4.2.3 服务器功能实现 4.3 实现对…

内网渗透隧道技术一netsh

隧道技术 百度百科: 网络隧道技术指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。网络隧道技术涉及了三种网络协议,即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议 在网络安全中…

【bug篇】Tomcat一直报错,但是代码没问题

代码都没有问题&#xff0c;就是报404错误&#xff0c;原因竟然是版本不兼容&#xff0c;搞了我好长时间&#xff0c;简直麻了&#xff01;&#xff01;&#xff01; 因为我的Tomcat是11版本的&#xff0c;所以导入的servlet和jsp依赖应该是下面这些&#xff1a; <!-- Serv…