我們遇到的問題是日誌太多,如果使用關鍵字報警,日誌裏的error,trace, warning等關鍵字那更是說不過來。所以我們一天的日誌報警量是2千多條,於是就想解決這個問題,發現elk可以很好的處理日誌,還能分析日誌,對收集的日誌,後面進一步處理也是很好的。所以就選擇試用elk
知道用什麼了,那接下來就是部署,試用了。
首先準備
使用的版本, 下載地址:https://www.elastic.co/downloads
項目 | version | 形式 |
---|---|---|
elasticsearch | 6.2.4 | rpm |
kibana | 6.2.4 | rpm |
filebeat | 6.2.4 | rpm |
系統準備
主機名 | 系統 | 安裝服務 |
---|---|---|
host1 | centos7 | elasticsearch+kibana |
host2 | centos7 | elasticsearch |
host3 | centos7 | filebeat |
安裝elasticsearch
1.下載elasticsearch rpm包,安裝(host1+host2)
yum install elasticsearch
2.配置elasticsearch(host1+host2)
vim /etc/elasticsearch/elasticsearch.yml
cluster.name:es
node.name:host1#或者host2
network.host:0.0.0.0
http.port:9200
discovery.zen.ping.unicast.hosts:['host1','host2']
2.安裝x-pack,做安全認證,權限管理(host1+host2)
/usr/share/elasticsearch/bin/elasticsearch-plugininstallx-pack#安裝x-pack
systemctl start elasticsearch#檢查running
/usr/share/elasticsearch/bin/x-pack/setup-passwordsinteractive#使用默認回車,輸入認證密碼比如:elk
3.檢查集羣狀態
curl http://host1:9200/_cluster/health#提示需要賬戶密碼,輸入上一步設置的賬戶密碼
返回結果:
{"cluster_name":"es","status":"green","timed_out":false,"number_of_nodes":2,"number_of_data_nodes":2,"active_primary_shards":17,"active_shards":34
,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0
,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":100.0}
安裝kibana
1.下載kibana rpm包, 安裝(host1)
yum install kibana
2.安裝x-pack
/usr/share/kibana/bin/kibana-plugininstallx-pack
3.配置kibana (host1)
vim /etc/kibana/kibana.yml
elasticsearch.username:"elk"#輸入在安裝elasticsearch的時候設置的賬戶密碼
elasticsearch.password:"elk"
elasticsearch.url:"http://localhost:9200"#設置elasticsearch的地址
4.啓動kibana
systemctl start kibana
5.設置代理
因爲kibana默認啓動的監聽端口是127.0.0.1. 我們可以使用nginx做代理, 安裝nginx就不用說了,說一下nginx的配置
新建文件 /etc/nginx/conf.d/es.conf
server{
listen*:1234;
server_namehost1;
access_log/var/log/nginx/es_access.log;
error_log/var/log/nginx/es_error.log;
location/{
proxy_passhttp://127.0.0.1:5601;
}
}
6.驗證服務正常
在瀏覽器輸入:curl http://host1:1234 #提示輸入賬戶密碼,輸入在 安裝elasticsearch的時候設置的kibana賬戶密碼, 返回正常潔面
安裝filebeat
1.下載fileat rpm包,安裝 host3
yum install filebeat
2.配置filebeat
vim /etc/filebeat/filebeat.yml
filebeat.prospectors:#設置日誌收集
-type:log
enabled:true
paths:
-/var/log/nova/*.log
tags:["nova"]
output.elasticsearch:#設置數據吐到elasticsearch
hosts:["host1:9200"]
protocol:"http"
username:"elk"
password:"elk"
3.啓動服務
systemctl start filebeat
4.驗證服務
打開kibana界面,management > index Patterns > create index Patterns > 顯示有fileat-version-time的文件,說明數據已經收集到es cluster裏了
下一篇繼續說kibana的簡單使用