centos7 elk7.1.1安裝與使用


官方文檔又全是英文,看起來很費勁。只能各種查其他的博客以及結合官方文檔看了。

我的系統是centos7 首先將防火牆以及selinux關閉。

根據官方文檔的說明先安裝Elasticsearch 

1.安裝java環境

  1.1在/etc/profile下添加環境變量 我的環境標量如下:

    export JAVA_HOME=/home/jdk1.8.0_181

    export CLASSPATH=:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

  1.2讓環境變量生效 source /etc/profile

2.安裝Elasticsearch 

  因為官方要求Elasticsearch 必須在非root賬戶下運行,所以需提前創建好賬戶。

  2.1 下載Elasticsearch 及md5檢驗碼

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz #我的統一放在/home 目錄下

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz.sha512 #官方下載的安裝包一般都沒問題,這個可以不用下載

    2.1.1 校驗安裝包完整性

      shasum -a 512 -c elasticsearch-7.1.1-linux-x86_64.tar.gz.sha512 #提示沒有改命令直接yum安裝yum install perl-Digest-SHA

  2.2 更改文件目錄所有者及啟動前相關配置

    2.2.1 需要將/home/elasticsearch-7.1.1目錄所有者改為非root用戶 chown -R wangsu elasticsearch-7.1.1/ 

    2.2.2 修改/home/elasticsearch-7.1.1/config/elasticsearch.yml我的配置文件如下:

      

 
         

cluster.name: my-es
node.name: node-1
path.data: /home/elasticsearch-7.1.1/data
path.logs: /home/elasticsearch-7.1.1/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
#discovery.seed_hosts: ["10.3.190.25"]
cluster.initial_master_nodes: ["node-1"]
gateway.recover_after_nodes: 1
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

 

    2.2.3因為還沒有data目錄和logs目錄(有的話不用管)需要手動創建。

    2.2.4在/etc/sysctl.conf下增加vm.max_map_count=655360 不然啟動elasticsearch-7.1.1的時候會報錯 這個值大於262144即可;/etc/security/limits.conf下添加如下

      

* soft      nofile        65536
* hard     nofile       131072
* soft      nproc       2048
* hard     nproc      4096
#注:星號需添加上

  2.3啟動elasticsearch

    到elasticsearch目錄下執行./bin/elasticsearch啟動后通過web登錄界面端口號默認9200

3、安裝head插件

 因為ES返回的json結構,就是上面我們看到的字符串。head插件就是提供了友好的web界面

  3.1head下載https://github.com/mobz/elasticsearch-head/archive/master.zip下載之后將其上傳到elasticsearch同級目錄下。

  3.2安裝node.js

    sudo curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -

    sudo yum install nodejs

    修改配置文件,cd進入elasticsearch-head-master 文件夾下,執行命令sudo vim Gruntfile.js文件:增加hostname屬性,設置為*。這里打開js文件后,完全看不懂應該怎么添加,於是問了下搞前端的同事。告知說加載到initConfig試試,如下所示(注意:true后面要添加個逗號):

 

 

 

    修改sudo vim _site/app.js 文件:修改head的連接地址:http://10.3.190.25:9200。這個app.js文件里面內容實在太多,我查找到一個http://localhost:9200,於是便將其改為自己的主機ip,大概在4360行的位置
    

  3.3、grunt server & 后台啟動

    啟動的時候提示未找到命令-----"bash: grunt: 未找到命令"。好的,通過提示找解決辦法。sudo npm install -g grunt-cli安裝成功后即可執行grunt server &

    能執行歸能執行,可是執行的時候又報錯了,信息如下,繼續找解決辦法。。

    

     sudo npm install grunt --save-dev執行該命令后繼續報錯

    

    后面的報錯就沒有貼出來了

    繼續安裝下面的包

    npm install node_modules

    npm install grunt-contrib-clean
    npm install grunt-contrib-concat
    npm install grunt-contrib-watch
    npm install grunt-contrib-connect
    npm install grunt-contrib-copy
    npm install grunt-contrib-jasmine

     在瀏覽器端輸入10.3.190.25:9100顯示如下,即安裝成功(截圖是因為后來又裝了kibana才顯示有兩個,本來是0 of 0)。

  

 

4、安裝kibana

  4.1、下載安裝包到/home目錄及解壓:wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-linux-x86_64.tar.gz

  4.2、修改kibana配置文件以及環境變量export KIBANA_HOME=/home/kibana-7.1.1-linux-x86_64,我的配置文件如下:

    

  4.3、啟動kibana----./bin/kibana並在瀏覽器測試http://10.3.190.25:5601,安裝成功后顯示的頁面如下:

    

5、安裝logstash

  5.1、下載安裝包sudo wget https://artifacts.elastic.co/downloads/logstash/logstash-7.1.1.tar.gz (速度太慢,我是用迅雷下載好后再上傳的)

  5.2、啟動logstashsudo ./bin/logstash 

    5.2.1啟動的時候一直報錯java環境變量也沒問題。找了一下午資料也沒找到,后來被告知是要添加個軟連接比如我的是ln -s /home/jdk-12.0.1/bin/java /bin/java

  5.3、在啟動后在es head中查看顯示黃色,查找資料后再kibana中設置,pskibana設置成中文界面:在配置文件中添加i18n.locale: "zh-CN",重啟即可生效。

  

 

6、添加日志

  6.1 添加一個日志

    在logstash/conf目錄下創建systemlog.conf文件,並寫入以下內容。注:需要修改/var/log/messages權限,例如改為644。

      

input {
file {
  path => "/var/log/messages"
  type => "systemlog"
  start_position => "beginning"
  stat_interval => "2"
  }


}

output {
  elasticsearch {
   hosts => ["10.3.190.25:9200"]
   index => "logstash-systemlog-%{+YYYY.MM.dd}"

}


}

    用./logstash/bin/logstash -f ./logstash/config/systemlog.conf -t (-f 指定文件,-t測試)測試配置文件是否正常。正常按該文件啟動,然后在kibana中添加索引既可以查看。

   6.2添加交換機巡檢結果

    結合python對交換機的自動巡檢,並將巡檢內容添加到elk中,logstash配置如下。

    

input {
  file {
    path => "/home/wangsu/szns-kjy4f-acs-05.txt"
    type => "4f_05"
    start_position => "beginning"
    stat_interval => "2"
  }
  file {
    path => "/home/wangsu/szns-kjy4f-acs-06.txt"
    type => "4f_06"
    start_position => "beginning"
    stat_interval => "2"  
  }

}

output {
  if [type] == "4f_05"{
  elasticsearch {
   hosts => ["10.3.190.25:9200"]
   index => "szns-kjy4f-acs-05-%{+YYYY.MM.dd}"

  }}
  if [type] == "4f_06"{
  elasticsearch{
    hosts => ["10.3.190.25:9200"]
    index => "szns-kjy4f-acs-06-%{+YYYY.MM.dd}"
  }

  }


}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM