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

运维入坑实践之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

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值