1. 用途

    ▷ 通过各个beat实时收集日志、传输至elasticsearch集群

    ▷ 通过kibana展示日志

  2. 实验架构

    名称:IP地址:CPU:内存

    kibana&cerebro:192.168.75.20:1核:2G

    es-1:192.168.75.21:2核:4G

    es-2:192.168.75.22:2核:4G

    es-3:192.168.75.23:2核:4G

各beat均安装在ES集群上,也就是三个es主机节点

  1. 软件安装
  • 版本说明:

    均为7.3.0版本
  • 注意事项

    各组件版本必须一致,elasticsearch必须3台及其以上且总数量为单数
  • 软件保存路径:/usr/local/src
  • 采用rpm文件方式安装
  • 官方下载地址:https://www.elastic.co/cn/downloads/past-releases

3.1 elasticsearch

3.1.1 安装

3台es均执行相同的安装步骤

echo "vm.max_map_count = 655350" >> /etc/sysctl.conf
sysctl -p
cd /usr/local/src
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-x86_64.rpm
rpm -vi elasticsearch-7.3.0-x86_64.rpm

默认配置文件路径:/etc/elasticsearch/

默认程序安装路径:/usr/share/elasticsearch/

默认存储文件路径:/var/lib/elasticsearch/

默认日志文件路径:/var/log/elasticsearch/

3.1.2 配置

# es-1主机

# cat /etc/elasticsearch/elasticsearch.yml | grep -v '^#'

# 集群名字
cluster.name: my-application # 节点名称
node.name: 192.168.75.21 # 数据路径
path.data: /var/lib/elasticsearch # 日志路径
path.logs: /var/log/elasticsearch # 本界面访问IP
network.host: 192.168.75.21 # 本届点访问端口
http.port: 9200 # 节点运输端口
transport.port: 9300 # 集群中其他主机列表
discovery.seed_hosts: ["192.168.75.21", "192.168.75.22","192.168.75.23"] # 首次启动全新的Elasticsearch集群时,在第一次选举中便对其票数进行计数的master节点的集合
cluster.initial_master_nodes: ["192.168.75.21", "192.168.75.22","192.168.75.23"] # 启用跨域资源共享
http.cors.enabled: true
http.cors.allow-origin: "*"
# es-2主机
# cat /etc/elasticsearch/elasticsearch.yml | grep -v '^#'
cluster.name: my-application
node.name: 192.168.75.22
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.75.22
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["192.168.75.21", "192.168.75.22","192.168.75.23"]
cluster.initial_master_nodes: ["192.168.75.21", "192.168.75.22","192.168.75.23"]
http.cors.enabled: true
http.cors.allow-origin: "*"
# es-3主机
# cat /etc/elasticsearch/elasticsearch.yml | grep -v '^#'
cluster.name: my-application
node.name: 192.168.75.23
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.75.23
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["192.168.75.21", "192.168.75.22","192.168.75.23"]
cluster.initial_master_nodes: ["192.168.75.21", "192.168.75.22","192.168.75.23"]
http.cors.enabled: true
http.cors.allow-origin: "*"

3.1.3 启动/重启/停止

systemctl start elasticsearch
systemctl stop elasticsearch
systemctl restart elasticsearch
systemctl status elasticsearch

3.1.4 查看集群健康、节点状态

# 注:第一个IP为集群中任一节点ip,第二个ip为界面名称

# elasticsearch启动后查看是否启动成功
curl -XGET "http://192.168.75.21:9200/_cluster/health?pretty=true" # 停止elasticsearch应用
curl -XPOST "http://192.168.75.21:9200/_shutdown" # 查看集群健康
curl 192.168.75.21:9200/_cluster/health?pretty # 检查集群状态
curl 192.168.75.21:9200/_cluster/stats?pretty # 节点状态
curl 192.168.75.21:9200/_nodes/process?pretty curl 192.168.75.21:9200/_nodes/192.168.75.21/process?pretty # 当你不知道有那些属性可以查看时,会返回可以查看的属性
curl '192.168.75.21:9200/_cat/'

3.2 kibana

3.2.1 安装

cd /usr/local/src
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.3.0-x86_64.rpm
rpm -vi kibana-7.3.0-x86_64.rpm

默认配置文件路径:/etc/kibana/

默认程序安装路径:/usr/share/kibana/

3.2.3 配置

# cat /etc/kibana/kibana.yml| grep -v '^#'

# 访问端口号
server.port: 5601
# 访问地址
server.host: "192.168.75.20"
# 名称
server.name: "192.168.75.20"
# es集群地址
elasticsearch.hosts: ["http://192.168.75.21:9200", "http://192.168.75.22:9200","http://192.168.75.23:9200"]
# 中文界面
i18n.locale: "zh-CN"

3.2.3 启动/重启/停止

systemctl start kibana
systemctl stop kibana
systemctl restart kibana
systemctl status kibana

3.2.4 浏览器访问

地址: http://192.168.75.20:5601

3.3 cerebro

官方地址:https://github.com/lmenezes/cerebro

下载地址:https://github.com/lmenezes/cerebro/releases

前提条件:需要有java环境

wget https://github.com/lmenezes/cerebro/releases/download/v0.8.5/cerebro-0.8.5.tgz
tar xzf cerebro-0.8.5.tgz -C /usr/local # 配置ES服务器
# 非必须:如果经常使用的话,可以先在conf/application.conf中配置好ElasticSearch服务器地址
# 第一个是不加密的,第二个是加密的
hosts = [
{
host = "http://192.168.75.21:9200" # 设置集群中的一个地址
name = "Localhost cluster"
headers-whitelist = [ "x-proxy-user", "x-proxy-roles", "X-Forwarded-For" ]
}
# Example of host with authentication
# {
# host = "http://172.17.107.187:9203"
# name = "my-application"
# auth = {
# username = "elastic"
# password = "escluter123456"
# }
# }
] # 启动,默认使用9000端口
cerebro-0.8.1/bin/cerebro
[info] play.api.Play - Application started (Prod)
[info] p.c.s.AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000 # 指定端口启动
bin/cerebro -Dhttp.port=8080 # 指定地址启动
bin/cerebro -Dhttp.address=192.168.75.20 # 使用浏览器访问http://192.168.75.20:9000

3.4 Filebeat

在三台es主机节点上进行安装,收集elasticsearch的日志,默认索引为filebeat-7.3.0-*

Filebeat 模块 elasticsearch 解析 Elasticsearch 创建的日志

# 下载并安装 Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.0-x86_64.rpm
rpm -vi filebeat-7.3.0-x86_64.rpm # 修改 /etc/filebeat/filebeat.yml 以设置连接信息: setup.kibana:
host: "192.168.75.20:5601" output.elasticsearch:
hosts: ["192.168.75.21:9200","192.168.75.22:9200","192.168.75.23:9200"] # 启用和配置 elasticsearch 模块,在 /etc/filebeat/modules.d/elasticsearch.yml 文件中修改设置
filebeat modules enable elasticsearch # 启动 Filebeat
filebeat setup
service filebeat start

3.5 Metricbeat

在三台es主机节点上进行安装,收集es主机的日志,默认索引为metricbeat-7.3.0-*

# 下载并安装 metricbeat
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.3.0-x86_64.rpm
rpm -vi metricbeat-7.3.0-x86_64.rpm # 修改 /etc/metricbeat/metricbeat.yml 以设置连接信息: setup.kibana:
host: "192.168.75.20:5601" output.elasticsearch:
hosts: ["192.168.75.21:9200","192.168.75.22:9200","192.168.75.23:9200"] # 启用和配置 system 模块,在 /etc/metricbeat/modules.d/system.yml 文件中修改设置
metricbeat modules enable system # 启动 Metricbeat
metricbeat setup
service metricbeat start

3.6 Heartbeat

在三台es主机节点上进行安装,通过主动探测来监测服务的可用性,默认索引为heartbeat-7.3.0-*

# 下载并安装 heartbeat
curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-7.3.0-x86_64.rpm
rpm -vi heartbeat-7.3.0-x86_64.rpm # 修改 /etc/heartbeat/heartbeat.yml 以设置连接信息 setup.kibana:
host: "192.168.75.20:5601" output.elasticsearch:
hosts: ["192.168.75.21:9200","192.168.75.22:9200","192.168.75.23:9200"] # 添加监测,注意每台es节点主机ip不同,其中 <http://192.168.75.21:9200> 是受监测 URL
heartbeat.monitors:
- type: http
urls: ["http://192.168.75.21:9200"]
schedule: "@every 10s" # 启动 Heartbeat
heartbeat setup
service heartbeat-elastic start

部署elasticsearch(三节点)集群+filebeat+kibana的更多相关文章

  1. ambari单节点集群塔建

    配置2台机器,发别为ambari01.ambari03.ambari01上部署Ambari-server和Mirror server,另一台机器上部署agent. 一.配置静态IP 运行命令,让配置生 ...

  2. ElasticSearch 深入理解 三:集群部署设计

    ElasticSearch 深入理解 三:集群部署设计 ElasticSearch从名字中也可以知道,它的Elastic跟Search是同等重要的,甚至以Elastic为主要导向. Elastic即可 ...

  3. Windows下ELK环境搭建(单机多节点集群部署)

    1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...

  4. Elasticsearch系列---生产集群部署(下)

    概要 本篇继续讲解Elasticsearch集群部署的细节问题 集群重启问题 如果我们的Elasticsearch集群做了一些离线的维护操作时,如扩容磁盘,升级版本等,需要对集群进行启动,节点数较多时 ...

  5. 1.ElasticSearch系列之集群部署

    第一步:安装JDK JDK要求jdk1.8+,不安装也可以,ES自带JDK 第二步:系统配置 2.1 禁用交换区 sudo swapoff -a 2.2 开最大文件数的限制 编辑文件 /etc/sec ...

  6. k8s, etcd 多节点集群部署问题排查记录

    目录 文章目录 目录 部署环境 1. etcd 集群启动失败 解决 2. etcd 健康状态检查失败 解决 3. kube-apiserver 启动失败 解决 4. kubelet 启动失败 解决 5 ...

  7. 最新二进制安装部署kubernetes1.15.6集群---超详细教程

    00.组件版本和配置策略 00-01.组件版本 Kubernetes 1.15.6 Docker docker-ce-18.06.1.ce-3.el7 Etcd v3.3.13 Flanneld v0 ...

  8. 使用Kubespray在ubuntu上自动部署K8s1.9.0集群

    Kubespray 是 Kubernetes incubator 中的项目,目标是提供 Production Ready Kubernetes 部署方案,该项目基础是通过 Ansible Playbo ...

  9. ElasticSearch高可用集群环境搭建和分片原理

    1.ES是如何实现分布式高并发全文检索 2.简单介绍ES分片Shards分片技术 3.为什么ES主分片对应的备分片不在同一台节点存放 4.索引的主分片定义好后为什么不能做修改 5.ES如何实现高可用容 ...

随机推荐

  1. 串口 PLC 编程FAQ

    1. 不要频繁打开关闭串口,这是个耗时的过程,如果多个工位都争夺串口资源,则会出现卡顿,死锁. 2. PLC 的读写估计100毫秒,如果并发的写,有的写操作会失败,需要Delay或重试. 3. 通常一 ...

  2. windows server 2008 安装MySQL 8.0 遇到报错 1055 - Expression #1 of ORDER BY clause is not in GROUP BY

    mysql安装参考教程:https://blog.csdn.net/qq_37350706/article/details/81707862 安装完毕后 执行sql语句 SELECT * FROM c ...

  3. iOS开发xib控件删不掉,修改xib运行不发生改变,修改xib不管用

    修改xib控件tag值,颜色,大小,甚至删除发现编译.运行之后效果没改变,用代码修改内容发现管用, 其实只需要clean一下!^_^ 快捷键:shift + command + k

  4. xcode运行demo报错:Failed to create provisioning profile.cannot be registered to your development team

    问题:网上下载运行demo,出现Failed to create provisioning profile.cannot be registered to your development team此 ...

  5. LCD编程_画点线圆

    上篇博客中进行了lcd的简单测试,这篇博客将进行更加复杂的测试——画点.画线.画圆.画线和画圆是在画点的基础上实现的,因此本篇博客重点实现画点操作. 先抛出这样的一个问题,已知: (x,y)的坐标: ...

  6. docker 搭建自己的仓库

    1.下载registry镜像 docker pull registry 2.查看端口信息 netstat -ntlp 3.启动registry镜像 docker run -d -p 5000:5000 ...

  7. 13-cmake语法-路径设置

    路径设置: 包括头文件路径.库文件路径.库文件名等 INCLUDE_DIRECTORIES 向工程添加多个特定的头文件搜索路径,路径之间用空格分隔,如果路径包含空格,可以使用双引号将它括起来,默认的行 ...

  8. ORA-01589错误的解决办法

    出现下图错误 使用下面解决办法,首先输入下面第一个箭头的语句,然后会弹出一个等待光标,接下来就是找到最新的那个REMOD0X.LOG文件地址,也就是第二个箭头所示. 再输入下面图片第一个箭头的语句.

  9. Python、Spyder的环境搭建

    有什么不对欢迎大家指出,一起交流啊,只针对Windows!!!!(苹果买不起...)Python安装的话2.7版本和3.6版本都可以,虽然2.7比较全面,但还是建议安装3.6,这里以3.6为例进行介绍 ...

  10. getpeername、getsockname

    函数原型: #include<sys/socket.h> int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t ...