赞
踩
目录
1.2.4.2缓存/消息队列(redis、kafka、RabbitMQ等)
5.2ELK Elasticsearch 集群部署(在Node1、Node2节点上操作)
5.3.3安装 Elasticsearch-head 数据可视化工具
5.3.6通过 Elasticsearch-head 查看 Elasticsearch 信息
5.4ELK Logstash 部署(在 Apache 节点上操作)
5.5ELK Kiabana 部署(在 Node1 节点上操作)
5.5.5将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch中, 并通过 Kibana 显示
5.5.5.2将 Apache 服务器的日志添加到 Elasticsearch中, 并通过 Kibana 显示
5.5.5.3浏览器访问 http://192.168.246.8:9100 查看索引是否创建
5.5.5.4浏览器访问 http://192.168.246.8:5601 登录 Kibana
6.4.3在 Logstash 组件所在节点上配置(192.168.246.11)
ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana 三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求
ELK日志分析系统
- 一套基于Elasticsearch、Logstash、kibana三个开源的日志收集、存储、检索和可视化的解决方案。
- elk可以帮助用户快速定位和分析应用程序的故障,监控应用程序的性能和安全性,以及提供丰富的数据分析和展示功能。
①Elasticsearch 是一个分布式和搜索和分析引擎,它可以对各种类型的数据进行实时的索引和查询,支持高可用和水平扩展性
② logstash:是一个数据处理管道,它可以从多个来源采集数据,对数据进行过滤、转换和增强,然后将数据发送到Elasticsearch 或者其他的目的地
③Kibana:是一个针对Elasticsearch的数据可视化平台,它可以通过各种图表、仪表盘和地图来展示和探索Elasticsearch中的数据
RESTful api
下面是标准的 HTTP 方法与 RESTful 资源管理之间的映射关系:
- GET (获取 文档)
- POST(创建 )
- PUT ( 更新)
- DELTET (删除)
- GET (搜索 值)
核心概念:
接近实时:一旦索引操作完成(通常在几秒钟内),文档就能几乎立刻被搜索到
集群:是由一个或多个节点组成的
节点:一个独立运行实例,它可以存储数据、参与文档索引和搜索过程
索引:索引(库)——>类型(表)——>文档(记录),可以理解为一种数据库的特性,是一个大的文档的集合
分片:允许将索引切分成多个分片,可以在集群的不同节点上独立分布和操作
副本:允许为索引的每个分片创建副本,可以分摊读请求、有冗余能力
logstash的架构
input: 数据收集
filter: 数据加工
output: 数据输出
Logstash主要主件有:
- Shipper:日志收集者,监控微服务日志
- Indexer:日志存储者
- Broker:连接多个收集者,指向 Indexer
- Search and Storage:对事件进行搜索和存储
- Web Interface:展示可视化数据界面
由于 Logstash 运行在 jvm 虚拟机环境中,比较占用 cpu、内存资源,可以添加其它组件直接在操作系统运行:
可以对高并发日志数据进行流量削峰和缓冲,这样的缓冲可以一定程度的保护数据不丢失,还可以对整个架构进行应用解耦。
(1)在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署 Logstash。
(2)Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。
(3)Elasticsearch 对格式化后的数据进行索引和存储。
(4)Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。
logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。
ELK工作流程
一般都是在需要收集日志的所有服务上部署logstash,作为logstash shipper用于监控并收集、过滤日志,接着,
将过滤后的日志发送给Broker,然后,LogstashIndexer将存放在Broker中的数据再写入Elasicsearch,Elasticsearch对这
些数据创建索引,最后由Kibana对其进行各种分析并以图表的形式展示。
服务器类型 | 系统和IP地址 | 需要安装的组件 | 硬件方面 |
---|---|---|---|
Node1节点 | CentOS7.4(64 位) 192.168.246.8 | Elasticsearch 、node | 2核4G |
Node2节点 | CentOS7.4(64 位) 192.168.246.9 | Elasticsearch | 2核4G |
Apache节点 | CentOS7.4(64 位) 192.168.246.10 | Logstash 、Apache | 2核4G |
所有服务器关闭防火墙和SElinux
- systemctl stop firewalld
- setenforce o
看看每台服务器,时间对不对
①更改主机名、配置域名解析、查看Java环境
- hostnamectl set-hostname node1
- hostnamectl set-hostname node2
- su
②添加主机名和ip的映射
- vim /etc/hosts
- 192.168.246.8 node1
- 192.168.246.9 node2
③建议使用 jdk,查看java版本
- [root@node1 opt]#java -version
- openjdk version "1.8.0_131"
- OpenJDK Runtime Environment (build 1.8.0_131-b12)
- OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode) 查看java环境
-
- #如果没有安装,yum -y install java
上传elasticsearch-5.5.0.rpm到/opt目录下
- systemctl daemon-reload
- systemctl enable elasticsearch.service
- cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
- vim /etc/elasticsearch/elasticsearch.yml
- vim /etc/elasticsearch/elasticsearch.yml
- -----------------------------------------------------
- --17--取消注释,指定集群名字
- cluster.name: my-elk-cluster
- --23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
- node.name: node1
- --33--取消注释,指定数据存放路径
- path.data: /data/elk_data
- --37--取消注释,指定日志存放路径
- path.logs: /var/log/elasticsearch/
- --43--取消注释,改为在启动的时候不锁定内存
- bootstrap.memory_lock: false
- --55--取消注释,设置监听地址,0.0.0.0代表所有地址
- network.host: 0.0.0.0
- --59--取消注释,ES 服务的默认监听端口为9200
- http.port: 9200
- --68--取消注释,集群发现通过单播实现,指定要发现的节点 node1、node2
- discovery.zen.ping.unicast.hosts: ["node1", "node2"]
- -------------------------------------------------
- grep -v "^#" /etc/elasticsearch/elasticsearch.yml
注意查看两台机器是否都修改了,也可修改一台,再使用scp命令也可以
grep -v "^#" /etc/elasticsearch/elasticsearch.yml
- mkdir -p /data/elk_data
- chown elasticsearch:elasticsearch /data/elk_data/
- systemctl start elasticsearch.service
- netstat -natp| grep 9200
- 浏览器访问
- http://192.168.246.8:9200 和http://192.168.246.9:9200 查看节点 Node1、Node2 的信息。
- ----------------------------------------
- 浏览器访问
- http://192.168.246.8:9200/_cluster/health?pretty http://192.168.246.9:9200/_cluster/health?pretty
- #查看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行。
绿色:健康 数据和副本 全都没有问题
红色:数据都不完整
黄色:数据完整,但副本有问题
使用上述方式查看群集的状态对用户并不友好,可以通过安装 Elasticsearch-head 插件,可以更方便地管理群集
- Elasticsearch 在 5.0 版本后,Elasticsearch-head 插件需要作为独立服务进行安装,需要使用npm工具(NodeJS的包管理工具)安装。
- 安装 Elasticsearch-head 需要提前安装好依赖软件 node 和 phantomjs。
- node:是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
- phantomjs:是一个基于 webkit 的JavaScriptAPI,可以理解为一个隐形的浏览器,任何基于 webkit 浏览器做的事情,它都可以做到
只需要安装一台,此处在node1上安装
- #上传软件包 node-v8.2.1.tar.gz 到/opt
-
- yum install gcc gcc-c++ make -y
-
- cd /opt
- tar zxvf node-v8.2.1.tar.gz
-
- cd node-v8.2.1/
- ./configure
- make -j 4 && make install
① 放入安装包并解压
② 编译安装
- #上传软件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到/opt下
- ---------------------------------------
- cd /opt
- tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src/
- cd /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin/
- cp phantomjs /usr/local/bin/
- #上传软件包 elasticsearch-head.tar.gz 到/opt
- --------------------------------
- cd /opt
- tar xf elasticsearch-head.tar.gz -C /usr/local/src/
- cd /usr/local/src/elasticsearch-head/
- npm install
- vim /etc/elasticsearch/elasticsearch.yml
- ---------------------------------
- G到配置文件末尾,添加以下内容
- http.cors.enabled: true #开启跨域访问支持,默认为 false
- http.cors.allow-origin: "*" #指定跨域访问允许的域名地址为所有
- --------------------------------
- systemctl restart elasticsearch.service
- http.cors.enabled: true
- http.cors.allow-origin: "*"
#必须在解压后的 elasticsearch-head 目录下启动服务,进程会读取该目录下的 gruntfile.js 文件,否则可能启动失败
- cd /usr/local/src/elasticsearch-head/
- npm run start &
- netstat -natp |grep 9100 #elasticsearch-head 监听的端口是 9100
通过浏览器输入http://192.168.246.8:9100/ 去访问,然后Elasticsearch 输入下面网址访问http://192.168.246.8:9200/ 地址并连接群集。如果看到群集健康值为 green 绿色,代表群集很健康
#通过命令插入一个测试索引,索引为 index-demo,类型为 test
curl -X PUT 'localhost:9200/index-demo1/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
http://192.168.246.8:9100/ 查看索引信息,可以看见索引默认被分片5个,并且有一个副本。
点击“数据浏览”,会发现在node1上创建的索引为 index-demo,类型为 test 的相关信息。
点击“数据浏览”,会发现在node1上创建的索引为 index-demo,类型为 test 的相关信息。
Logstash 一般部署在需要监控其日志的服务器。
在本案例中,Logstash 部署在 Apache 服务器上,用于收集 Apache 服务器的日志信息并发送到 Elasticsearch
hostnamectl set-hostname apache
- yum install httpd -y
- systemctl start httpd
- java -version
-
- 如果没有jdk就yum -y install java 安装
- #上传软件包 logstash-5.5.1.rpm 到/opt目录下
- cd /opt
- ---------------------------
- rpm -ivh logstash-5.5.1.rpm
-
- systemctl start logstash.service
- systemctl enable logstash.service
-
- ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
- Logstash 命令常用选项:
-
- -f:通过这个选项可以指定 Logstash 的配置文件,根据配置文件配置 Logstash 的输入和输出流。
- -e:从命令行中获取,输入、输出后面跟着字符串,该字符串可以被当作 Logstash 的配置(如果是空,则默认使用 stdin 作为输入,stdout 作为输出)。
- -t:测试配置文件是否正确,然后退出
① 定义输入和输出流:输入采用标准输入,输出采用标准输出(类似管道)
- logstash -e 'input { stdin{} } output { stdout{} }'
-
- www.baidu.com #键入内容(标准输入)
- 2024-04-10T11:03:57.952Z apache www.baidu.com #输出结果(标准输出)
- www.sina.com.cn #键入内容
- 2024-04-10T11:04:19.269Z apache www.sina.com.cn
-
-
- 执行 ctrl+c 退出
② 定义输入和输出流:使用 rubydebug 输出详细格式显示,codec 为一种编解码器
logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
③ 定义输入和输出流:使用 Logstash 将信息写入 Elasticsearch 中
logstash -e 'input { stdin {} } output { elasticsearch { hosts=>["192.168.246.8:9200"] } }'
地址是安装了可视化工具,那一台的地址192.168.246.8
④ 浏览器访问 http://192.168.246.8:9100/ 查看索引信息和数据浏览
如果访问不到,看看可视化界面npm run start &是否还在后台运行
Logstash 配置文件基本由三部分组成:input、output 以及 filter(可选,根据需要选择使用)
- input:表示从数据源采集数据,常见的数据源如Kafka、日志文件等
- filter:表示数据处理层,包括对数据进行格式化处理、数据类型转换、数据过滤等,支持正则表达式
- output:表示将Logstash收集的数据经由过滤器处理之后输出到Elasticsearch
- #格式如下:
- input {...}
- filter {...}
- output {...}
-
- #在每个部分中,也可以指定多个访问方式
- 例如,若要指定两个日志来源文件,则格式如下:
- input {
- file { path =>"/var/log/messages" type =>"syslog"}
- file { path =>"/var/log/httpd/access.log" type =>"apache"}
- }
①修改 Logstash 配置文件
让其收集系统日志/var/log/messages,并将其输出到 elasticsearch 中
- chmod +r /var/log/messages #让 Logstash 可以读取日志
- ---------------------------------------
- vim /etc/logstash/conf.d/system.conf
- -----------------------------------
- input {
- file{
- path =>"/var/log/messages" #指定要收集的日志的位置
- type =>"system" #自定义日志类型标识
- start_position =>"beginning" #表示从开始处收集
- }
- }
-
- output {
- elasticsearch { #输出到 elasticsearch
- hosts => [ "192.168.246.8:9200" ] #指定 elasticsearch 服务器的地址和端口
- index =>"system-%{+YYYY.MM.dd}" #指定输出到 elasticsearch 的索引格式
- }
- }
- ------------------------------------
- systemctl restart logstash.service
- input {
- file{
- path =>"/var/log/messages"
- type =>"system"
- start_position =>"beginning"
- }
- }
-
- output {
- elasticsearch {
- hosts => [ "192.168.246.8:9200" ]
- index =>"system-%{+YYYY.MM.dd}"
- }
- }
②浏览器访问 http://192.168.246.8:9100/ 查看索引信息
换台机器node2换成192.168.246.10,apache换成192.168.246.11,继续后续操作
服务器类型 | 系统和IP地址 | 需要安装的组件 | 硬件方面 |
---|---|---|---|
Node1节点 | CentOS7.4(64 位) 192.168.246.8 | Elasticsearch 、Kiabana | 2核4G |
Node2节点 | CentOS7.4(64 位) 192.168.246.10 | Elasticsearch | 2核4G |
Apache节点 | CentOS7.4(64 位) 192.168.246.11 | Logstash 、Apache | 2核4G |
- #上传软件包 kibana-5.5.1-x86_64.rpm 到/opt目录
- cd /opt
- rpm -ivh kibana-5.5.1-x86_64.rpm
-
- cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak
-
- 设置 Kibana 的主配置文件
- vim /etc/kibana/kibana.yml
- -------------------------------------
- --2--取消注释,Kiabana 服务的默认监听端口为5601
- server.port: 5601
- --7--取消注释,设置 Kiabana 的监听地址,0.0.0.0代表所有地址
- server.host: "0.0.0.0"
- --21--取消注释,设置和 Elasticsearch 建立连接的地址和端口
- elasticsearch.url: "http://192.168.246.8:9200"
- --30--取消注释,设置在 elasticsearch 中添加.kibana索引
- kibana.index: ".kibana"
- ----------------------------
- 3.启动 Kibana 服务
- systemctl start kibana.service
- systemctl enable kibana.service
-
- netstat -natp | grep 5601
- -----------------------------
-
- 4.验证 Kibana
- 浏览器访问 http://192.168.246.8:5601
-
- 第一次登录需要添加一个 Elasticsearch 索引:
- Index name or pattern
- #输入:system-* #在索引名中输入之前配置的 Output 前缀“system”
-
- 单击 “create” 按钮创建,单击 “Discover” 按钮可查看图表信息及日志信息。
- 数据展示可以分类显示,在“Available Fields”中的“host”,然后单击 “add”按钮,可以看到按照“host”筛选后的结果
- cd /opt
- rpm -ivh kibana-5.5.1-x86_64.rpm
- cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak
- vim /etc/kibana/kibana.yml
- systemctl start kibana.service
- systemctl enable kibana.service
一定要加入开机自启,如果不加入,可能断电了,服务就会断开,影响你数据等
浏览器访问 http://192.168.246.8:5601
第一次登录需要添加一个 Elasticsearch 索引:
Index name or pattern
#输入:system-* #在索引名中输入之前配置的 Output 前缀“system”单击 “create” 按钮创建,单击 “Discover” 按钮可查看图表信息及日志信息。
数据展示可以分类显示,在“Available Fields”中的“host”,然后单击 “add”按钮,可以看到按照“host”筛选后的结果
浏览器访问 http://192.168.246.8:5601
把apache日志收集到Elasticsearch中
5.5.5.1创建apache_log.conf文件
vim /etc/logstash/conf.d/apache_log.conf
- input {
- file {
- path => "/etc/httpd/logs/access_log"
- type => "access"
- start_position => "beginning"
- }
- file {
- path => "/etc/httpd/logs/error_log"
- type => "error"
- start_position => "beginning"
- }
- }
- output {
- if [type] == "access" {
- elasticsearch {
- hosts => ["192.168.246.8:9200"]
- index => "apache_access-%{+YYYY.MM.dd}"
- }
- }
- if [type] == "error" {
- elasticsearch {
- hosts => ["192.168.246.8:9200"]
- index => "apache_error-%{+YYYY.MM.dd}"
- }
- }
- }
5.5.5.2将 Apache 服务器的日志添加到 Elasticsearch中, 并通过 Kibana 显示
- cd /etc/logstash/conf.d/
- /usr/share/logstash/bin/logstash -f apache_log.conf
5.5.5.3浏览器访问 http://192.168.246.8:9100 查看索引是否创建
5.5.5.4浏览器访问 http://192.168.246.8:5601 登录 Kibana
浏览器访问 http://192.168.246.8:5601 登录 Kibana,单击“Create Index Pattern”按钮添加索引, 在索引名中输入之前配置的 Output 前缀 apache_access-*,并单击“Create”按钮。在用相同的方法添加 apache_error-*索引。
选择“Discover”选项卡,在中间下拉列表中选择刚添加的 apache_access-* 、apache_error-* 索引, 可以查看相应的图表及日志信息。
添加access日志,没有成功
需要去访问下Apache网页,需要有访问记录,才可以生成apache_access日志索引
ELKF 指的是 Elasticsearch、Logstash、Kibana 和 Filebeat,Filebeat 是 Elastic 公司推出的一款轻量级的数据采集器,用于将日志文件和其他数据发送到 Elasticsearch 或 Logstash。下载地址:下载 Elastic 产品 | Elastic
- elastic中文官网:https://www.elastic.co/cn/
- Logstash中文官网:https://www.elastic.co/cn/logstash
Filebeat+ELK 即ELFK
由于 logstash 会大量占用系统的内存资源,一般我们会使用 filebeat 替换 logstash 收集日志的功能,组成 ELFK 架构
或用 fluentd 替代 logstash 组成 EFK(elasticsearch/fluentd/kibana),由于 fluentd 是由 Go 语言开发的,一般在 K8s 环境中使用较多
filebeat 将日志收集后交由 logstash 处理
logstash 进行过滤、格式化等操作,满足过滤条件的数据将发送给 ES
ES 对数据进行分片存储,并提供索引功能
Kibana 对数据进行图形化的 web 展示,并提供索引接口
Filebeat+ELK 即ELFK
服务器类型 | 系统和IP地址 | 需要安装的组件 | 硬件方面 |
---|---|---|---|
Node1节点 | CentOS7.4(64 位) 192.168.246.8 | Elasticsearch 、Kiabana | 2核4G |
Node2节点 | CentOS7.4(64 位) 192.168.246.10 | Elasticsearch | 2核4G |
Apache节点 | CentOS7.4(64 位) 192.168.246.11 | Logstash 、Apache | 2核4G |
Filebeat节点 | CentOS7.4(64 位) 192.168.246.12 | Filebeat |
- 192.168.246.11新机器上执行:
- cd /opt
- tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz
- #将filebeat压缩包上传到/opt路径下并解压
- mv filebeat-6.2.4-linux-x86_64/ /usr/local/filebeat
- #解压后的文件夹移动到/usr/local路径下并改名为filebeat
-
- vim /usr/local/filebeat/filebeat.yml
- #编辑filebeat配置文件,注意格式
- ---------------------------------------------------------------------------------
- filebeat.prospectors: //filebeat.input:
- - type: log #指定 log 类型,从日志文件中读取消息
-
- enabled: true
-
- paths:
- - /var/log/messages #指定监控的日志文件
- - /var/log/*.log
-
- fields: #可以使用 fields 配置选项设置一些参数字段添加到 output 中
- service_name: filebeat
- log_type: log
- service_id: 192.168.246.12 #filebeat的地址
-
- --------------Elasticsearch output-------------------
- (全部注释掉)
-
- ----------------Logstash output---------------------
- output.logstash:
- hosts: ["192.168.246.11:5044"] #指定 logstash 的 IP 和端口
-
- ----------------------------------------------------------------------------------------
- /usr/local/filebeat/filebeat -e -c filebeat.yml #启动 filebeat
- #上传软件包 filebeat-6.2.4-linux-x86_64.tar.gz 到/opt目录
- ---------------------------------------
- tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz
- mv filebeat-6.2.4-linux-x86_64/ /usr/local/filebeat
这边直接使用rpm包了,不用解压
注意配置文件位置,如果使用rpm包,主配置文件在/etc/filebeat/filebeat.yml如果使用tar包配置文件位置在/usr/local/filebeat/filebeat.yml注意哦
使用yum或者编译等,配置文件都放在/etc下面,/etc是存放配置文件的
- cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak
- vim /etc/filebeat/filebeat.yml
:后面注意空格
- service_name: filebeat
- log_type: log
- service_id: 192.168.246.12
①新建一个 Logstash 配置文件
- input {
- beats {
- port => "5044"
- }
- }
- output {
- elasticsearch {
- hosts => ["192.168.246.8:9200"]
- index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
- }
- stdout {
- codec => rubydebug
- }
- }
注意格式,括号和括号对齐哦,不然会出错哦,一层和一层的括号对齐
如果使用tar包安装使用它启动 /usr/local/filebeat/filebeat -e -c filebeat.yml 或 ./filebeat -e -c filebeat.yml
如果使用rpm包安装使用systemctl start filebeat.service启动filebeat
logstash -f logstash.conf
或者用它启动/usr/share/logstash/bin/logstash -f logstash.conf
如果报错模块重复可以使用它/usr/share/logstash/bin/logstash -f logstash.conf --path=/opt查看
/opt是随意些,有目录就可以
http://192.168.246.8:9100
http://192.168.246.8:5601 登录 Kibana
单击“Create Index Pattern”按钮添加索引“filebeat-*”,单击 “create” 按钮创建,单击 “Discover” 按钮可查看图表信息及日志信息
总结
1)ELK三大组件及其工作流程
组件:ElasticSearch(简称:ES)、Logstash和Kiabana
流程:
Logstash负责数据的收集,对数据进行过滤、分析等操作,然后存储到指定的位置,发送给ES;
ES是分布式存储检索引擎,用来存储各类日志,可以让用户可以通过浏览器与 ES通信;
Kiabana为 Logstash 和 ES 提供图形化的日志分析 Web 界面展示,可以汇总、分析和搜索重要数据日志。
ELK日志分析系统
- 一套基于Elasticsearch、Logstash、kibana三个开源的日志收集、存储、检索和可视化的解决方案。
- elk可以帮助用户快速定位和分析应用程序的故障,监控应用程序的性能和安全性,以及提供丰富的数据分析和展示功能。
①Elasticsearch 是一个分布式和搜索和分析引擎,它可以对各种类型的数据进行实时的索引和查询,支持高可用和水平扩展性
② logstash:是一个数据处理管道,它可以从多个来源采集数据,对数据进行过滤、转换和增强,然后将数据发送到Elasticsearch 或者其他的目的地
③Kibana:是一个针对Elasticsearch的数据可视化平台,它可以通过各种图表、仪表盘和地图来展示和探索Elasticsearch中的数据
2)一般用什么来代替logstash?为什么?
一般使用Filebeat代替logstash
因为logstash是由Java开发的,需要运行在JVM上,耗资源较大,运行占用CPU和内存高。另外没有消息队列缓存,存在数据丢失隐患;而filebeat是一款轻量级的开源日志文件数据搜集器,能快速收集数据,并发送给 logstash 进行解析,性能上相比运行于 JVM 上的 logstash 优势明显。
3)feilbeat +Logstash + Elasticsearch +Kibana模式
这是一种更加完善和灵活的架构,适合处理复杂的日志数据
并将其发送到Elasticsearch进行索引。kibana则可以用来查看和分析日志数据
在这种模式下,filebeat (beats)负责收日志文件,并将其发送到logstash进行处理。logstash可以对日志数据进行更多的过滤、转换和增强的操作,并将其发送到Elasticsearch进行索引。kibana则可以用来查看和分析日志数据
4) feilbeat+缓存/消息队列+Logstash + Elasticsearch + Kibana 模式
这是一种加健壮高效的架构,适合处理海量复杂的日志数据,在这种模式下,filebeat和logstach之间加入缓存或消息队列组件,如redis、kafka或RabbitMQ等 ,这样可以降低对日志源主机的影响 ,提高日志传输的稳定性和可靠性,以及实现负载均衡和高可用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。