天天看點

windows&Linux安裝部署ELKELK

文章目錄

  • ELK
    • ELK介紹
      • Elasticsearch
      • Logstash
      • kibana
    • 安裝
      • JDK
      • 軟體包
      • Elasticsearch
        • 配置elasticsearch
        • 啟動elasticsearch
          • windows啟動
          • linux啟動
      • logstash
        • 解壓
        • 配置logstash
        • 啟動logstash
          • windows啟動
          • linux啟動
      • Kibana
        • linux 解壓kibana
        • windows啟動
        • 進入kibana bin檔案中執行
        • 運作kibana

ELK

ELK介紹

ELK由Elasticsearch、Logstash和Kibana三部分元件組成;

Elasticsearch

lasticsearch是個開源分布式搜尋引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多資料源,自動搜尋負載等。

Logstash

是一個完全開源的工具,它可以對你的日志進行收集、分析,并将其存儲供以後使用

kibana

一個開源和免費的工具,它可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您彙總、分析和搜尋重要資料日志

安裝

嘗試了 幾個版本的安裝方式都是差不多的。

本人伺服器不行,故以windows安裝了。。。

https://www.elastic.co/downloads 官網

下載下傳安裝的elk一定要是相同版本的。

windows&Linux安裝部署ELKELK

JDK

yum install -y java-1.8.0-openjdk   --安裝jdk (會自動安裝jdk相關的配置)
           
windows&Linux安裝部署ELKELK

軟體包

将下載下傳的elk上傳到伺服器

windows&Linux安裝部署ELKELK

Elasticsearch

cd	/usr/local/tools
tar	zxf elasticsearch-6.5.0.tar.gz    --解壓elasticsearch
mv elasticsearch-5.4.1 /usr/local/elasticsearch  --将elasticsearch重命名移動到其它目錄
cd /usr/local/elasticsearch/config/
           

配置elasticsearch

編輯elasticsearch.yml

windows&Linux安裝部署ELKELK

正常配置 伺服器更改ip以及data&logs 路徑

discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-3"] --參數設定一系列符合主節點條件的節點的主機名或 IP 位址來引導啟動叢集
path.data: D:/search7.12.0/elasticsearch-7.12.0/data --資料存儲路徑
path.logs: D:/search7.12.0/elasticsearch-7.12.0/logs --日志存儲路徑 
bootstrap.memory_lock: false       --為true鎖定記憶體位址&false不鎖定
bootstrap.system_call_filter: false
node.name: node-3     --節點名
node.master: true     --是否為主節點
network.host: 127.0.0.1   --ip
http.cors.enabled: true  --是否支援跨域,預設為false不支援
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
http.cors.allow-credentials	--是否傳回設定的跨域Access-Control-Allow-Credentials頭,如果設定為true,那麼會傳回給用戶端。
           

配置完成之後啟動elasticsearch

啟動elasticsearch

windows啟動

windows點選bin目錄下的

linux啟動
./bin/elasticsearch &      --啟動es
           
windows&Linux安裝部署ELKELK
windows&Linux安裝部署ELKELK

啟動成功之後通路

windows&Linux安裝部署ELKELK

logstash

linux再将lonstash解壓到對應目錄下之後

解壓

tar –zxvf logstash-7.12.0.tar.gz   
           
windows&Linux安裝部署ELKELK

配置logstash

在bin建立一個.conf檔案,輸入以下配置資訊

input {
    jdbc {
      # 資料庫
      jdbc_connection_string => "jdbc:mysql://59.110.240.77:3306/infomation"
      jdbc_user => "fetter"
      jdbc_password => "fetter"
      # mysql驅動解壓的位置
      jdbc_driver_library => "E:/Download/mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"
       # mysql驅動類
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      #可以使用sql檔案的方式
      #statement_filepath => ""
      #要同步的表
      statement => "select id,username,password,dev_mac from user"
      schedule => "* * * * *"
      #索引type
      type => "tag"
      #索引設定時區
      jdbc_default_timezone => "Asia/Shanghai"
    }
}

output {
    elasticsearch {
        hosts => "http://127.0.0.1:9200"
	#索引名稱
        index => "myindex"
        document_id => "%{id}"
	#輸出的索引type此處表示上面的tag
       "document_type" => "%{type}"
    }
    stdout {
        codec => json_lines
    }
}
           
windows&Linux安裝部署ELKELK

下面的輸出會将對應的日志輸出到對應ip的es之上。

啟動logstash

windows啟動

windows下cmd執行bin目錄之下建立.conf檔案啟動

windows&Linux安裝部署ELKELK
linux啟動
./bin/logstash -f bin/pg.conf &  --加& 表示離線運作
nohup ./bin/logstash -f bin/pg.conf &  --加nohup表示扔到背景運作
           
windows&Linux安裝部署ELKELK

啟動成功之後檢視logstash

http://localhost:9100

windows&Linux安裝部署ELKELK

Kibana

linux 解壓kibana

windows&Linux安裝部署ELKELK

這裡的配置不用修改,直接預設啟動。

windows啟動

windows直接點選bin目錄之下的kibana.bat

windows&Linux安裝部署ELKELK
windows&Linux安裝部署ELKELK

linux啟動

進入kibana bin檔案中執行

./bin/kibana &  --&表示kibana背景運作
           

運作kibana

通路預設的5601端口,上面能看到采集到的日志

http://localhost:5601

windows&Linux安裝部署ELKELK
windows&Linux安裝部署ELKELK
elk