elk平台分析nginx日志的基本搭建
2016-07-17 15:00
447 查看
一.elk套件介绍
ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成。官方网站: https://www.elastic.co/productsElasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。
Logstash 是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
kibana 也是一个开源和免费的工具,他 Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
工作原理如下如所示:
logstash从日志里取出数据推送到elasticsearch,elasticsearch进行处理分析,之后交给kibana来进行前端展示
注:安装全部使用rpm安装,方便管理
二、部署流程
1.安装依赖JDK版本:jre-8u91-linux-x64.rpm
# rpm -ivh jre-8u91-linux-x64.rpm Preparing... ########################################### [100%] 1:jre1.8.0_91 ########################################### [100%] Unpacking JAR files... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar... jfxrt.jar...
2.安装logstash
版本:logstash-2.3.2-1.noarch.rpm
# rpm -ivh logstash-2.3.2-1.noarch.rpm Preparing... ########################################### [100%]
默认都安装到了
/opt/logstash /opt/logstash/bin/logstash
测试:
[root@node2 ~]# /opt/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}' ####输入liuyao 并且回车 liuyao Settings: Default filter workers: 1 Logstash startup completed { "message" => "liuyao", "@version" => "1", "@timestamp" => "2016-07-17T05:01:42.551Z", "host" => "localhost" } { "message" => "", "@version" => "1", "@timestamp" => "2016-07-17T05:01:42.552Z", "host" => "localhost" }
3.安装elasticsearch
版本:elasticsearch-2.3.3.rpm
# rpm -ivh elasticsearch-2.3.3.rpm Preparing... ########################################### [100%]
4.安装kibana
版本:kibana-4.5.1-1.x86_64.rpm
# rpm -ivh kibana-4.5.1-1.x86_64.rpm Preparing... ########################################### [100%] 1:kibana ########################################### [100%]
案例:
分析nginx日志:
1.先启动elasticsearch
修改elasticsearch配置文件 vi /etc/elasticsearch/elasticsearch.yml 监听ip network.host: 0.0.0.0 运行端口 http.port: 9200 保存退出 启动 /etc/init.d/elasticsearch start 查看运行情况 # netstat -tnlp | grep java tcp 0 0 0.0.0.0:9300 0.0.0.0:* LISTEN 1284/java tcp 0 0 0.0.0.0:9200 0.0.0.0:* LISTEN 1284/java
2.配置logstash配置文件
#cd /etc/logstash/conf.d # vim nginx_logstash.conf 配置文件如下: #标准输入 input { file { #日志路径 path => ["/usr/local/nginx/access.log"] #日志类型 type => "nginx_access" } } #正则匹配 filter { grok { match => { "message" => "(?<clientip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s-\s-\s(?<datetime>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\s\"(?<mothd>(.*))\s(?<url>(.*))\sHTTP.*\"\s(?<httpcode>[4-6][0-9]{1,3})\s(?<send_bytes>\d*)\s\"(?<http_refer>.*)\"\s\"(?<http_agent>[^\"]*)\"\.*" } } } #标准输出 output { elasticsearch { hosts => ["127.0.0.1:9200"] codec => "json" index => "logstash-nginx-%{+YYYY.MM.dd}" } } 重启logstash /etc/init.d/logstash restart
3.运行kibana
# /etc/init.d/kibana restart
打开浏览器:
IP:5601访问
创建
相关文章推荐
- 笔记:centos6 nginx基本配置测试
- mac 安装nginx
- nginx 499错误
- nginx proxy X-Forwarded-For
- linux下的nginx中php文件出现缓存的问题
- 【Nginx重写】下支持ThinkPHP的Pathinfo和URl Rewrite模式
- Nginx修改端口号
- nginx 控制页面缓存
- nginx php问题集
- Linux Nginx
- Nginx 工作原理和优化、漏洞
- Nginx笔记
- Nginx源码剖析
- nginx日志切割脚本
- Centos 7 安装 Nginx+MySQL+PHP
- Centos 6.5 安装 Nginx+MySQL+PHP
- nginx编译安装
- linux上安装nginx
- nginx监听端口非80时的转发问题的配置文件
- 日积(Running)月累(ZSSURE):nginx配置、putty连接保持以及AngularJS作用域$scope