转载自:https://mp.weixin.qq.com/s?__biz=MzUyNzk0NTI4MQ==&mid=2247483801&idx=1&sn=11fee5756c8770688238624802ac51ea&chksm=fa769ab7cd0113a1ad19241290abe374b857227eebe989b3ba6b671b1eca855d380b76eeedde&mpshare=1&scene=1&srcid=1125q5BPyFOD05H2trj4UdOf&sharer_sharetime=1574686325386&sharer_shareid=6ec87ec9a11a0c18d61cde7663a9ef87#

阐述了EFK的安装部署,其中ES的架构为三节点,即master、ingest、data角色同时部署在三台服务器上。

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

    mkdir -p /opt/software && cd /opt/software

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-linux-x86_64.tar.gz

    tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz

    mv elasticsearch-7.3.2 /opt/elasticsearch

    useradd elasticsearch -d /opt/elasticsearch -s /sbin/nologin

    mkdir -p /opt/logs/elasticsearch

    chown elasticsearch.elasticsearch /opt/elasticsearch -R

    chown elasticsearch.elasticsearch /opt/logs/elasticsearch -R

    # 限制一个进程可以拥有的VMA(虚拟内存区域)的数量要超过262144,不然elasticsearch会报max virtual memory areas vm.max_map_count [65535] is too low, increase to at least [262144]

    echo "vm.max_map_count = 655350" >> /etc/sysctl.conf

    sysctl -p

filebeat安装

    mkdir -p /opt/software && cd /opt/software

    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.2-linux-x86_64.tar.gz

    mkdir -p /opt/logs/filebeat/

    tar -zxvf filebeat-7.3.2-linux-x86_64.tar.gz

    mv filebeat-7.3.2-linux-x86_64 /opt/filebeat

kibana安装

    mkdir -p /opt/software && cd /opt/software

    wget https://artifacts.elastic.co/downloads/kibana/kibana-7.3.2-linux-x86_64.tar.gz

    tar -zxvf kibana-7.3.2-linux-x86_64.tar.gz

    mv kibana-7.3.2-linux-x86_64 /opt/kibana

    useradd kibana -d /opt/kibana -s /sbin/nologin

    chown kibana.kibana /opt/kibana -R

nginx安装

    # 只在192.168.1.11安装

    yum install -y nginx

    /usr/sbin/nginx -c /etc/nginx/nginx.conf

elasticsearch配置

# 192.168.1.31 /opt/elasticsearch/config/elasticsearch.yml
# 集群名字 cluster.name: my-application # 节点名字 node.name: 192.168.1.31 # 日志位置 path.logs: /opt/logs/elasticsearch # 本节点访问IP network.host: 192.168.1.31 # 本节点访问 http.port: 9200 # 节点运输端口 transport.port: 9300 # 集群中其他主机的列表 discovery.seed_hosts: ["192.168.1.31", "192.168.1.32", "192.168.1.33"] # 首次启动全新的Elasticsearch集群时,在第一次选举中便对其票数进行计数的master节点的集合 cluster.initial_master_nodes: ["192.168.1.31", "192.168.1.32", "192.168.1.33"] # 启用跨域资源共享 http.cors.enabled: true http.cors.allow-origin: "*" # 只要有2台数据或主节点已加入集群,就可以恢复 gateway.recover_after_nodes: 2 # 192.168.1.32 /opt/elasticsearch/config/elasticsearch.yml
# 集群名字 cluster.name: my-application # 节点名字 node.name: 192.168.1.32 # 日志位置 path.logs: /opt/logs/elasticsearch # 本节点访问IP network.host: 192.168.1.32 # 本节点访问 http.port: 9200 # 节点运输端口 transport.port: 9300 # 集群中其他主机的列表 discovery.seed_hosts: ["192.168.1.31", "192.168.1.32", "192.168.1.33"] # 首次启动全新的Elasticsearch集群时,在第一次选举中便对其票数进行计数的master节点的集合 cluster.initial_master_nodes: ["192.168.1.31", "192.168.1.32", "192.168.1.33"] # 启用跨域资源共享 http.cors.enabled: true http.cors.allow-origin: "*" # 只要有2台数据或主节点已加入集群,就可以恢复 gateway.recover_after_nodes: 2 # 192.168.1.33 /opt/elasticsearch/config/elasticsearch.yml
# 集群名字 cluster.name: my-application # 节点名字 node.name: 192.168.1.33 # 日志位置 path.logs: /opt/logs/elasticsearch # 本节点访问IP network.host: 192.168.1.33 # 本节点访问 http.port: 9200 # 节点运输端口 transport.port: 9300 # 集群中其他主机的列表 discovery.seed_hosts: ["192.168.1.31", "192.168.1.32", "192.168.1.33"] # 首次启动全新的Elasticsearch集群时,在第一次选举中便对其票数进行计数的master节点的集合 cluster.initial_master_nodes: ["192.168.1.31", "192.168.1.32", "192.168.1.33"] # 启用跨域资源共享 http.cors.enabled: true http.cors.allow-origin: "*" # 只要有2台数据或主节点已加入集群,就可以恢复 gateway.recover_after_nodes: 2

filebeat配置

# 192.168.1.11 /opt/filebeat/filebeat.yml
# 文件输入 filebeat.inputs: # 文件输入类型 - type: log # 开启加载 enabled: true # 文件位置 paths: - /var/log/nginx/access.log # 自定义参数 fields: type: nginx_access # 类型是nginx_access,和上面fields.type是一致的 # 输出至elasticsearch output.elasticsearch: # elasticsearch集群 hosts: ["http://192.168.1.31:9200", "http://192.168.1.32:9200", "http://192.168.1.33:9200"] # 索引配置 indices: # 索引名 - index: "nginx_access_%{+yyy.MM}" # 当类型是nginx_access时使用此索引 when.equals: fields.type: "nginx_access" # 关闭自带模板 setup.template.enabled: false # 开启日志记录 logging.to_files: true # 日志等级 logging.level: info # 日志文件 logging.files: # 日志位置 path: /opt/logs/filebeat/ # 日志名字 name: filebeat # 日志轮转期限,必须要2~1024 keepfiles: 7 # 日志轮转权限 permissions: 0600

kibana配置

# 192.168.1.21 /opt/kibana/config/kibana.yml
# 本节点访问端口 server.port: 5601 # 本节点IP server.host: "192.168.1.21" # 本节点名字 server.name: "192.168.1.21" # elasticsearch集群IP elasticsearch.hosts: ["http://192.168.1.31:9200", "http://192.168.1.32:9200", "http://192.168.1.33:9200"]

启动服务

    # elasticsearch启动(3台es均启动)

    sudo -u elasticsearch /opt/elasticsearch/bin/elasticsearch

    # filebeat启动

    /opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"

    # kibana启动

    sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml

EFK-1:快速指南的更多相关文章

  1. [译] MongoDB Java异步驱动快速指南

    导读 mongodb-java-driver是mongodb的Java驱动项目. 本文是对MongoDB-java-driver官方文档 MongoDB Async Driver Quick Tour ...

  2. 转:C++ Boost/tr1 Regex(正则表达式)快速指南

    C++ Boost/tr1 Regex(正则表达式)快速指南 正则表达式自Boost 1.18推出,目前已经成为C++11(tr1)的标准部分. 本文以Boost 1.39正则表达式为基础,应该广泛适 ...

  3. (译)快速指南:用UIViewPropertyAnimator做动画

    翻译自:QUICK GUIDE: ANIMATIONS WITH UIVIEWPROPERTYANIMATOR 译者:Haley_Wong iOS 10 带来了一大票有意思的新特性,像 UIViewP ...

  4. JUnit5 快速指南

    JUnit5 快速指南 version: junit5 1. 安装 2. JUnit 注解 3. 编写单元测试 3.1. 基本的单元测试类和方法 3.2. 定制测试类和方法的显示名称 3.3. 断言( ...

  5. 【SFA官方翻译】使用 Kubernetes、Spring Boot 2.0 和 Docker 的微服务快速指南

    [SFA官方翻译]使用 Kubernetes.Spring Boot 2.0 和 Docker 的微服务快速指南 原创: Darren Luo SpringForAll社区 今天 原文链接:https ...

  6. Emacs 快速指南(中文翻译)

      Emacs 快速指南 目录 1. 小结(SUMMARY) 2. 基本的光标控制(BASIC CURSOR CONTROL) 3. 如果 EMACS 失去响应(IF EMACS STOPS RESP ...

  7. 29 A Quick Guide to Go's Assembler 快速指南汇编程序:使用go语言的汇编器简介

    A Quick Guide to Go's Assembler 快速指南汇编程序:使用go语言的汇编器简介 A Quick Guide to Go's Assembler Constants Symb ...

  8. Emacs 快速指南 - 原生中文手册

    Emacs 快速指南 -折叠目录 1. 小结(SUMMARY) 2. 基本的光标控制(BASIC CURSOR CONTROL) 3. 如果 EMACS 失去响应(IF EMACS STOPS RES ...

  9. Docker网络基础:快速指南

    Docker网络基础:快速指南 原文连接:http://blogxinxiucan.sh1.newtouch.com/2017/07/30/Docker网络基础:快速指南/ 了解有关扩展网络功能的默认 ...

  10. 从 C++ 到 Objective-C 的快速指南

    简介 当我开始为iOS写代码的时候,我意识到,作为一个C++开发者,我必须花费更多的时间来弄清楚Objective-C中怪异的东西.这就是一个帮助C++专家的快速指南,能够使他们快速的掌握Apple的 ...

随机推荐

  1. SpringBoot开发 - 什么是热部署和热加载?devtool的原理是什么?

    在SpringBoot开发调试中,如果我每行代码的修改都需要重启启动再调试,可能比较费时间:SpringBoot团队针对此问题提供了spring-boot-devtools(简称devtools)插件 ...

  2. Mac安装 Scrapy 报错 No local packages or working download links found for incremental>=16.10.1

    证书原因: wget http://curl.haxx.se/ca/cacert.pem mv cacert.pem ca-bundle.crt sudo mkdir -p /etc/pki/tls/ ...

  3. Eolink 全局搜索介绍【翻译】

    随着前后端分离成为互联网项目开发的标准模式, API 成为了前后端联通的桥梁.而面对越来越频繁和复杂的调用需求,项目里的 API 数量也越来越多,我们需要通过搜索功能来快速定位到对应的 API来进行使 ...

  4. CF1703A YES or YES? 题解

    题意:输入一个长度为 \(3\) 的字符串,判断其是否为 \(YES\),忽略大小写. 做法:输入字符串,直接判断. #include<cstdio> #include<iostre ...

  5. python 部分内置函数详解

    简介 eval与exec eval和exec都是python内置的可以执行python代码的函数,但它们之间有所区别. eval(expression[, globals[, locals]]) ex ...

  6. python 操作xml、html文件

    简介 在一些项目中可能会使用到解析html文件,尤其是爬虫相关的,需要解析获取到的html内容,通常我们会使用lxml模块去进行html文件的解析. html文件 当前存在一个简单的html < ...

  7. CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!) A-E

    比赛链接 A 题解 知识点:思维,模拟. 发现 \(b\) 串第一个字符是 \(1\) 则只能使用 max , \(0\) 则只能使用 min ,随后只需要模拟到 \(a\) 串剩余 \(m\) 个字 ...

  8. 3.联合索引、覆盖索引及最左匹配原则|MySQL索引学习

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 导语 在数据检索的过程中,经常会有多个列的匹配需求,今天介绍下联合索引的使用以及最左匹配原则的案例. 最左匹配原则作用在联 ...

  9. 使用 Liquibase 管理数据库版本 - SpringBoot 2.7 .2 实战基础

    优雅哥 SpringBoot 2.7 .2 实战基础 - 05 -使用 Liquibase 管理数据库版本 在企业开发中,数据库版本管理好像是一个伪命题,大多项目都是通过 Power Designer ...

  10. LuoguP1516 青蛙的约会 (Exgcd)

    #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> ...