当前位置: 首页 > news >正文

互动网站建设怎么制作网站平台

互动网站建设,怎么制作网站平台,企业网站 asp.net,txt怎么做pdf电子书下载网站elkredis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队列,redis的li…

elk+redis 搭建nginx日志分析平台

logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队列,redis的list结构正好可以作为队列使用。然后分析使用elasticsearch就可以进行分析和查询了。

我们需要的是一个分布式的,日志收集和分析系统。logstash有agent和indexer两个角色。对于agent角色,放在单独的web机器上面,然后这个agent不断地读取nginx的日志文件,每当它读到新的日志信息以后,就将日志传送到网络上的一台redis队列上。对于队列上的这些未处理的日志,有不同的几台logstash indexer进行接收和分析。分析之后存储到elasticsearch进行搜索分析。再由统一的kibana进行日志web界面的展示。

下面我计划在一台机器上实现这些角色。

准备工作

  • 安装了redis,开启在6379端口
  • 安装了elasticsearch, 开启在9200端口
  • 安装了kibana, 开启了监控web
  • logstash安装在/usr/local/logstash
  • nginx开启了日志,目录为:/usr/share/nginx/logs/test.access.log

设置nginx日志格式

在nginx.conf 中设置日志格式:logstash

log_format logstash '$http_host $server_addr $remote_addr [$time_local] "$request" ''$request_body $status $body_bytes_sent "$http_referer" "$http_user_agent" ''$request_time $upstream_response_time';

在vhost/test.conf中设置access日志:

access_log  /usr/share/nginx/logs/test.access.log  logstash;

开启logstash agent

注:这里也可以不用logstash,直接使用rsyslog

创建logstash agent 配置文件

vim /usr/local/logstash/etc/logstash_agent.conf

代码如下:

input {file {type => "nginx_access"path => ["/usr/share/nginx/logs/test.access.log"]}
}
output {redis {host => "localhost"data_type => "list"key => "logstash:redis"}
}

启动logstash agent

/usr/local/logstash/bin/logstash -f /usr/local/logstash/etc/logstash_agent.conf

这个时候,它就会把test.access.log中的数据传送到redis中,相当于tail -f。

开启logstash indexer

创建 logstash indexer 配置文件

vim /usr/local/logstash/etc/logstash_indexer.conf

代码如下:

input {redis {host => "localhost"data_type => "list"key => "logstash:redis"type => "redis-input"}
}
filter {grok {match => ["message", "%{WORD:http_host} %{URIHOST:api_domain} %{IP:inner_ip} %{IP:lvs_ip} \[%{HTTPDATE:timestamp}\] \"%{WORD:http_verb} %{URIPATH:baseurl}(?:\?%{NOTSPACE:request}|) HTTP/%{NUMBER:http_version}\" (?:-|%{NOTSPACE:request}) %{NUMBER:http_status_code} (?:%{NUMBER:bytes_read}|-) %{QS:referrer} %{QS:agent} %{NUMBER:time_duration:float} (?:%{NUMBER:time_backend_response:float}|-)"]}kv {prefix => "request."field_split => "&"source => "request"}urldecode {all_fields => true}date {type => "log-date"match => ["timestamp" , "dd/MMM/YYYY:HH:mm:ss Z"]}
}
output {elasticsearch {embedded => falseprotocol => "http"host => "localhost"port => "9200"index => "access-%{+YYYY.MM.dd}"}
}

这份配置是将nginx_access结构化以后塞入elasticsearch中。

对这个配置进行下说明:

  • grok中的match正好匹配和不论是GET,还是POST的请求。
  • kv是将request中的A=B&C=D的key,value扩展开来,并且利用es的无schema的特性,保证了如果你增加了一个参数,可以立即生效
  • urldecode是为了保证参数中有中文的话进行urldecode
  • date是为了让es中保存的文档的时间为日志的时间,否则是插入es的时间

好了,现在的结构就完成了,你可以访问一次test.dev之后就在kibana的控制台看到这个访问的日志了。而且还是结构化好的了,非常方便查找。

使用kibana进行查看

依次开启es,logstash,kibana之后,可以使用es的head插件确认下es中有access-xx.xx.xx索引的数据,然后打开kibana的页面,第一次进入的时候会让你选择mapping,索引名字填写access-*,则kibana自动会创建mapping

http://www.lbrq.cn/news/2700217.html

相关文章:

  • php做网站怎么布局怎么在线上推广自己的产品
  • 怀化二手车网站网站怎么收录到百度
  • 德州哪里有做网站的网络营销方案的范文
  • 广东商城网站建设公司徐州seo企业
  • 宜昌市城市建设学校网站google搜索引擎
  • 江西省都昌县建设局网站网络广告人社区官网
  • 盐城做网站网络公司电话?珠海关键词优化软件
  • 设计做任务的网站武汉seo和网络推广
  • 建设网站导航怎么盈利揭阳市seo上词外包
  • 苏州企业网站制作电话新手怎么入行sem
  • discuz蓝色城市门户论坛网站模板seo关键词分析
  • 商标设计一个seo搜索优化是什么意思
  • 做关于什么内容的网站上海网站建设费用
  • 电子商城平台网站开发友情链接平台赚钱吗
  • 管廊建设网站济南优化网站关键词
  • 校园网站建设需要哪些百度网页游戏中心
  • wordpress建站需要学什么意思如何自己做推广
  • app软件网站开发seo描述是什么
  • 杭州市做外贸网站的公司美国最新消息今天 新闻
  • wordpress全站腾讯云cdn高质量外链代发
  • 做漫画网站的素材微信如何引流推广精准加人
  • 武安网站设计公司临沂森佳木业有限公司
  • 西宁网站宣传网站有哪些
  • 网站模板建站教程视频网络营销百度百科
  • 建设网站建设哪家快软文广告范文
  • 销售网站建设怎么样新手学seo
  • 做二手家电市场加什么网站可以我要学电脑哪里有短期培训班
  • 深圳网站设计首选柚米福州短视频seo获客
  • 全套商城网站后台管理系统网站管理页面西安seo黑
  • 手机微信网站建设最新百度快速排名技术
  • java中在多线程的情况下安全的修改list
  • 正向传播与反向传播(神经网络思维的逻辑回归)
  • Java 后端性能优化实战:从 SQL 到 JVM 调优
  • PySpark
  • Beelzebub靶机攻略
  • 代码随想录算法训练营23天 | ​​