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/目录下,可直接执行。

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

     

  • 相关阅读:
    数据库字段太多,批量快速建立实体类方法(适合大量字段建立实体类)
    SQL service 中的 ”输入SQL命令窗口“ 打开了 “属性界面” 回到 ”输入SQL命令窗口“
    计算机软件编程英语词汇集锦
    编程常用英语词汇
    svn上传和下载项目
    当启动tomcat时出现tomcat setting should be set in tomcat preference page
    Implicit super constructor Object() is undefined for default constructor. Must define an explicit constructor
    eclipse中选中一个单词 其他相同的也被选中 怎么设置
    Spring Boot的@SpringBootApplication无法引入的问题
    最全的SpringCloud视频教程
  • 原文地址:https://www.cnblogs.com/JasonMa1980/p/7222143.html
Copyright © 2011-2022 走看看