elk日誌收集平臺搭建記錄


    ELK是指Elasticsearch + Logstash + Kibaba三個組件的組合。node

    Elasticsearch是個開源分佈式搜索引擎,它的特色有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。linux

    Logstash是一個徹底開源的工具,他能夠對你的日誌進行收集、過濾,並將其存儲供之後使用(如,搜索)。
c++

    Kibana 也是一個開源和免費的工具,它Kibana能夠爲 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,能夠幫助您彙總、分析和搜索重要數據日誌。
git

    搭建前準備:
github

    一、建立一個本地賬號elasticsearch和elasticsearch組;npm

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

    三、#vi /etc/security/limits.d/90-nproc.confcentos

        root       soft    nproc     unlimited安全

    四、vi /etc/sysctl.confrestful

        kernel.msgmnb = 65536

        kernel.msgmax = 65536

        kernel.shmmax = 68719476736

        kernel.shmall = 4294967296

    步驟2-4是開啓最大文件限制等操做

    搭建過程:

    因爲沒有集羣,本次實驗是在一臺centos 6.5系統上搭建的,elk版本爲5.4.0。

    elk安裝

    一、機器的JAVA版本最低要求爲1.8.0,centos 7自帶JAVA1.8.0,centos 6.5的可在百度或者谷歌查找安裝過程,並不難;

    二、在官網https://www.elastic.co/downloads下載Elasticsearch、Logstash、Kibana。我下載的是tar包。

    三、解壓至/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}"

                        }

                       }

相關文章
相關標籤/搜索