天天看點

ELK Stack7.2系列軟體windows安裝和配置

         官網下載下傳頁:ELK 官網

一、ElasticSearch

          ES運作基于JVM,需要Java支援:JDK:Java version 1.8.0_131 or a later version,本人下載下傳安裝了1.8.0.161,安裝指南,建議JDK的安裝路徑不要有空格等其他字元,以免後面遇到問題(本人就在後面的Logstash安裝中,因為JDK路徑問題而遇到麻煩)。把.\elasticsearch-7.2.0\bin添加環境變量PATH。

          啟動測試:CMD: 進入elasticsearch\bin,打開elasticsearch.bat,通路:http://localhost:9200/,看到json資訊即啟動成功。

          為了能夠在外面通過完整URL通路,需要設定:\elasticsearch-6.2.3\config\elasticsearch.yml, #network.host: 0.0.0.0。

          另外,config\elasticsearch.yml這裡可以修改叢集的名字和節點的名字

          解決elasticsearch.bat指令行運作視窗中文亂碼問題:

          修改conf下面的jvm.options如下

# ensure UTF-8 encoding by default (e.g. filenames)

#-Dfile.encoding=UTF-8

-Dfile.encoding=GBK
           

二、kibana

       下載下傳、解壓,配置kibana.yml:elasticsearch.hosts: ["http://localhost:9200"](去掉#即可)

       配置環境變量       

啟動./bin/kibana.bat
# 背景運作
nohup ./kibana &


通路:http://localhost:5601
           

       通路:http://localhost:5601

       為了能夠在外面通過完整URL通路,需要設定:kibana.yml:#server.host: "0.0.0.0"即可

插件安裝

./bin/kibana-plugin install plugin-location
./bin/kibana-plugin list
./bin/kibana remove
           

三、Logstash安裝

       由于JAVA_HOME路徑中有空格,需要修改一下logstash.bat檔案,導航到52行,把%CLASSPATH%修改     為"%CLASSPATH%"。這個問題,這個部落格解釋得比較清楚:https://www.cnblogs.com/sbj-dawn/p/8549369.html

       Inputs,Outputs,Codecs,Filters構成了Logstash的核心配置項。

       建立std.conf檔案,放到logstash\bin\conf目錄下,std.conf檔案添加以下内容:

input { 
    stdin { } 
}

output {
     stdout { }
}

input是指資料來源地,stdin{}指從鍵盤輸入;
output 是指資料目的地,stdout{}指輸入到螢幕。
           

cmd:bin/logstash -f conf\std.conf  啟動logstash。

如果設定多個配置檔案.conf,把它們放到一個檔案夾裡面,啟動的時候指到這個檔案夾,logstash啟動的時候都會把它們編譯成一個檔案,并且隻有一個pipeline運作。

将oracle安裝目錄下的ojdbc7.jar拷貝到logstash-6.2.3/lib目錄下(此包是同步oracle資料庫的驅動程式)

以下是我連接配接oracle的配置檔案logstash_jdbc_oracle.conf,配置檔案也放到logstash-6.2.3/lib目錄下

input{
    stdin{}
    jdbc{
        jdbc_connection_string => "jdbc:oracle:thin:@//192.168.1.100:1521/GZGA_GIS"
        jdbc_user => "JC_G"
        jdbc_password => "password"
        jdbc_driver_library => "E:\mysever\ES\logstash-6.2.3\bin\ojdbc7.jar"
        jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
        record_last_run => "true"
        use_column_value => "false"
        tracking_column => "systemid"
        clean_run => "false" 
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        statement =>"select * from _G.G.ZJD"
        schedule => "* * * * *"
    }
}
output{
    elasticsearch{
        hosts => "localhost:9200"
        index => "ts001"
        document_id => "%{systemid}"
    }
    stdout{
        codec =>"json_lines"
    }
}
           

     可以直接寫sql表達語句,也可以建立sql腳本對應配置腳本中的statement_filepath:jdbc_oracle.sql,腳本中寫sql語句即可

在logstash/bin下啟動程式: ./logstash -f logstash_jdbc_oracle.conf,

總結:

      logstash是一個資料分析軟體,主要目的是分析log日志。整一套軟體可以當作一個MVC模型,logstash是controller層,Elasticsearch是一個model層,kibana是view層。

      将資料傳給logstash,它将資料進行過濾和格式化(轉成JSON格式),然後傳給Elasticsearch進行存儲、建搜尋的索引,kibana提供前端的頁面再進行搜尋和圖表可視化,它是調用Elasticsearch的接口傳回的資料進行可視化。logstash和Elasticsearch是用Java寫的,kibana使用node.js架構。

繼續閱讀