设为首页 收藏本站
查看: 1368|回复: 0

[经验分享] CentOS7下Elastic Stack 5.0日志分析系统搭建

[复制链接]

尚未签到

发表于 2019-1-29 12:19:27 | 显示全部楼层 |阅读模式
  一、概述
         Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
          Logstash是一个开源的用于收集,分析和存储日志的工具。
          Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以汇总、分析和搜索重要数据日志。
         Beats是elasticsearch公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。Beats由如下组成:
          1.Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息,
                                Packetbeat嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理,                                     其支 持ICMP (v4 and v6)、DNS、HTTP、Mysql、PostgreSQL、Redis、
                                MongoDB、Memcache等协议;
          2. Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder;
          3. Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集
                     Apache、HAProxy、MongoDB、MySQL、Nginx、PostgreSQL、
                                 Redis、System、Zookeeper等服务;
          4. Winlogbeat:用于监控、收集Windows系统的日志信息;
          5. Create your own Beat:自定义beat ,如果上面的指标不能满足需求,elasticsarch鼓励开发者          使用go语言,扩展实现自定义的beats,只需要按照模板,实现监控的输入,日志,输出等即可。

         Beats 将搜集到的数据发送到 Logstash,经 Logstash 解析、过滤后,将其发送到 Elasticsearch 存储,并由 Kibana 呈现给用户。
          Beats 作为日志搜集器没有Logstash 作为日志搜集器消耗资源,解决了 Logstash 在各服务器节点上占用系统资源高的问题。
  

  Elastic Stack官方下载地址:https://www.elastic.co/downloads。
  二、开源实时日志分析系统Elastic Stack 5.0部署:
  A.安装依赖包JDK

  ①关闭防火墙
# cat /etc/selinux/config |grep -v "#"
SELINUX=disabled                       ##关闭selinux
SELINUXTYPE=targeted
# systemctl stop firewalld                 ##关闭防火墙  

  ②下载安装JDK
# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm  
# yum install jre                      ##这里我只安装的是jre环境,一样可用
# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode

  B.安装Elasticsearch
  ①下载安装elasticsearch

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# cat > /etc/yum.repos.d/elasticsearch.repo  "clientip"
    }
}
output {
    elasticsearch {
        hosts => [ "localhost:9200" ]
    }
}
# systemctl restart logstash                    ##重启logstash
# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf --config.test_and_exit                                          ##验证配置文件
Sending Logstash logs to /var/log/logstash which is now configured via log4j2.properties
Configuration OK
# ss -tlnp|grep -E '5043|9600'  

  

  ④配置kibana
  浏览器输入http://localhost:5601,配置filebeat的索引(只需输入filebeat-*即可)。

  

  在第一个框里输入filebeat-*后稍等片刻,kibana会自动识别,OK后下面的按钮会由灰色变为可操控的按钮"Create",如上图所示。点击该按钮后,最后就会呈现如下图所示:
  
  

  我们再回过头新建logstash的索引,浏览器输入http://localhost:5601,点击左边栏的”Management” ===>   然后点击“index Patterns” ===>
  


  ===>  然后点击“Add New” ===>

  ===> 点击“Crete”按钮创建logstash索引,创建完成后即会展现如下图所示:

  

  b.安装部署Packetbeat
  ①安装配置Packetbeat
# yum install libpcap
# curl -L -O https://artifacts.elastic.co/downloads/beats/packetbeat/packetbeat-5.0.1-x86_64.rpm
# rpm -ivh packetbeat-5.0.1-x86_64.rpm
# cat /etc/packetbeat/packetbeat.yml
==================== Network device ===================
packetbeat.interfaces.device: any ##捕获所有消息发送或接收的网络接口
======================== Flows ========================
packetbeat.flows:
  timeout: 30s
  period: 10s
================== Transaction protocols ==============
##如下是packetbeat默认支持的主要协议及端口
packetbeat.protocols.icmp:
  enabled: true
packetbeat.protocols.amqp:
  ports: [5672]
packetbeat.protocols.cassandra:
  ports: [9042]
packetbeat.protocols.dns:
  ports: [53]
  include_authorities: true
  include_additionals: true
packetbeat.protocols.http:
  ports: [80, 8080, 8000, 5000, 8002]
packetbeat.protocols.memcache:
  ports: [11211]
packetbeat.protocols.mysql:
  ports: [3306]
packetbeat.protocols.pgsql:
  ports: [5432]
packetbeat.protocols.redis:
  ports: [6379]
packetbeat.protocols.thrift:
  ports: [9090]
packetbeat.protocols.mongodb:
  ports: [27017]
packetbeat.protocols.nfs:
  ports: [2049]
========================= General =========================
========================= Outputs =========================
------------------- Elasticsearch output ------------------
output.elasticsearch:
  hosts: ["localhost:9200"]
--------------------- Logstash output ---------------------
output.logstash:
  hosts: ["localhost:5043"]                ##只需配置该处,其他默认即可
============================= Logging =====================  
②验证配置并启动packetbeat
# packetbeat.sh -version                         ##查看packetbeat版本
packetbeat version 5.0.1 (amd64), libbeat 5.0.1
# packetbeat.sh -configtest -e                          ##测试配置文件
......
Config OK
# systemctl start packetbeat
# systemctl status packetbeat  
③配置Kibana(新建packetbeat索引)
  在http://localhost:5601下新建索引页面输入“packetbeat-*”,之后kibana会自动更新,在“Time-field name”下面的三个选项中选择“@timestamp”,最后点击“Create”创建即可。

  

  创建完成后,kibana显示如下:

  

  c.安装部署Metricbeat
  ①安装配置metricbeat
# curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-5.0.1-x86_64.rpm
# rpm -ivh metricbeat-5.0.1-x86_64.rpm
# cat /etc/metricbeat/metricbeat.yml
=================  Modules configuration =================
metricbeat.modules:
---------------------- System Module ---------------------
- module: system
  metricsets:
    - cpu
    - load
    - filesystem
    - fsstat
    - memory
    - network
    - process
  enabled: true
  period: 10s
  processes: ['.*']
========================= General =======================
========================= Outputs =======================
------------------- Elasticsearch output ----------------
output.elasticsearch:
  hosts: ["localhost:9200"]
--------------------- Logstash output -------------------
output.logstash:
  hosts: ["localhost:5043"]               ##只需配置该项,其他默认即可
======================= Logging =========================  
②验证配置并启动metricbeat
# metricbeat.sh -version                           ##查看版本信息
metricbeat version 5.0.1 (amd64), libbeat 5.0.1
# metricbeat.sh -configtest -e                     ##验证配置文件
# systemctl start metricbeat
# systemctl status metricbeat  

  ③配置kibana(新建metricbeat索引)
  在http://localhost:5601下新建索引页面输入“metricbeat-*”,之后kibana会自动更新,在“Time-field name”下面的选项中选择“@timestamp”,最后点击“Create”创建即可。

  
  

  最后呈现如下图所示:

  
  注1:
  关于ELK Stack的一些查询语句:

  ①查询filebeat
# curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty'  ②查询packetbeat
# curl -XGET 'http://localhost:9200/packetbeat-*/_search?pretty'  ③查询metricbeat
# curl -XGET 'http://localhost:9200/metricbeat-*/_search?pretty'  ④查询集群健康度
# curl 'localhost:9200/_cat/health?v'  ⑤查看节点列表
# curl 'localhost:9200/_cat/nodes?v'
ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           37          93   3    0.05    0.07     0.41 mdi       *      XVY0Ovb  ⑥列出所有索引
# curl 'localhost:9200/_cat/indices?v'
health status index                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   filebeat-2016.11.28   Mn4MzxdTRaCj9iseutcmqA   5   1          2            0       12kb           12kb
yellow open   filebeat-2016.11.29   iMrr710mT42mApxdV62k-A   5   1        159            0     65.9kb         65.9kb
yellow open   packetbeat-2016.11.29 wkTcIwD6RgiiCFwlWBIILA   5   1       5652            0      1.6mb          1.6mb
yellow open   customer              NvxXLgHoREefJLRhot13Ug   5   1          0            0       800b           800b
yellow open   packetbeat-2016.11.28 Beoe07S7QB-dntNV4nxJNQ   5   1       2446            0    676.4kb        676.4kb
yellow open   test                  M7WbkYq2QNmeJ9NOyMfMZA   5   1          0            0       800b           800b
yellow open   logstash-2016.11.28   pcb_84ChSBe9A7VRd-SQNw   5   1        161            0    123.2kb        123.2kb
yellow open   metricbeat-2016.11.29 AmVeT1xCQGCnxlAFXUxhYw   5   1      94459            0     37.6mb         37.6mb
yellow open   logstash-2016.11.29   6PCKMYKCSVmPfdg-Sx2ARA   5   1      85772            0     20.3mb         20.3mb
yellow open   .kibana               QYTg0I5KS-yc3d7GSey3Zw   1   1          5            0      102kb          102kb  注2:
  如果搭建期间有什么不清楚或不了解的,建议去看官方文档,文档地址如下:
  https://www.elastic.co/guide/index.html

  注3:如需创建自己的beat,该处有教程可供学习:
  http://www.itnose.net/detail/6675459.html





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-669163-1-1.html 上篇帖子: 分布式搜索elasticsearch高级配置之(二) 下篇帖子: 安装grafana
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表