运维入坑实践之ELK集群部署_ding_zk的博客-程序员秘密_elk集群部署方案

技术标签: DevOps  运维  elk  linux  

运维入坑实践之ELK集群部署

ELK,即elasticsearch、logstash、kibana,是一个强大的日志分析利器,目前大部分公司都在使用此集群作为日志分析工具。业界比较流行的除了elk还有graylog(后续会整理一份graylog集群搭建教程)。本文主要讲解了elk集群的搭建步骤,后续会基于本集群为大家讲解nginx日志接入elk及字段解析与查询。

版本说明

系统版本:
CentOS Linux release 7.4.1708 (Core)

软件版本:

  1. jdk1.8(安装步骤略)
  2. Elasticsearch:7.12.1
  3. Kibana:7.12.1
  4. Logstash:7.12.1

角色分配

ip规划 角色分配
192.168.25.101

ES:master、datanode

Kibana

192.168.25.102

ES:master、datanode

Logstash

192.168.25.103

ES:master、datanode

集群搭建步骤

 安装elasticearch

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-linux-x86_64.tar.gz
  2. tar -xf elasticsearch-7.12.1-linux-x86_64.tar.gz -C /opt/ 
  3. 创建用户及目录
    useradd es ##创建es账户,服务启动需要使用非root用户
    mkdir /data/es/{data|logs} -p ##创建数据、日志目录
    chown -R es. /data/es ##修改文件夹宿主

  4. 修改配置文件(另外两个节点配置相同,只需修改其中的节点名称和ip)
    vi /opt/elasticsearch/config/elasticsearch.yml
    cluster.name: test-es-cluster ## 集群名称
    node.name: test01 ## 集群节点名称
    path.data: /data/es/data ## 数据存放路径
    path.logs: /data/es/logs ## log存放路径
    network.host: 192.168.25.103 ## 集群节点ip
    http.port: 9200 ## 端口
    discovery.seed_hosts: ["192.168.25.101", "192.168.25.102","192.168.25.103"]
    cluster.initial_master_nodes: ["test01", "test02","test03"]

  5. 启动集群服务

     /opt/elasticsearch/bin/elasticsearch -d

  6. 常见问题:

  • bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

    vi /etc/security/limits.conf ##编辑此文件,添加以下内容:
    * soft nofile 65536
    * hard nofile 65536
    

  • bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    vi /etc/sysctl.conf ##修改此配置文件
    vm.max_map_count=262144

logstash部署

  1. wget https://artifacts.elastic.co/downloads/logstash/logstash-7.12.1-linux-x86_64.tar.gz
  2. tar -xf    logstash-7.12.1-linux-x86_64.tar.gz -C /opt/
  3. 编辑配置文件
    ##收集本地日志到es集群
    input{
        file{
            path => "/data/test.log"
            type=> "test"
            start_position => "beginning"
            codec => plain
        }
    }
    output{
        elasticsearch {
            hosts => [ "192.168.25.101:9200", "192.168.25.102:9200", "192.168.25.103:9200" ]
            index => "test-%{+YYYY.MM.dd}"
        }
    }

  4. 启动服务
    /opt/logstash-7.12.1/bin/logstash -f /opt/logstash-7.12.1/config/test.conf

Kibana部署

  1. wget https://artifacts.elastic.co/downloads/kibana/kibana-7.12.1-linux-x86_64.tar.gz 
  2. tar -xf kibana-7.12.1-linux-x86_64.tar.gz  -C /opt/
  3. 创建配置文件
  4. server.port: 5601
    
    server.host: "192.168.25.103"
    
    server.name: "test-kibana"
    
    elasticsearch.hosts: ["http://192.168.25.101:9200"]
  5. 启动服务
    /opt/kibana-7.12.1-linux-x86_64/bin/kibana -c /opt/kibana-7.12.1-linux-x86_64/config/kibana.yml

注:本文中所有配置均为生产环境实测配置。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ding_zk/article/details/116590673

智能推荐

c 追加字符串_【C语言更新】C语言中字符串的操作_weixin_39897746的博客-程序员资料

文/Edward在C语言的实际使用中,很多时候会去使用指针传递一些字符串,而C语言中也有很多关于字符串处理的库函数给大家来使用,只要在使用的时候包含头文件“string.h”就可以使用它们了。接下来的内容中,我们将使用之前学习过的内容自己写一些代码来实现几个这些库函数可以提供给我们的功能,实现完成之后,再介绍相应的库函数。字符串长度的测量一说到长度的测量,很多人脑中第一时间就会联想到...

在VSCode中配置Python运行环境__Naive_的博客-程序员资料

很多时候只需要写一些小脚本,就十几二十行的样子,打开PyCharm什么的太费劲了,可以考虑用VSCode便捷开发。在VSCode中只需要配置好launch,json就可以按F5进行调试了。 打开launch.json:调试 >> 打开配置 修改 pythonpath 词条:"version": "0.2.0", "configurations": [ ...

Hadoop使用lzo压缩并支持分片_xiaoxiongaa0的博客-程序员资料

[[email protected] hive-1.1.0-cdh5.7.0]$ which lzop/bin/lzop[[email protected] data]$ lzop -v page_views_big.dat[[email protected] data]$ ls -lahtotal 1.4Gdrwxrwxr-x 2 hadoop hadoop 4.0K Apr ...

charAt_happy_wealthy的博客-程序员资料

String word = "zhu";word.charAt(1);//取出第一个char,z

在大厂实习三个月后,我竟然迎来了“中年危机“_程序员小濠的博客-程序员资料

中年危机,正在实习生身上蔓延。如今,实习早已经不是大三大四、研二研三求职前的简历演练。越来越多刚步入高校没多久的学生就开始找实习,为“光明的未来”焦虑不已。他们一边兢兢业业做着实习工作,一边在网站上心惊胆战地搜索:“职场上 35 岁以上的人去哪了?”以往人们在 30 岁才到来的中年危机,这种焦虑已经提前发生在 25 岁甚至刚毕业、还没毕业的年轻人身上。整个社会不停地转折、变化、动荡着,如同一架高速运转的机器。处在学校和职场的夹缝中的大厂实习生,如同这架机器的神经末梢,还没成为主要动力,就

区块链水龙头以及常用浏览器地址_xuxizhou1994的博客-程序员资料

1. 比特币BTC水龙头:https://coinfaucet.eu/en/btc-testnet/正式网浏览器地址:https://btc.com/https://explorer.bitcoin.com/btchttps://chain.so/btchttps://live.blockcypher.com/btc/https://www.blockchain.c...

随便推点

flutter踩坑记录(二)--基本使用及原生flutter交互篇_努力为明天的博客-程序员资料

flutter踩坑记录目录flutter踩坑记录(一)--项目准备阶段 https://blog.csdn.net/hjr365708064/article/details/95454939flutter踩坑记录(三)-- 项目打包https://blog.csdn.net/hjr365708064/article/details/95473183通过上一篇的踩坑记录(一),我...

javaw java 区别,java和javaw之间的区别_喝前尧一尧的博客-程序员资料

I searched to know the difference between java.exe and javaw.exe. I read throughDifference between Java.exe and Javaw.exe.There it is stated that java.exe is for console and javaw.exe is for window ap...

知识点-SpringAOP_盐仓的博客-程序员资料

Spring AOP是什么?我们知道Java是一个面向对象(OOP)的语言,但它有一些弊端,比如当我们需要为多个不具有继承关系的对象引入一个公共行为,例如日志、权限验证、事务等功能时,只能在在每个对象里引用公共行为。这种方式不利于长期维护,且会造成大量重复代码,AOP就可以来弥补OOP的不足,代理模式比如A对象要做一件事情,在没有代理前,自己来做;在对 A 代理后,由 A 的代理类 B 来做。代理其实是在原实例前后加了一层处理,这也是 AOP 的初级轮廓。静态代理原理及实践...

经典Android开发教程!面试字节跳动两轮后被完虐,附面试题答案_程序员Sunbu的博客-程序员资料

前言说起IT行业,大多数人脑海里反应出的第一个标签一定是“高薪”,而说起程序员,大家更多想到的可能是:秃顶、木讷、格子衫;加班多、能赚钱、不花钱;没对象……这难道就是传说中的“国际驰名双标”?程序员难道就不是IT 行业的?上面的都还不是最让人担心的,关键是,网上还有很多人说“程序员在互联网行业里面是吃青春饭的,干到35岁就会被行业淘汰掉”。这下子戳到了大家心里的痛点。为何现在Android应用开发这么难找到工作?随着资本的冷却,整个互联网市场也逐渐的冷静下来.Android应用开发从一开.

《SQL Server 2005实现与维护》之 配置SQL Server 2005_weixin_30664615的博客-程序员资料

一 .配置日志文件和数据文件1. 数据文件分为两种:主数据文件(.mdf):包含数据库目录的启动信息,并且指向其他数据库文件。次数据文件(.ndf):可选的并且是用户定义的,它包含对象和用户数据。通常这样使用他们:将数据库目录存放在主要文件上,将所有的数据和对象存储在次要文件上。2. 数据文件可以分组,称为文件组。通常支持两种文件组:主要文...

计算机专业社会实践报告1500字,计算机专业社会实践报告范文3000字_weixin_39807541的博客-程序员资料

3.每一份影像拷贝(TitleCopy)都有各自的编号Id,同一个影像的若干拷贝编号不同,但是不同的影像拷贝的编号可能会重复。必须记录下是否已经出租,以便于店员随时能够查询拷贝资料的当前状态(status)。4.系统中允许会员预定某项影像资料,但必须提前预约租赁时间(res_date)。5.每一项出租事项需要记录下来(租借日期book_date,实际归还日期act_ret_date,过期时间(ex...

推荐文章

热门文章

相关标签