基于ELK 搭建网站流量可视化监控平台

news/2024/5/10 9:18:14/文章来源:https://blog.csdn.net/weixin_33941350/article/details/92415664

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

ELK 组成::

51a1d9e6751d749f1b767e0e5356e75f7fe.jpg

  • 通过上图我们可以看到,ELK 是由三个Elastic 的产品组合而成,
  • 分别是ElasticSearch、Logstash 和Kibana。
  • 三者之间是的部署关系如下图所示:
    • c87bdc334a358cf67b9afce106a6cebeb3f.jpg
      • Logstash 就好比是挖矿工,将原料采集回来存放到ElasticSearch 这个仓库中,
      • Kibana 再将存放在ElasticSearch 中的原料进行加工包装成产品,输出到web 界面。
  • 基本工作原理如下图所示:
    • 8a70a0adf50fc888b0be556e65a71cfe66b.jpg

Logstash 原理分析及环境搭建

  • 下载Logstash 6.5.1,解压即可
  • 启动方式一:命令行输入:
    • ./bin/logstash -e 'input { stdin {} } output { stdout {} }'
      
  • 启动方式二:在config 目录下新建logstash.conf 文件,编辑以下内容:
    • input {stdin {}
      }
      output {stdout {}
      }
    • 控制台输入以下命令:
      • ./bin/logstash -f config/logstash.conf

访问日志生产平台的搭建

  • 为让演示效果更加真实,
    • 这里直接利用Nginx 产生的访问日志作为流量监控的元数据。
  • 因此,自己要先搭建Nginx运行环境,
    • 并部署一个可以访问的web 项目。
  • 然后,在logstash 的安装目录新建一个patterns 目录,
    • 在此目录下创建nginx 空白文件,
  • 内容如下:
NGINXACCESS %{IPORHOST:clientip} %{HTTPDUSER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\]"(?:%{WORD:verb} %{URIPATH:uri}%{URIPARAM:param}(?:HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)NGINXACCESSLOG %{NGINXACCESS} %{QS:referrer} %{QS:agent} %{QS:x_forwarded_for}

对logstash.conf 中的内容进行修改:

    input{file {path => ["D:/nginx-1.14.0/logs/access.log"]type =>"nginx_access"start_position =>"beginning"}}filter{if [type] =="nginx_access" {grok {patterns_dir =>"D:/logstash-5.5.2/config/patterns/"match =>{"message" =>"%{NGINXACCESS}"}}date {match => ["timestamp", "dd/MMM/YYYY:HH:mm:ss Z"]} if[param] {ruby {init =>"@kname = ['quote','url_args']"code =>"new_event =LogStash::Event.new (Hash[ @kname.zip(event.get('param').split('?'))])new_event.remove('@timestamp')event.append(new_event)"} if[url_args] {ruby {init =>"@kanme = ['key','value']"code =>"event.set('nested_args',event.get('url_args').split('&').clllect {|i|Hash[ @kanme.zip(i.split('='))]})"remove_field => ["url_args", "param", "quote"]}}mutate {convert => ["response", "integer"]remove_field =>"timestamp"}}}
}
output{stdout{codec=>rubydebug}
}
  • 启动logstash 便可以将Nginx 日志同步到logstash 中来。
    • gork 内置表达式查询地址:
      • https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns

Logstash 与ElasticSearch 集成

  • 在logstash.config 追加以下内容,即可与ElasticSearch 实现无缝集成:
    elasticsearch {hosts => ["http://localhost:9200"]index => "logstash-%{type}-%{+YYYY.MM.dd}"document_type => "%{type}"sniffing => true#user => "tom"#password => "123456"}

利用Kibana 实现网站流量可视化

  • 此时,只要web 程序产生访问日志,
  • 就会被Logstash 同步到ElasticSearch 中来,
  • 同时,会被Kibana 拉取到同时以可视化的界面展现出来
    • Kinaba 能直接根据类型编辑获得聚合函数结果的图表
    • 实时监控

a0291f74437ac4279923b06746ef64d76c2.jpg

转载于:https://my.oschina.net/u/3847203/blog/2991586

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

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

相关文章

不修改代码就能优化ASP.NET网站性能的一些方法

本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不需要修改程序代码的。 它们主要分为二个方面: 1. 利用ASP.NET自身的扩展性进行优化。 2. 优化IIS设置。 配置OutputCache 用缓存来优化网站性能的方法,估计是无人不知的。 ASP.NET…

通过建站学运维1901-09任务

4.21LNMP环境介绍 什么是LNMP Linux NginxMySQL/MariadbPHP Linux就是操作系统 Nginx 是一个web服务器,提供HTTP服务的。之所以能够访问网站就是Nginx在起作用。 Nginx的功能: 接收用户请求,处理图片、js、css等静态请求。接收但不处理php请求…

【Web】Bootstrap框架实现简单旅游网站页面

这里主要是为了熟悉以下Bootstrap框架的简单使用&#xff0c;采用了响应式布局。 代码如下&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" conte…

4.Nginx静态网站部署

Nginx是一个HTTP的web服务器&#xff0c;可以将服务器上的静态文件&#xff08;如HTML、图片等&#xff09;通过HTTP协议返回给浏览器客户端。 一、项目实例 1.进入opt目录下&#xff0c;新建static目录 2.通过Xftp将ace-master到linux服务器/opt/static目录下 为了让后面的配…

Apache下通过shell脚本提交网站404死链

网站运营人员对于死链这个概念一定不陌生&#xff0c;网站的一些数据删除或页面改版等都容易制造死链&#xff0c;影响用户体验不说&#xff0c;过多的死链还会影响到网站的整体权重或排名。 百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链、404页面)进行提交,可…

Django的安装使用,以及建立本地网站

一、安装Django pip install django 完成后即可 二、pycharm 建立django 点击file ——>new project 选择django项目——>more setting填写appname 生成以下项目结构 -views.py中处理视图逻辑&#xff0c;一般为大量函数方法。一般被urls处理调用&#xff0c;收到请求&am…

看透 Spring MVC 源代码分析与实践 —— 网站基础知识

网站架构及其演变过程友情提示&#xff1a;欢迎关注公众号【芋道源码】。?关注后&#xff0c;拉你进【源码圈】微信群讨论技术和源码。友情提示&#xff1a;欢迎关注公众号【芋道源码】。?关注后&#xff0c;拉你进【源码圈】微信群讨论技术和源码。友情提示&#xff1a;欢迎…

某政府网站信息文章标题、链接、刊布时间等信息获取

目录一、需求信息二、过程感触三、实战code一、需求信息 需要信息&#xff1a; 每个内容下开篇的索引号、发布机构、组配分类、标题、发布时间和链接地址&#xff0c;部分实例如下图&#xff1a; 上图中左侧的目录结构对应的刊布信息中的如下信息&#xff1a; 题外话&#x…

大型分布式网站术语分析 15 条,你知道几条?

点击上方“芋道源码”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;源码精品专栏 精尽 Dubbo 原理与源码专栏( 已经完成 69 篇&#xff0c;预计总共 75 篇 )中文详细注释的开源项目Java 并发源码合集RocketMQ 源码合集Sharding-JDBC 源码解析合集Spring MVC…

几个大型网站的Feeds(Timeline)设计简单对比

点击上方“芋道源码”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;源码精品专栏 精尽 Dubbo 原理与源码专栏( 已经完成 69 篇&#xff0c;预计总共 75 篇 )中文详细注释的开源项目Java 并发源码合集RocketMQ 源码合集Sharding-JDBC 源码解析合集Spring MVC…

基于LAMP环境发布一个Discuz论坛网站

一、LAMP是什么 1、LAMP是常见的Web服务器环境解决方案&#xff0c;用于创建和管理Web应用程序的开源开发平台。Linux用作后端操作系统&#xff0c;Apache是​​Web服务器&#xff0c;MySQL是数据库&#xff0c;PHP是脚本语言。 2、LAMP 为 Linux、Apache、MySQL、PHP 的简称…

尾随《大型网站技术架构》作者,从零单排「大数据」

李智慧大佬&#xff0c;《大型网站技术架构》&#xff08;艿艿的架构启蒙读物&#xff09;的作者&#xff0c;豆瓣评分 7.9 分&#xff0c;出了「大数据」专栏。所以&#xff0c;如果你数据量挺大的&#xff0c;可以扫码买一买。如果你数据量不大&#xff0c;但是想膨胀膨胀&am…

大型网站架构演进的五大阶段盘点

点击上方“芋道源码”&#xff0c;选择“设为星标”做积极的人&#xff0c;而不是积极废人&#xff01;源码精品专栏 精尽 Dubbo 原理与源码 69 篇精尽 Netty 原理与源码 61 篇中文详细注释的开源项目Java 并发源码合集RocketMQ 源码合集Sharding-JDBC 源码解析合集Spring MVC …

初步了解网站压力测试工具

http://www.51testing.com/html/index.html(51测试网) 一、ab网站压力测试 ab是apache自带的压力测试工具&#xff0c;ab是apachebench命令缩写。它不仅可以对apache服务器进行网站访问压力测试&#xff0c;也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。…

用户在电商网站中购买成功了,那么 TA 在微服务中经历了什么?

点击上方“芋道源码”&#xff0c;选择“设为星标”做积极的人&#xff0c;而不是积极废人&#xff01;源码精品专栏 原创 | Java 2019 超神之路&#xff0c;很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库…

Python采集网站随机header

不废话直接代码&#xff1a; import randomclass UserAgent:def __init__(self):self.headers ["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X…

分享Html模板5合一模板---50电影模板、56个游、86个体育项目、95个音乐网站、116个时尚

模板下载链接:https://pan.baidu.com/s/1zNvc5K8tpWbxAKuIziGgjg 密码:agk4 50电影模板Html模板&#xff01; 56个游戏Html模板 86个体育项目Html模板 95个音乐网站Html模板 116个时尚Html模板 我就不相信没有你需要的&#xff01; 50电影模板Html模板&#xff01; 儿童…

《大型网站系统与Java中间件》读书笔记(上)

前言 只有光头才能变强。 文本已收录至我的GitHub仓库&#xff0c;欢迎Star&#xff1a;github.com/ZhongFuChen… &#xff08;想自学习编程的小伙伴请搜索圈T社区&#xff0c;更多行业相关资讯更有行业相关免费视频教程。完全免费哦!&#xff09; 一、为什么分布式&#xff…

《大型网站系统与Java中间件》读书笔记 (中)

前言 只有光头才能变强。 文本已收录至我的GitHub仓库&#xff0c;欢迎Star&#xff1a;github.com/ZhongFuChen… 回顾上一篇&#xff1a; 《大型网站系统与Java中间件》读书笔记&#xff08;一&#xff09; 这周周末读了第四章&#xff0c;现在过来做做笔记&#xff0c;希望…

利用node.js写爬虫 爬取某相亲网站全部交友信息

点击查看爬取世纪佳缘相亲交友信息 利用node.js&#xff0c;写了一个爬虫js。1个小时左右的时间&#xff0c;便爬取了2000多条交友信息&#xff0c;包括网名&#xff0c;年龄&#xff0c;图片&#xff0c;学历&#xff0c;工资等。当然&#xff0c;爬取的速度和网速有很大的关…