分类: 未分类

  • elk日志收集平台搭建记录

        ELK是指Elasticsearch + Logstash + Kibaba三个组件的组合。

        Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

        Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

        Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

        搭建前准备:

        1、创建一个本地帐号elasticsearch和elasticsearch组;

        2、#vi /proc/sys/fs/file-max,添加797934

        3、#vi /etc/security/limits.d/90-nproc.conf

            root       soft    nproc     unlimited

        4、vi /etc/sysctl.conf

            kernel.msgmnb = 65536

            kernel.msgmax = 65536

            kernel.shmmax = 68719476736

            kernel.shmall = 4294967296

        步骤2-4是开启最大文件限制等操作

        搭建过程:

        由于没有集群,本次实验是在一台centos 6.5系统上搭建的,elk版本为5.4.0。

        elk安装

        1、机器的JAVA版本最低要求为1.8.0,centos 7自带JAVA1.8.0,centos 6.5的可在百度或者谷歌查找安装过程,并不难;

        2、在官网https://www.elastic.co/downloads下载Elasticsearch、Logstash、Kibana。我下载的是tar包。

        3、解压至/usr/loacl,如

            #tar -xf elasticsearch-5.4.0.tar.gz 

            #cp -r /home/cnc/elasticsearch-5.4.0/* /usr/local/elastisearch

        X-PACK安装

            #/usr/local/elastisearch/bin/elasticsearch-plugin install x-pack

            Kibaba的X-PACK安装方法同上

        elasticsearch配置文件修改:

            #vi /usr/local/elasticsearch-5.4.0/config/elasticsearch.yml

            添加如下项:

                http.cors.enabled: true

                http.cors.allow-origin: “*”

                bootstrap.system_call_filter: false

                xpack.security.enabled: false  ##关闭elasticsearch安全机制,不关闭会导致head插件连接不上集群

                network.host: 你的公网IP地址或127.0.0.1

        logstash配置文件修改:

            #vi /usr/local/logstash/config/logstash.yml

            添加如下:

                path.data: /usr/local/logstash-5.4.2/data/   ##数据存放位置,可随意指定也可默认

                path.config: /usr/local/logstash-5.4.2/conf.d  ##配置存放位置,可随意指定

                xpack.monitoring.enabled: true

                xpack.monitoring.elasticsearch.url: 公网IP地址(或127.0.0.1):9200 

                http.host: “(公网IP或127.0.0.1)” 

        kibana配置文件修改:

            #vi /usr/local/kibana/config/kibana.yml

            添加如下:

                http.host: “IP地址”

                elasticsearch.url: “http://IP地址:9200”         

        elastisearch-head插件安装

            所需要的软件:git gcc gcc-c++ node grunt,其中grunt需要用node来安装。centos 6.5安装node建议安装老版本,新版本要求gcc的版本要到最新。cenots 7可以无视。我的系统是centos 6.5所以安装的是nodev6.9.2,下载地址https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.gz

            #yum install -y git

            #git clone git://github.com/mobz/elasticsearch-head.git  ##下载head插件

            #tar -xf node-v6.9.2-linux-x64.tar.gz

            #ln -s node-v6.9.2-linux-x64/bin/node /usr/local/bin/node

            #ln -s node-v6.9.2-linux-x64/bin/npm /usr/local/bin/npm

            #cd elasticsearch-head-master   ##解压head插件包得到的文件

            #npm install -g cnpm –registry=https://registry.npm.taobao.org

            #vi Gruntfile.js

            修改如下选项:

            ​

    wKiom1lcpTnzrwhzAAAUtvwiUlk387.png

    ​ 

            #npm isntall grunt-cli  ##head插件需要用grunt启动

            #grunt server           ##启动head插件

            logstash实例配置:

                收集本地/var/log/messages日志:

                input {

                    file {

                    path => “/var/log/messages”

                    type => “system”

                    start_position => “beginning”

                         }

                    }

                output {

                    elasticsearch {

                hosts => [“IP地址:9200”]

                index => “system-%{+YYYY.MM.dd}”

                                  }

                        }

                收集交换机日志:

                    前提是交换机已配置发送日志功能

                    input{

                        udp{

                        port => 514  

                        type => “switch”

                            }

                          }

                    output{

                        elasticsearch{

                        hosts => [‘202.104.149.44:9200’] 

        index => “switch-%{+YYYY.MM.dd}”

                       }

                           }

  • 世界,您好!

    欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!