elk实战分析nginx日志文档

架构:
  kibana <--- es-cluster <--- logstash <--- filebeat

环境准备:
192.168.3.1 node1 node1.xkops.com 内存2G
192.168.3.2 node2 node2.xkops.com
192.168.3.3 node3 node3.xkops.com

---------------elasticserach安装部分----------------
1.在node1|node2上安装jdk,安装elasticsearch并配置集群。
node1:
①.安装jdk1.8_65
[root@node1 ~]# rpm -ivh jdk-8u65-linux-x64.rpm
②.下载安装elasticsearch,并设置开启自启动。
[root@node1 ~]# wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.4/elasticsearch-2.3.4.rpm
[root@node1 ~]# rpm -ivh elasticsearch-2.3.4.rpm
[root@node1 ~]# chkconfig --add elasticsearch
③.修改配置文件,并启动服务。
[root@node1 ~]# grep -Ev "^#|^$" /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-xkops
node.name: node-1
network.host: 192.168.3.1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node2"]
[root@node1 ~]# service elasticsearch start
node2:
①.安装jdk1.8_65
[root@node2 ~]# rpm -ivh jdk-8u65-linux-x64.rpm
②.下载安装elasticsearch,并设置开启自启动。
[root@node2 ~]# wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.4/elasticsearch-2.3.4.rpm
[root@node2 ~]# rpm -ivh elasticsearch-2.3.4.rpm
[root@node2 ~]# chkconfig --add elasticsearch
③.修改配置文件,并启动服务。
[root@node2 ~]# grep -Ev "^#|^$" /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-xkops
node.name: node-1
network.host: 192.168.3.2
discovery.zen.ping.unicast.hosts: ["node1"]
[root@node2 ~]# service elasticsearch start
*此时集群配置完成。

2.elasticsearch常用插件安装:
只需在node1(master)上安装即可:
在线安装:
①.安装head插件。
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
②.安装bigdesk插件。
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install hlstudio/bigdesk
③.安装kopf插件。
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
离线安装:
①.安装head插件。
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install file:/elk/soft/elasticsearch-head-master.zip
②.安装bigdesk插件。
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install file:/elk/soft/bigdesk-master.zip
③.安装kopf插件。
[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install file:/elk/soft/elasticsearch-kopf-master.zip
浏览器端访问插件:
http://192.168.3.1:9200/_plugin/head
http://192.168.3.1:9200/_plugin/bigdesk
http://192.168.3.1:9200/_plugin/kopf

---------------logstash安装部分----------------
1.在node1上安装logstash。(需要jdk,已经安装)
[root@node1 ~]# wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-2.3.4-1.noarch.rpm
[root@node1 ~]# rpm -ivh logstash-2.3.4-1.noarch.rpm

2.编辑配置文件
[root@node1 ~]# cat /etc/logstash/conf.d/logstash.conf

input {
beats {
port =>
codec => "json"
}
}
filter{
if [type] == "nginx"{
date{
locale => "en"
match => ["@timestamp", "UNIX_MS"]
target => "@timestamp"
}}
}
output{
if [type] == "nginx"{
elasticsearch {
hosts => ["192.168.3.1:9200"]
index => "nginx-%{+YYYY.MM.dd}"
flush_size =>
idle_flush_time =>
}}
}

3.启动logstash服务
[root@node1 ~]# service logstash start

---------------kibana安装部分----------------
1.在node1上安装kibana
[root@node1 ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.5.2-1.x86_64.rpm
[root@node1 ~]# rpm -ivh kibana-4.5.2-1.x86_64.rpm

2.配置kibana连接elasticsearch。
[root@node1 ~]# grep -Ev "^#|^$" /opt/kibana/config/kibana.yml
server.port: 5601
server.host: "192.168.3.1"
elasticsearch.url: "http://192.168.3.1:9200"
elasticsearch.preserveHost: true
kibana.index: ".kibana"
kibana.defaultAppId: "discover"
elasticsearch.requestTimeout: 30000
elasticsearch.shardTimeout: 0
elasticsearch.startupTimeout: 5000

3.启动kibana服务
[root@node1 ~]# service kibana start

----------------nginx安装部分-----------------
1.安装nginx和httpd-tools工具包。
[root@node1 ~]# yum -y install nginx httpd-tools
2.添加访问kibana的用户,并设置密码。
[root@node1 ~]# htpasswd -c /etc/nginx/htpasswd.users kibanaadmin
3.反向代理kibana服务,配置文件如下:
[root@node1 ~]# cat /etc/nginx/conf.d/kibana.conf

server {
listen ; server_name elk.xkops.com; auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users; location / {
proxy_pass http://192.168.3.1:5601;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

4.浏览器访问
http://elk.xkops.com

----------------filebeat安装部分-----------------
1.在node3上安装filebeat。
下载官方示例数据(nginx日志):
[root@node3 ~]# wget https://download.elastic.co/demos/kibana/gettingstarted/logs.jsonl.gz

下载软件包:
[root@node3 ~]# wget https://download.elastic.co/beats/filebeat/filebeat-1.2.3-x86_64.rpm
[root@node3 ~]# rpm -ivh /elk/filebeat-1.2.3-x86_64.rpm

2.编辑filebeat配置文件。
*提示:修改logs.jsonl文件内容,取其中偶数行。(sed)
sed -n 'n;p' logs.jsonl >> nginx.log 或者sed -n '2~2p' logs.jsonl >> nginx.log

[root@node3 ~]# grep -Ev "#|^$" /etc/filebeat/filebeat.yml

filebeat:
prospectors:
-
paths:
- /root/nginx.json
document_type: nginx registry_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["192.168.3.1:5044"]
shipper:
logging:
files:

3.创建mapping映射。
[root@node3 ~]# curl -XPOST 'http://192.168.3.1:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json

4.启动filebeat服务。
[root@node3 ~]# service filebeat start

至此,整个elk搭建完成,可以在kibana展示端进行各种操作,比如检索日志,制作各种展示图表了。

elk实战分析nginx日志文档的更多相关文章

  1. elk平台分析nginx日志的基本搭建

    一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...

  2. elk 入门 - 分析nginx日志 + json格式 + 有调试的意识 + elk7.2.0

    1.本次采用的一台主机,将所有的软件安装一台上进行测试工作. 2.安装部署:https://blog.51cto.com/hwg1227/2299995 3.简单调试 输出rubydebug inpu ...

  3. elk收集分析nginx access日志

    elk收集分析nginx access日志 首先elk的搭建按照这篇文章使用elk+redis搭建nginx日志分析平台说的,使用redis的push和pop做队列,然后有个logstash_inde ...

  4. 使用elk+redis搭建nginx日志分析平台

    elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态 ...

  5. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  6. 使用elk+redis搭建nginx日志分析平台(引)

    http://www.cnblogs.com/yjf512/p/4199105.html elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎 ...

  7. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstas ...

  8. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  9. ELK+Redis 解析Nginx日志

    一.ELK简介 Elk是指logstash,elasticsearch,kibana三件套,我们一般使用它们做日志分析. ELK工作原理图: 简单来讲ELK具体的工作流程就是客户端的logstash ...

随机推荐

  1. 【BZOJ1827】[Usaco2010 Mar]gather 奶牛大集会 树形DP

    [BZOJ][Usaco2010 Mar]gather 奶牛大集会 Description Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会.当然,她会选择最方便的地点来 ...

  2. How to crack gbooks

    Damn cnblogs, no auto saving set by default, even worse than csdn, can't believe it, lost half an ho ...

  3. Coder-Strike 2014 - Round 1 B. Network Configuration

    题目的意思就是给每台电脑的最大传输速度,可以限制每台电脑的最大速度,然后选择k台电脑,使这k台电脑有相同的速度,且这个速度最大 典型的贪心算法,电脑的速度排个序,选择第k大速度即可 #include ...

  4. 3分钟wamp中php安装 pear 然而并没有用 并没能借此安装phpunit 不得不借用了其他的方式安装phpunit

    15:42 2015/11/233分钟wamp中php安装 pear环境介绍:windows10,wamp2.5(推荐博客的博主是win7,所以系统应该不是问题)注意:在过程中要输入一次 yes,不要 ...

  5. BZOJ 1087 题解【状压DP】

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3112  Solved: 1816[Submit][ ...

  6. 【BZOJ2190】【SDOI2008】仪仗队

    Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是 ...

  7. SQLSERVER的NULL

    判断数据库中某个值是否为null(而不是'null',空字符串'',若干个空格' ') 一定不能用=null 或 !=null,而要用is null 或 is not null. 在sqlserver ...

  8. vs2013单元测试第二部分

    上次的随笔说还没弄懂,现在已经弄懂,就让我说说我的方法吧. 1.点击文件——>新建——>项目——>c#——>控制台应用程序,确定,之后如图所示 2.在一定位置写上要进行单元检测 ...

  9. Flex——Array,ArrayCollection,Vector性能比较(转)

    测试方法 private function Test():void { ;j<;j++) { trace("插入10000项============"); var t1:in ...

  10. ArcGIS Engine中的数据访问

    ArcGIS Engine中的数据访问 数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文 ...