rpm包部署elk7.3

ELK-7.3本地部署

1、簡介

一、logstash

   logstash是一個數據分析軟件,主要目的是分析log日誌。整一套軟件能夠看成一個MVC模型,logstash是controller層,Elasticsearch是一個model層,kibana是view層。首先將數據傳給logstash,它將數據進行過濾和格式化(轉成JSON格式),而後傳給Elasticsearch進行存儲、建搜索的索引,kibana提供前端的頁面再進行搜索和圖表可視化,它是調用Elasticsearch的接口返回的數據進行可視化。logstash和Elasticsearch是用Java寫的,kibana使用node.js框架。前端

   logstash架構java

2、logstash原理和使用

  ogstash工做時,主要設置3個部分的工做屬性。
  input:設置數據來源
  filter:能夠對數據進行必定的加工處理過濾,可是不建議作複雜的處理邏輯。這個步驟不是必須的
  output:設置輸出目標 node

二、elasticsearch

  Elasticsearch 是一個分佈式、高擴展、高實時的搜索與數據分析引擎。它能很方便的使大量數據具備搜索、分析和探索的能力。充分利用Elasticsearch的水平伸縮性,能使數據在生產環境變得更有價值。Elasticsearch 的實現原理主要分爲如下幾個步驟,首先用戶將數據提交到Elasticsearch 數據庫中,再經過分詞控制器去將對應的語句分詞,將其權重和分詞結果一併存入數據,當用戶搜索數據時候,再根據權重將結果排名,打分,再將返回結果呈現給用戶。 linux

三、kibana數據庫

  Kibana是一個針對Elasticsearch的開源分析及可視化平臺,用來搜索、查看交互存儲在Elasticsearch索引中的數據。使用Kibana,能夠經過各類圖表進行高級數據分析及展現。bootstrap

  Kibana讓海量數據更容易理解。它操做簡單,基於瀏覽器的用戶界面能夠快速建立儀表板(dashboard)實時顯示Elasticsearch查詢動態。vim

2、環境部署

一、部署規劃

應用 版本 節點
logstash 7.3 192.168.11.11
elasticsearch 7.3 192.168.11.十一、192.168.11.十二、192.168.11.13
kibana 7.3 192.168.11.13

安裝包下載地址:連接:https://pan.baidu.com/s/17BeXEOIAWCTcr-qCI_1cpA 提取碼:9uk4跨域

二、環境準備

(1)修改文件限制
vi /etc/security/limits.conf

增長的內容
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
* soft memlock unlimited
* hard memlock unlimited
(2)調整進程數
vi /etc/security/limits.d/20-nproc.conf

調整成如下配置
*          soft    nproc     65535
root       soft    nproc     unlimited
(3)調整虛擬內存&最大併發鏈接
vi /etc/sysctl.conf
增長的內容
vm.max_map_count=655360
fs.file-max=655360
(4)重啓系統後生效
reboot
(5)開放端口
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
從新加載防火牆規則
firewall-cmd --reload
或
systemctl stop firewalld
systemctl enable firewalld
(6)開放建立存儲目錄
mkdir /data01/elk/

三、java環境部署

yum -y install  jdk-8u162-linux-x64.rpm
#查看java版本
java -version

四、logstash部署

#一、rpm包安裝
yum -y install logstash-7.3.0.rpm

#二、修改配置文件
cp logstash.yml{,.bak}
#改後 logstash.yml
path.data: /data01/elk/logstash/data
pipeline.workers: 4
pipeline.batch.size: 1024
path.config: /data01/elk/logstash/config/conf.d
path.logs: /data01/elk/logstash/logs
http.host: "0.0.0.0"
http.port: 9600

#改後 startup.options文件  可選擇不改
LS_PIDFILE=/data01/elk/logstash/logstash.pid
LS_GC_LOG_FILE=/data01/elk/logstash/logs/gc.log

#、可根據主機內存大小,適當調整一下參數
vim   jvm.options
-Xms1g
-Xmx1g

  建立對應的路徑瀏覽器

mkidr  -pv /data01/elk/logstash/{data,logs,config}
chown -R 1000:1000 /data01/elk/logstash

  啓動logstash架構

systemctl start logstash
systemctl enable logstash

五、elasticsearch部署

  本次是3master3節點的部署

安裝elasticsearch

yum -y install elasticsearch

配置elasticsearch

#elasticsearch.yml
cluster.name: elk
node.name: elk02
# 自定義屬性添加到節點上
node.attr.rack: r1

node.master: true
#node.voting_only: true
node.data: true
#node.ingest: true
#node.ml: false
#開啓監控xpack
xpack.monitoring.enabled: true
#機器學習關閉
xpack.ml.enabled: false
# 是否使用http協議對外提供服務,默認爲true,開啓
#http.enabled: true

cluster.remote.connect: false
path.data: /data01/elasticsearch/lib,/data02/elasticsearch/lib
path.logs: /data01/elasticsearch/logs
#鎖定物理內存地址,防止es內存被交換出去,也就是避免es使用swap交換分區,頻繁的交換,會致使IOPS變高
bootstrap.memory_lock: true
network.host: 192.168.11.12
http.port: 9200
##discovery.zen.ping.unicast.hosts舊版配置
discovery.seed_hosts: ["192.168.11.11","192.168.11.12","192.168.11.13"]
#Elasticsearch7新增參數,寫入候選主節點的設備地址,來開啓服務時就能夠被選爲主節點
cluster.initial_master_nodes: ["192.168.11.11","192.168.11.12","192.168.11.13"]
# 設置集羣中N個節點啓動時進行數據恢復,默認爲1。
gateway.recover_after_nodes: 2
#設置是否能夠經過正則或者_all刪除或者關閉索引
action.destructive_requires_name: true

network.tcp.no_delay: true
network.tcp.keep_alive: true
network.tcp.reuse_address: true
network.tcp.send_buffer_size: 128mb
network.tcp.receive_buffer_size: 128mb
#transport.tcp.port: 9301
transport.tcp.compress: true
http.max_content_length: 200mb
#開啓跨域訪問
http.cors.enabled: true
http.cors.allow-origin: "*"

cluster.fault_detection.leader_check.interval: 15s
discovery.cluster_formation_warning_timeout: 30s
cluster.join.timeout: 120s
cluster.publish.timeout: 90s
cluster.routing.allocation.cluster_concurrent_rebalance: 16
cluster.routing.allocation.node_concurrent_recoveries: 16
cluster.routing.allocation.node_initial_primaries_recoveries: 16

  另外兩個只須要修改node.name ,network.host爲相應的節點

讓init啓動的程序解除限制,和系統limit一致

sed -i  39c\LimitMEMLOCK=infinity   /usr/lib/systemd/system/elasticsearch.service

建立相應目錄

mkdir -pv /data01/elk/elasticsearch/{lib,logs}
chown -R elasticsearch:elasticsearch /data01/elk/elasticsearch

啓動elasticsearch服務

#重載系統服務
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch

六、kibana部署

安裝kibana

yum -y install  kibana-7.3.0-x86_64.rpm

配置kibana

  注:修改配置最好先備份後修改

#vim kibana.yml
server.port: 5601
server.host: "192.168.11.13"
elasticsearch.hosts: ["http://192.168.11.12:9200"]
i18n.locale: "zh-CN"

啓動kibana

systemctl start kibana
systemctl enable kibana

排錯可經過如下方式排查

journalctl -u elasticsearch -f
tail -500f /data01/elk/elasticsearch/logs/elk.log
相關文章
相關標籤/搜索