热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS6.5搭建ELK环境ElasticSearch+Kibana+Logstash

ELK工作流程多个独立的Agent(Shipper)负责收集不同来源的数据,一个中心Agent(Indexer)负责汇总和分析数据,在中心Agent前的Broker(使用Red

ELK工作流程

  • 多个独立的Agent(Shipper)负责收集不同来源的数据,一个中心Agent(Indexer)负责汇总和分析数据,在中心Agent前的Broker(使用Redis实现)作为缓冲区,中心Agent后的ElasticSearch用于存储和搜索数据,前端的Kibana提供丰富的图表展示。

  • Shipper表示日志收集,使用LogStash收集各种来源的日志数据,可以是系统日志、文件、Redis、mq等等;

  • Broker作为远程Agent与中心Agent之间的缓冲区,使用Redis实现,一是可以提高系统的性能,二是可以提高系统的可靠性,当中心Agent提取数据失败时,数据保存在Redis中,而不至于丢失;

  • 中心Agent(Indexer)也是LogStash,从Broker中提取数据,可以执行相关的分析和处理(Filter);

  • ElasticSearch用于存储最终的数据,并提供搜索功能;

  • Kibana提供一个简单、丰富的Web界面,数据来自于ElasticSearch,支持各种查询、统计和展示

机器部署

Logstash

(Logstash部署在IP为192.168.123.2的机器上。)

数据流

input|decode|filter|encode|output

安装和配置

1.安装Java环境

2.下载并安装GPG key

[root@localhost ~]# rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch

3.yum源配置

3.安装Logstash

[root@localhost ~]# yum install logstash

4.安装目录

5.编辑一个简单的配置文件

将日志存储到ES中的配置:

6.运行测试

[root@localhost ~]# cd /usr/share/logstash/bin
​
[root@localhost ~]# ./logstash -e 'input{stdin{}}output{stdout{} }'#-e参数表示执行,然后会发现终端在等待你的输入。没问题,敲入 hello,ichunqiu! ,回车,然后看看会返回什么结果。
​
​
结果:
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
hello,ichunqiu!
--- jar coordinate com.fasterxml.jackson.core:jackson-annotations already loaded with version 2.7.1 - omit version 2.7.0
--- jar coordinate com.fasterxml.jackson.core:jackson-databind already loaded with version 2.7.1 - omit version 2.7.1-1
Sending logstash logs to /var/log/logstash/logstash.log.
Pipeline main started
2017-12-16T13:23:56.586Z localhost.localdomain hello,ichunqiu!
2017-12-16T13:23:56.586Z localhost.localdomain hello,ichunqiu!
​
    

7.遇到的问题:

[root@localhost bin]# ./logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug} }'
​
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
--- jar coordinate com.fasterxml.jackson.core:jackson-annotations already loaded with version 2.7.1 - omit version 2.7.0
--- jar coordinate com.fasterxml.jackson.core:jackson-databind already loaded with version 2.7.1 - omit version 2.7.1-1
Logstash has a new settings file which defines start up time settings. This file is typically located in $LS_HOME/config or /etc/logstash. If you installed Logstash through a package and are starting it manually please specify the location to this settings file by passing in "--path.settings=/path/.." in the command line options {:level=>:warn}
Failed to load settings file from "path.settings". Aborting... {"path.settings"=>"/usr/share/logstash/config", "exception"=>Errno::ENOENT, "message"=>"No such file or directory - /usr/share/logstash/config/logstash.yml", :level=>:fatal}

ElasticSearch

数据流

安装和配置

如果是在不同机器上安装,则需要像Logstash的步骤1一样配置好Java环境。

(本文在不同机器上部署,以下配置在IP为192.168.123.3的机器上进行。)

1.下载并安装GPG key

[root@localhost ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2.yum源配置

3.安装ElasticSearch

[root@localhost ~]# yum install elasticsearch

4.安装目录

5.修改 limits.conf

6.创建目录并授权

[root@localhost ~]# mkdir -p /data/es-data
[root@localhost ~]# chown -R elasticsearch.elasticsearch /data/es-data/

7.配置elasticsearch.yml

8.启动ElasticSearch

[root@localhost elasticsearch]# /etc/init.d/elasticsearch start
​
正在启动 elasticsearch:OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
                                                           [确定]

8.检查启动

[root@localhost init.d]# ps -ef|grep elasticsearch
​
498       4094     1 42 22:46 ?        00:00:20 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch -cp /usr/share/elasticsearch/lib/elasticsearch-2.4.6.jar:/usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start -p /var/run/elasticsearch/elasticsearch.pid -d -Des.default.path.home=/usr/share/elasticsearch -Des.default.path.logs=/var/log/elasticsearch -Des.default.path.data=/var/lib/elasticsearch -Des.default.path.cOnf=/etc/elasticsearch
root      4142  1524  0 22:47 pts/0    00:00:00 grep elasticsearch

9.访问测试

windows下访问:

10.遇到的问题;

[root@localhost elasticsearch]# /etc/init.d/elasticsearch start
#运行该命令时失败

解决方法:
在错误提示的地方加空格。

11.安装Elasticsearch插件

  • Head

    • 插件作用:主要是做ES集群管理。

[root@localhost init.d]# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
Downloading ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
Installed head into /usr/share/elasticsearch/plugins/head  #安装路径
​
​
#访问
在浏览器中访问地址:http://ip地址:9200/_plugin/head/

在此我向大家推荐一个架构学习交流群。交流学习群号:575745314 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

Kibana

安装和配置

1.下载并安装GPG Key:

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2.yum源配置

[root@localhost ~]# vim /etc/yum.repos.d/kibana.repo
​
[kibana-4.5]
name=Kibana repository for 4.5.x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
​
[root@localhost ~]# yum clean all

3.安装Logstash

[root@localhost ~]# yum install kibana

4.安装目录

[root@localhost ~]# whereis kibana
kibana: /opt/kibana/bin/kibana /opt/kibana/bin/kibana.bat

5.修改配置文件

[root@localhost ~]# vim /opt/kibana/config/kibana.yml
​
[root@abcdocker ~]# grep "^[a-Z]" /opt/kibana/config/kibana.yml
server.port: 5601               #端口,默认5601
server.host: "0.0.0.0"          #主机
elasticsearch.url: "http://192.168.123.3:9200"   #es地址
kibana.index: ".kibana"         #kibana是一个小系统,自己也需要存储数据(将kibana的数据保存到.kibana的索引中,会在ES里面创建一个.kibana)# elasticsearch.username: "user"    kibana中的es插件是需要收费的,所以无法使用
# elasticsearch.password: "pass"

6.启动Kibana

[root@abcdocker ~]# /etc/init.d/kibana start
#ES也要开启。

7.检查端口

8.访问

访问地址:http://192.168.123.3:5601


推荐阅读
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • 本文深入解析了Elasticsearch写入与查询的底层机制。在数据写入过程中,首先会将数据暂存至内存缓冲区,在此阶段数据尚不可被搜索。同时,为了保证数据的持久性和可靠性,系统会将这些数据同步记录到事务日志(translog)中。当内存缓冲区接近满载时,系统会触发刷新操作,将缓冲区中的数据写入到磁盘上的段文件中,从而使其可被搜索。此外,文章还探讨了查询过程中涉及的索引分片、倒排索引等关键技术,为读者提供了全面的技术理解。 ... [详细]
  • 利用Jenkins与SonarQube集成实现高效代码质量检测与优化
    本文探讨了通过在 Jenkins 多分支流水线中集成 SonarQube,实现高效且自动化的代码质量检测与优化方法。该方案不仅提高了开发团队的代码审查效率,还确保了软件项目的持续高质量交付。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 本文记录了在Windows 8.1系统环境下,使用IIS 8.5和Visual Studio 2013部署Orchard 1.7.2过程中遇到的问题及解决方案,包括503服务不可用错误和web.config配置错误。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • 掌握 esrally 三步骤:高效执行 Elasticsearch 性能测试任务
    自从上次发布 esrally 教程已近两个月,期间不断有用户咨询使用过程中遇到的各种问题,尤其是由于测试数据托管在海外 AWS 上,导致下载速度极慢。为此,本文将详细介绍如何通过三个关键步骤高效执行 Elasticsearch 性能测试任务,帮助用户解决常见问题并提升测试效率。 ... [详细]
  • grafana,9,1,1,发布,系统,指标, ... [详细]
  • java电商,java电商项目面试题
    本文目录一览:1、为什么很多商家选择Java商城系统? ... [详细]
author-avatar
wendy-kiki8
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有