ELK搭建簡單說明
簡單說明
- 周天陪孩子學習,自己簡單研究了下如何處理
- 不是很系統,僅是能夠展示部分文件的日誌.
- 需要有很多坑需要進行填充.
搭建模式
183 機器上面安裝上 kibana 以及 ES
180 的機器上面安裝logstash
181 的機器也是安裝logstash
兩臺機器用於發送數據到ES然後交由kinaba顯示
暫時沒有使用filebeat. 感覺不如loki好用
遇到的問題以及解決
1. 遇到問題
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
2. 解決問題的方式
ln -s /etc/logstash /usr/share/logstash/config
獲取安裝介質
elasticsearch-7.14.0-x86_64.rpm
filebeat-7.9.1-x86_64.rpm
kibana-7.14.0-x86_64.rpm
logstash-7.14.0-x86_64.rpm
安裝ES
- 目標機器183
- 注意需要創建目錄
/data/eslog
以及 /data/esdata
- 注意需要賦予權限
chown elasticsearch:elasticsearch /data -R
修改配置文件
vim /etc/elasticsearch/elasticsearch.yml
需要修改的事項:
#集羣名
cluster.name: es_server
#node名
node.name: appnode01
#數據目錄
path.data: /data/esdata
#日誌目錄
path.logs: /data/eslog
network.host: 0.0.0.0
http.port: 9200
#集羣master需要和node名設置一致
cluster.initial_master_nodes: ["appnode01"]
- 設置完成之後啓動ES
systemctl enable elasticsearch && systemctl restart elasticsearch
安裝ElasticSearch的head插件
- 這個插件應該不是必須,不過便於進行查看ES的信息
- 注意修改配置文件ElasticSearch纔可以訪問head.
修改配置文件:
vim /etc/elasticsearch/elasticsearch.yml
在最後面添加內容爲:
http.cors.enabled: true
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, X-User"
安裝ES插件
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
注意存放路徑:
可以也放在/data 路徑下
對兩個文件進行解壓縮即可.
注意需要將node的bin文件夾路徑放置到 環境變量了裏面去
需要在 elasticsearch-head-master 路徑下執行安裝
npm install -g grunt-cli
npm install -g grunt
注意不能隨意更換下載好的路徑,不然那安裝好的modular可能會失效.
安裝ES插件
- 修改配置文件
- 注意需要修改head插件的配置,不然無法進行連接
vim /data/elasticsearch-head-master/Gruntfile.js
在keepalive:true的後面添加一個 逗號
然後添加 hostname: *
注意需要保持yaml文件的配置, 注意空格等信息.
vim /data/elasticsearch-head-master/_site/app.js
可以查找 9200 的字樣,然後將地址修改爲自己的ES的地址
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.110.82.183:9200";
以上爲示例.
安裝ES插件
wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
注意需要將這個文件放置到
/tmp/phantomjs 目錄下
可以使用其他機器下載,避免文件下載不到安裝失敗.
安裝ES插件
cd /data/elasticsearch-head-master
npm install
# 注意可能需要執行較長的時間
之後在當前目錄下運行
grunt server &
- 在
10.110.82.183:9200
可以看到head插件
安裝ES插件
- 可以進行查看
- 注意裏面可以有不同的內容
安裝Kibana
vim /etc/kibana/kibana.yml
注意需要修改的內容主要如下:
server.port: 5601
server.host: "0.0.0.0"
server.name: "kibana01"
elasticsearch.hosts: ["http://10.110.82.183:9200"]
kibana.index: ".kibana"
- 啓動kibana即可
systemctl enable kibana && systemctl restart kibana
- 可以使用
10.110.82.183:5601
進行查看.
安裝logstash查看日誌
- 也是使用rpm包進行安裝,可以自定義一個配置文件用於發送數據
ln -s /etc/logstash /usr/share/logstash/config
vim /etc/logstash/conf.d/file.conf
內容爲:
input{
file{
path => ["/app/server/log/app.log"]
type => "app-log"
start_position => "beginning"
}
}
filter{
}
output{
elasticsearch{
hosts => ["10.110.82.183:9200"]
index => "app-log-%{+YYYY.MM}"
}
}
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/file.conf &
Kibana進行日誌展示
- 可以登錄
9100
查看ES的head能夠看到新增的一個logstash信息
- 可以登錄
5601
進行設置 方式如下:
- 第一步打開界面 使用kibana的設置
Kibana進行日誌展示
- 進入管理設置, 選擇Stack管理
- 注意需要進入具體的設置界面
Kibana進行日誌展示
- 需要進入右側的 Create index.
- 注意需要下面有前綴信息.
Kibana進行日誌展示
- 設置好只有可以進入控制面板查看discover 進行查看日誌
- 注意可以有不同的index進行展示.
Kibana進行日誌展示
- 進入下一個界面就可以正常展示日誌信息了
- 注意可以點擊查看具體信息,也可以通過下拉列表更改log