zoukankan      html  css  js  c++  java
  • 配置三台服务器组成的ELK集群(二)

    上一篇里主要是介绍了ES和ES-Head的安装过程,这一篇继续介绍ELK集群的其他核心组件安装过程。

    五、安装Logstash:

    本案的Logstash安装在10.113.130.117上;燃鹅,Logstash也可以利用多台组成集群,如果未来单台处理不过来,可以把Logstash扩展到其他服务器上。

    将logstash.tar.gz解压到指定目录:

    # tar -zxvf logstash-5.4.1.tar.gz -C /opt/ 
    
    # mv /opt/logstash-5.4.1/ /opt/logstash/

    logstash三种启动方式,靠参数进行选择:-e sting类型启动,-f 指定配置文件启动,服务启动。

    但我们没有通过yum安装,暂时无法以服务方式启动——需要编写启动脚本。 

    创建简单的配置文件:

    # cd /opt/logstash/config
    # cp sample.conf es-cluster.conf 
    
    # vim /opt/logstash/config/es-cluster.conf
    #参考下面的配置信息,Logstash启动后读取/var/log/messages的文件内容
    input{
        file{
            start_position => "beginning"
            path => ["/var/log/messages "]
            type => 'messagelog'
        }
    }
    
    #然后将文件内容发送给ElasticSearch的目标服务器
    output{ elasticsearch { hosts => ["10.113.130.116:9200"] } }

    完成配置修改后,先启动logstash,看一下运行情况:

    # /opt/logstash/bin/logstash -f /opt/logstash/config/es-cluster.conf &
    
    #如果看到如下信息,表示启动成功:
    [INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>[#<URI::Generic:0x5f86b37e URL://10.113.130.116:9200>]}
    [INFO ][logstash.pipeline] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500}
    [INFO ][logstash.pipeline] Pipeline main started
    [INFO ][logstash.agent] Successfully started Logstash API endpoint {:port=>9600}

    六、安装FileBeats

    当Logstash安装完成后,要实现从应用服务器上收集日志的工作,这个工作如果使用Logstash来执行,也是没有问题的。

    在应用服务器上,按照以上安装Logstash的操作和配置就可以达到目的;但是Logstash安装繁琐,而且如果仅仅作为收集日志的代理,未免太重。

     因此选择官方推荐的FileBeats作为勤劳的工蜂,实现指定文件的扫描、文件内容的收集和发送工作。

     让我们看看是不是在5分钟内能完成FileBeats的安装配置吧:

    # curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.1-x86_64.rpm
    # rpm -vi filebeat-5.4.1-x86_64.rpm

    修改配置文件:

    # vim /etc/filebeat/filebeat.yml 
    
    filebeat.prospectors: 
    
    - input_type: log 
    
      paths:
    - /ane/tomcat/logs/*.log
    #- /ane/tomcat/logs/*.out
    
      input_type: log 
    
    #----------------------------- Logstash output --------------------------------
    
    output.logstash:
    
      # The Logstash hosts
      hosts: ["10.113.130.117:5044"]
      worker: 4

    配置了日志输出到Logstash之后,建议注释掉输出到Elasticsearch的部分。

     启动FileBeats:

     - For CentOS:
    # systemctl start filebeat
    
     - For Redhat 6.5# service filebeat start

    如果采用了FileBeat收集日志文件,则可以关闭Logstath的文件读取,从指定的端口读取数据流。

    登录到Logstash的服务器(10.113.130.117),修改Logstash的配置文件为如下内容:

    # vim /opt/logstash/config/es-cluster.conf
    
    input{
           stdin{}
           beats{port => 5044}
    }
    
    output{
           elasticsearch {
                  hosts => ["10.113.130.116:9200"]
                  index => "logstash-%{+YYYY.MM.dd}"
                  document_type => "%{[@metadata][type]}"
           }
    }

    修改完以后,重启Logstash。

    请注意一个细节:logstash-%{+YYYY.MM.dd},不能写成{+YYYY.MM.DD},不然第二天以后的日期显示不正确!下面展示写错的情况:

    上面图中的logstash-2017.06.170,是6月18日的日志文件的汇总标题。前一天(17日)是正确的,次日就这样了。

     

    七、安装Kibana

    Kibana安装在10.113.130.118上。从官网下载Kibana.tar.gz,解压到/opt目录下:

    # tar -zxvf kibana-5.4.0-linux-x86_64.tar.gz -C /opt/
    
    # mv /opt/kibana-5.4.0-linux-x86_64 /opt/kibana/
    # cd /opt/
    # chown -R elasticsearch:elasticsearch kibana

    修改配置文件

    # cd kibana/
    #
    vim config/kibana.yml #修改如下选项: Server.port: 5601 Server.host: “0.0.0.0” Elasticsearch.url: “10.113.130.116:9200” Kibana.index: “.kibana” Pid.file: /var/run/kibana.pid

    由于kibana文件夹的所有者为Elsticsearch,运行也要以elsticsearch用户身份。

    与Elsticsearch的处理方式类似,创建启动脚本:

    # vim kibana-start.sh
    su - elasticsearch -c "nohup /opt/kibana/bin/kibana> /dev/null 2>&1 &"
    
    # chmod +x kibana-start.sh
    # mv kibana-start.sh /usr/local/bin

    #kibana-start.sh

    Kibana启动以后,在浏览器输入http://10.113.130.118:5601,可以看到如下页面:

     

    八、安装ElasticHD

    ElasticHD 是一款 ElasticSearch的可视化应用。不依赖ES的插件安装,更便捷;导航栏直接填写对应的ES IP和端口就可以操作ES了。目前支持如下功能:

    • ES 实时搜索
    • ES DashBoard 数据可视化
    • ES Index Template (在线修改、查看、上传)
    • SQL Converts to DSL
    • ES 基本查询文档

     详见:https://github.com/farmerx/elasticHD/wiki

    登录到第一台服务器(10.113.130.116),下载对应的elasticHD版本,上传到服务器:

    # unzip xxx_elasticHd_xxx.zip
    # mv ElasticHD /opt/
    # chmod 777 ElasticHD

    可指定ip端口运行elastichd

    # /opt/ElasticHD -p 10.113.130.116:9800 &

    同样,推荐将上方的启动命令,制作成启动脚本eshd-start.sh,并移动到/usr/local/bin/目录下,可直接执行。

    安装成功后,在浏览器输入配置的地址和端口,看到如下画面: 

     

  • 相关阅读:
    js正则表达式——数字校验
    php curl cookie 读写
    Java遍历所有网卡打印对应IP
    mysql 查看数据库大小
    执行mvn 报错 source-1.5 中不支持 diamond运算符
    php开学之环境搭建
    ubuntu漂亮主题
    CleanAop使用笔记
    python学习笔记(五)
    python学习笔记(四)
  • 原文地址:https://www.cnblogs.com/JasonMa1980/p/7222143.html
Copyright © 2011-2022 走看看