转载自: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. 干货 |《2022B2B新增长系列之企服行业橙皮书》重磅发布

    企服行业面临的宏观环境和微观环境已然发生了明显的变化.一方面,消费级互联网成为过去式,爆发式增长的时代结束.资本.媒体的目光已经悄然聚焦到以企服行业所代表的产品互联网身上,B2B企业正稳步走向C位. ...

  2. gerrit系统如何配置访问控制

    . 版本:v0.3 作者:河东西望 日期:2022-7-13 . 目录 1 关键概念 2 需求场景 3 配置策略 gerrit系统的上手使用有两个难点: 部署repo仓库. 配置访问控制. 想要上手使 ...

  3. 小A的柱状图_via牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28537/Q 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语 ...

  4. 背包问题学习笔记 / Dynamic Programming(updating)

    01背包问题     朴素版:(二维数组) 状态表示: dp[i][j]:从前i个物品中选择(每个物品只能选0或1个)且总体积不超过j的集合的最大价值,则dp[n][m]就是最终答案(n:物品数量,m ...

  5. 零基础学Java(10)面向对象-使用LocalDate类完成日历设计

    前言 在我们完成这个日历设计前,需要了解Java中的预定义类LocalDate的一些用法 语法 LocalDate.now() // 2022-07-01 会构造一个新对象,表示构造这个对象时的日期. ...

  6. 方法引用_通过this引用本类的成员方法和方法引用_类的构造器(构造方法)引用和数组的构造器引用

    package com.yang.Test.ThisMethodReference; /** * 通过this引用本类的成员方法 */ public class Husband { //定义一个买房子 ...

  7. 附加进程 到远程服务器中Docker容器内 调试

    很多时候,我们在本地开发过程中程序运行很正常,但是发布到线上之后由于环境的原因,可能会有一些异常.通常我们会通过日志来分析问题,除了日志还有一种常用的调试手段就是:附加进程. VS中的附加进程非常强大 ...

  8. WindTerm:新一代开源免费的终端工具,GitHub星标6.6k+,太酷了!

    继 Tabby.Warp 后,今天再来给大家推荐一款终端神器--WindTerm,完全开源,在 GitHub 上已经收获 6.6k 的 star. https://github.com/kingToo ...

  9. Dolphin Scheduler 1.2.0 部署参数分析

    本文章经授权转载 1 组件介绍 Apache Dolphin Scheduler是一个分布式易扩展的可视化DAG工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程 ...

  10. Luogu3275 [SCOI2011]糖果 (差分约束)

    逆序建超级源快十倍还行 #include <cstdio> #include <iostream> #include <cstring> #include < ...