ELK 搭建部署


ELK 部署

主節點

倆台服務器, 這是主服務器

安裝 JAVA 環境

yum list java*
yum list java-1.8*
yum install java-1.8.0-openjdk* -y
java -version

配置防火牆規則

firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --reload

安裝GPG key

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

更新YUM 包

yum clean all
yum makecache

安裝 Elasticsearch

# 1 下載
wget https://artifacts.elastic.co/packages/7.x/yum/7.2.0/elasticsearch-7.2.0-x86_64.rpm
# 2 安裝
rpm -ivh elasticsearch-7.2.0-x86_64.rpm
# 3 確認
rpm -qi elasticsearch
# 4 啟動
systemctl daemon-reload
systemctl start elasticsearch
## 開機啟動
systemctl enable elasticsearch
#5 測試
curl localhost:9200

配置 Elasticsearch

vim /etc/elasticsearch/elasticsearch.yml

cluster.name: my-application
node.name: master
network.host: 0.0.0.0
ttp.port: 9200
cluster.initial_master_nodes: ["master", "node-2"]
# 重啟 es
systemctl stop elasticsearch
systemctl start elasticsearch
# 瀏覽器訪問
http://ip:9200

 

安裝 Kibana

wget  https://artifacts.elastic.co/packages/7.x/yum/7.2.0/kibana-7.2.0-x86_64.rpm 
rpm -ivh kibana-7.2.0-x86_64.rpm

確認 Kibana 信息

rpm -qi kibana

systemctl start kibana
systemctl enable kibana

測試訪問

curl localhost:5601 -L

修改配置文件

vim /etc/kibana/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

啟動 Kibana

systemctl stop kibana
systemctl start kibana

# 瀏覽器訪問
http://ip:5601

 

安裝 Logstash

wget https://artifacts.elastic.co/packages/7.x/yum/7.2.0/logstash-7.2.0.rpm
rpm -ivh logstash-7.2.0.rpm

確認安裝信息

rpm -qi logstash

啟動 Logstash

注意, 這里 JAVA 如果還沒有安裝 就不會成功, 會抱錯的

systemctl start logstash
# 查看運行狀態
systemctl status logstash
ps -ef | grep logstash
netstat -nlpt

做一個 簡單的 測試

systemctl stop logstash
# input 輸入, output 輸出
# 回車之后 卡頓狀態 隨機輸入一點字符 在回車
/usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'

 

# 案例 2
# 注意 , 需要在 /root 目錄下創建一個 test.log 文件
cat test.conf
input {
   file {
       path => ["/root/test.log"]
       sincedb_path => "/dev/null"
       start_position => "beginning"
  }
}
filter {
}
output {
   elasticsearch {
       hosts => ["http://localhost:9200"]
  }
}

# 執行命令
cd /root
/usr/share/logstash/bin/logstash -f test.conf

 

查看索引

http://masterIp:9200/_cat/indices?v index

查看數據

http://masterIP:9200/logstash-2020.07.20-000001/_search (這里就有你 test.log 中的日志文件)

訪問 URL

http://masterIp:5601

 

就會展示到你日志中的日志

 

 

 

 

如何漢化

vi /etc/kibana/kibana.yml
i18n.locale: "zh-CN"
# 重啟.
systemctl restart kibana

添加密碼

# 隨機生成
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
# 手動添加
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive


# vi /etc/kibana/kibana.yml
elasticsearch.username: "xxx"
elasticsearch.password: "xxx"

訪問

注意手動添加密碼 訪問 kibana 出現 403 使用 es 的密碼

到這里就結束。

 

 

從節點搭建

需要有 JAVA 環境

引入 GPG

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

更新 Yum 包

yum clean all
yum makecache

安裝 Logstash

systemctl stop firewalld
systemctl disable firewalld

wget  https://artifacts.elastic.co/packages/7.x/yum/7.2.0/logstash-7.2.0.rpm

配置

input {
   file {
       # 可以使用 * 號
       # 比如想用 /home/logs/*.log 所有日志
      path => "/xxx/xxx/xxx.log"
      # 生成隨機文件, 這里直接交給黑洞文件
      sincedb_path => "/dev/null"
      start_position => "beginning" #logstash 從什么位置開始讀取文件數據,默認是結束位置,也就是說 logstash 進程會以類似 tail -F 的形式運行。 如果你是要導入原有數據,把這個設定改成"beginning",logstash 進程就從頭開始讀取,類似 less +F 的形式運行。
  stat_interval => "2" #logstash 每隔多久檢查一次被監聽文件狀態(是否有更新) ,默認是 1 秒。
  }
}
filter {
}
output {
  elasticsearch {
      hosts => ["http://masterIP:9200"]
      # 如果程序以及跑通之后, 沒有數據。 就要攜帶密碼和賬號了
  user => "xxxx"
      password => "xxx"
       
  }
}

啟動

# 后台啟動
/usr/share/logstash/bin/logstash -f xxxx.conf &>/dev/null &

訪問

http://masterIP:5601

查看 日志 就可以看到你所更新的日志了

具體詳細參數可以看官方文檔。

 

到此搭建完畢

 https://www.yuque.com/docs/share/8a820cf3-c1cf-4755-940a-2a093913bf19?#(密碼:baf9) 《elk搭建》


免責聲明!

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



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