filebeat+logstash+influxdb+ Grafana打造网站日志监控系统

news/2024/5/15 12:37:37/文章来源:https://blog.csdn.net/cxu123321/article/details/105470333

filebeat+logstash+influxdb+ Grafana打造网站日志监控系统

 

yexiansen关注

0.822018.02.01 13:13:22字数 1,093阅读 3,109

filebeat+logstash+influxdb+ Grafana打造网站日志监控系统

image

采集数据(fliebeat)->过滤数据(logstash)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。

资源有限,我把这一套服务搭建在了一台CentOS 7的服务器上。

filebeat简述

Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。
以下是filebeat的工作流程:当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。

logstash简述

Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。
顾名思义,Logstash 收集数据对象就是日志文件。由于日志文件来源多(如:系统日志、服务器 日志等),且内容杂乱,不便于人类进行观察。因此,我们可以使用 Logstash 对日志文件进行收集和统一过滤,变成可读性高的内容,方便开发者或运维人员观察,从而有效的分析系统/项目运行的性能,做好监控和预警的准备工作等。

influxdb简述

InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。

Grafana简述

Grafana 是基于JS开发的,功能齐全的度量仪表盘和图形编辑器,帮助开发人员发现问题的工具

几者之间的关系

filebeat负责收集新产生的日志数据,发送给logstash进行数据过滤,logstash输出格式化的数据到时序数据库influxdb中,grafana从influxdb数据库中读取数据实时展示,监控网站的状况,如访问量,每分钟发送的字节数,500的情况等等

打造网站日志监控系统的步骤

1. nginx服务器配置

1.1 log_format配置如下

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent  $request_time "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';

1.2 对应的日志文件格式如下

192.168.154.2 - - [30/Mar/2017:01:27:09 -0700] \"GET /index.html HTTP/1.1\" 304 0 \"-\" \"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36\" \"-\""

2.logstash安装和配置

2.1 logstash的安装,我的版本是logstash-5.6.1-1.noarch

yum install logstash

2.2 logstash中grok的正则(添加在logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-xxx/patterns/grok-patterns文件中)为:

WZ ([^ ]*)
NGINXACCESS %{IP:remote_ip} \- \- \[%{HTTPDATE:timestamp}\] "%{WORD:method} %{WZ:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:status} %{NUMBER:bytes} %{NUMBER:request_time} %{QS:referer} %{QS:agent} %{QS:xforward}

2.3 logstash.conf配置文件内容

input {file {path     => ["/var/log/nginx/access.log"]type    => "nginxlog"start_position => "beginning"}
}filter {  grok {  match => { "message" => "%{NGINXACCESS}" }}  
} 
output {influxdb {db => "influxdb中的数据库名"host => "localhost"port => "8086"user => "你的账号"password => "你的密码"coerce_values => {"request" => "varchar""status" => "varchar"}data_points => {"request" => "%{request}""status" => "%{status}""referer"=>"%{referer}""agent"=>"%{agent}""method"=>"%{method}""remote_ip"=>"%{remote_ip}""bytes"=>"%{bytes}""host"=>"%{host}""timestamp"=>"%{timestamp}"}} 

3.filebeat安装和配置

3.1filebeat的安装

我的filebeat的版本为5.1.1

yum install filebeat

3.2 filebeat的配置,配置文件一般位于/etc/filebeat/

filebeat.prospectors:                                                                              
- input_type: log paths:- /var/log/nginx/access.log
output.logstash:hosts: ["localhost:5044"] //监控本机的5044端口,可以自己定义需要和logstash配置文件中的beats端口一致

3.3 踩过的坑

logstash的配置文件在/etc/logstash/,我们需要设置软连接到/usr/share/logstah/config下面

ln -s /etc/logstash/* /usr/share/logstash/config/

我们设置的配置文件在/etc/logstash/conf.d/也需要软连接到/usr/share/logstash/,跟上面有所不同

ln -s /etc/logstash/conf.d/logostash.conf /usr/share/logstash/

logstash5.0以上版本移除了很多插件,包括ifluxdb插件,我们需要利用gem安装,链接如下本地以Gems包的形式安装Logstash插件

4. influxdb的安装和配置

4.1 influxdb的安装

我的版本是influxdb-1.0.2.x86_64.rpm

yum install influxdb

4.2 influxdb的配置

//管理后台配置,可以根据ip或者域名+端口号8083访问influxdb数据库的管理后台
[admin]enabled = truebind-address = ":8083"
[http]enabled = truebind-address = ":8086"auth-enabled = falselog-enabled = truewrite-tracing = falsepprof-enabled = false                                                                                                                             https-enabled = falsehttps-certificate = "/etc/ssl/influxdb.pem"max-row-limit = 10000realm = "InfluxDB"

5. Grafana的安装和配置

5.1 Grfana的安装

我的Grfana版本是 grafana-4.2.0-1.x86_64.rpm

yum install grafana

5.2 Grafana的启动

service granfan rstart

5.3 Grafana的配置,配置数据源

 

image

5.4 开启服务后台运行,监控日志,实时显示

nohup bin/logstash -f test.conf --path.data=/var/ &

6.结束语

经过两天的学习和各种踩坑,终于构建一个非常漂亮的实时监控界面,有利于我们实时的监控网站的运行状态。

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

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

相关文章

18个黑科技网站,你想要的软件都能找到,请收藏!!!

序言 要说现在啊,我们使用频率最高的设备是啥,那一定是手机啊,几乎不离身,没了它,生活就索然无味啊😪,除了手机,对我来说,排在第二位的就是电脑了。 那么使用手机和电脑…

百度SEO优化那些事(5月14日)相约天极传媒

活动类型: 沙龙讲座 开始时间: 2011-5-14 14:00 活动地点: 北京市海淀区海淀中街15号远中悦莱大厦2层(天极传媒集团公司第一会议室) 性别: 不限 报名截止: 2011-5-14 14:00 报名地址: http://bang.chinabyte.com/thread-502109-1-1.html 百度,全球最大的中文搜…

使用HTML5,CSS3和jQuery增强网站用户体验

记 得几年前如果你需要添加一些互动元素到你的网站中用来改善用户体验? 是不是立刻就想到了flash实现?这彷佛年代久远的事了。使用现在最流行的web技术 HTML5,CSS3和jQuery,同样也可以实现类似的用户体验。而且使用这些特性将会比…

9月第1周社交网站综合排行:网易微博跌出榜外

据站长之家综合排行榜数据,9月第1周(2013-08-27至2013-09-02)的社交网站排行的首位是新浪微博,其综合积分为4415,第二位是综合积分为4261的豆瓣网,第三位是综合积分为4249的腾讯微博。而网易微博在今周跌出…

管中窥豹:美丽说的一些SEO优化小细节

大家好,我是虚子雨。前面跟大家分享过关于美丽说和蘑菇街的品牌关键词策略,得到一些朋友的反馈,有好评,多半来自好朋友,也有差评,多半来自一 些真心看过文章的朋友,这说明文章的确有不足&#x…

B2B策划书:B2B行业网站未来5年发展趋势预测

B2B行业网站目前已经发展成一个不可忽视的行业,虽然绝大部分的企业本身不是很大,只能算是中小企业,但是由于涉及到的公司多、行业范围广、从业者多,且还是一个值得投资的产业,在2009年刚过,2010年到来的时候…

推荐大家几个网站

2019独角兽企业重金招聘Python工程师标准>>> 36kr 关注互联网信息 拉勾网 互联网公司招聘 Nitrous.IO 一个远程IDE开发环境 Terminal 看名字就知道了, Jelastic 一个远程的服务器,可以配置tomcat服务器 stack overflow githu…

Node与Git环境搭建登录网站

Node与Git环境搭建登录网站 引言 本篇博文教程用于前端搭建环境并实现简易登录网站,使用Git爬取前端项目,进行快速开发。 准备文件 配置Node与Git环境变量 (1) node配置:右击此电脑–>打开环境变量—>高级–>在系统变量中新建变量:NODE_HOME,变量值为文件所在地…

大型网站架构演变和知识体系 -转载学习

架构演变第一步:物理分离webserver和数据库 最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候 已经是托管…

经典案例:那些让人赞不绝口的创新 HTML5 网站

在过去的10年里,网页设计师使用 Flash、JavaScript 或其他复杂的软件和技术来创建网站。但现在你可以前所未有的快速、轻松地设计或创造互动的、有趣好看的网站。如何创建?答案是 HTML5 。 这篇文章向大家展示20个创新的 HTML5 网站。看看这些惊人的 HTM…

springsecurity oauth2_Spring Security 实战干货:客户端OAuth2授权请求的入口在哪里-WEB资讯专栏-DMOZ中文网站分类目录

CSDN 双十一 活动优惠提前抢!全站好课1元起,万券齐发折上折! 超值膨胀金【10元抵100元】限量发放!11月11日当天全站通用,更有机会享受折上折优惠!仅限299份,先到先得! 1. 前言 在Spr…

layui的tab加入其他页面_SEO干货知识分享:字数会影响SEO吗?| 教你如何为页面撰写合格的内容...

你的页面内容需要多少字数才能排到谷歌搜索结果第一页?搜索引擎优化的最佳内容长度是多少?今天就让我们来找出字数和谷歌SEO优化背后的关系。当我们在为页面确定内容时,“我需要写多少字?”是其中一个人们经常会问到的问题&#x…

wap建站程序源码_免费网站建站好不好?超简单建站教程来了

现在各种建站模式都开始陆续出现,有写代码建站,模板建站,免费建站,付费建站……对于大多数缺少资金和时间,也不懂技术的小白来说,可选余地就非常有限了,一般是选择找免费网站建站。那么这种建站…

黄聪:WordPress 多站点建站教程(二):后台(管理网络)设置详解,如何管理子站的用户、主题、插件、设置等功能...

建立好了子站,我们需要有个地方配置所有子站的主题、插件等功能,我们可以在后台看到 我的站点--管理网络 如下图: 在 管理网络--仪表盘 里面,我们可以创新用户和站点,也提供了查询功能。 要注意的是:当你新…

各大网站CSS代码初始化集合

2019独角兽企业重金招聘Python工程师标准>>> css代码之所以初始化,是因为能尽量减少 各浏览器之间的兼容性问题!腾讯QQ官网 样式初始化 body,ol,ul,h1,h2,h3,h4,h5,h6,p,th,td,dl,dd,form,fieldset,legend,input,textarea,select{margin:0;padding:0} b…

github mysql优化_GitHub如何通过迁移MySQL数据库提高网站性能

GitHub,作为广泛使用的开源代码库以及版本控制系统,其数据库MySQL性能的优劣对整个网站平台有着举足轻重的影响。接下来我们一起GitHub,作为广泛使用的开源代码库以及版本控制系统,其数据库MySQL性能的优劣对整个网站平台有着举足…

熊掌号 php提交,网站接入熊掌号,网页配置并提交

百度熊掌号是什么?百度熊掌号是站长、自媒体、开发者、商家等各种内容和服务提供者入驻百度的身份账号,该账号可实现包括百度搜索资源平台、百度数据开放平台、百家号自媒体平台、用户运营平台等各类平台的能力互通。开通熊掌号之后站点自然也就有了原创…

cefsharp内嵌资源html的读取,C#(csharp)用CefSharp开发实现一个浏览器,抓取网站任意资源...

前言:不少网站会保护自己,防止别人下载图片。因此下载器,先后改了好几次,不断技术升级。早期 用WebClient 下载 HTML 分析 URL 下载。后来 为了下载 手机网站的图片,用上了 User-Agent 特性,模拟手机浏览器…

在线购物系统后台登录界面html代码,电子商城(购物网站)html模板源码

【实例简介】电子商城【实例截图】【核心代码】└─legendshop-UI│ category.html│ category_list.html│ index.html│ login.html│ shopcart.html│ userhome.html│ views.html│├─css│ bootstrap.css│ member.css│ order3.css│ produc…

网站开发小记

想不到,真的想不到,花3天写的代码,花3天做的页面,居然用了1个多月的时间才算刚刚开始用,期间经历了不少风风雨雨,但是总算是过来了,可以安心的迎接考试了(最近都在看电影&#xff0c…