主節點
倆台服務器, 這是主服務器
安裝 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
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
就會展示到你日志中的日志
如何漢化
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 &
訪問
查看 日志 就可以看到你所更新的日志了
具體詳細參數可以看官方文檔。
到此搭建完畢
https://www.yuque.com/docs/share/8a820cf3-c1cf-4755-940a-2a093913bf19?#(密碼:baf9) 《elk搭建》