一:環境java
說明:安裝包版本均使用7.2.0,同時客戶端使用Firebeat採集日誌數據,建議提早下好安裝包上傳至服務器node
若是是壓縮包安裝需添加elk用戶,Elasticsearch用root啓動會報錯nginx
groupadd elk useradd -g elk elk passwd elk
安裝java8:vim
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
二:安裝 Elasticsearch: 這裏使用rpm包安裝服務器
rpm -ivh elasticsearch-7.2.0-x86_64.rpm rpm -ivh kibana-7.2.0-x86_64.rpm rpm -ivh logstash-7.2.0.rpm
rpm 安裝後會自東生成system服務app
啓動 systemctl start elasticearchcurl
啓動後默認監聽端口elasticsearch
修改配置文件工具
vim /etc/elasticsearch/elasticsearch.yml測試
cluster.name: my-application node.name: es1 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch network.host: "0.0.0.0" http.port: 9200 cluster.initial_master_nodes: ["es1"]
驗證 curl 127.0.0.1:9200 (備註:單機默認配置無需修改,如需配置network-host等配置,必須設置
cluster.initial_master_nodes: ["es1"],否者啓動會報錯)
rpm安裝的安裝包配置文件默認均在/etc/相關目錄下
三: kibana配置(rpm包上面已經安裝,直接修改配置文件)
vim /etc/kibana/kibana.yml
server.port: 5601 server.host: "0.0.0.0" server.name: "es1" elasticsearch.hosts: ["http://127.0.0.1:9200"] kibana.index: ".kibana"
systemctl start kibana
修改yml文件注意格式,key和vlaue必須有空格
kibana默認監聽5601端口
訪問http://192.168.18.144:5601
四:logstash配置
vim /etc/logstash/logstash.yml
path.data: /var/lib/logstash path.config: "/etc/logtash/conf.d" path.logs: /var/log/logstash
這裏加入了一個include的目錄
同時連接到軟件目錄下方便後面修改
ln -s /etc/logstash /usr/share/logstash/config
編輯一個測試文件
vim /usr/share/logstash/config/conf.d/test.conf
input{ file{ path => ["/var/log/elasticsearch"] type => "elasticsearch-log" start_position => "beginning" } } filter{ } output{ elasticsearch{ hosts => ["127.0.0.1:9200"] index => "system-log-%{+YYYY.MM.dd}" } }
關閉system啓動方式
system disabled logstash
啓動:/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/conf.d/test.conf
啓動後就能夠在kibana上看到信息了(這種啓動方式當你關閉終端,或者ctrl+c時logstash就會退出。建議使用supervisord守護進程,詳細會在後續文章放出)
建立以後就能夠在儀表盤看到日誌信息了
五:安裝filebeat
Filebeat是一個日誌文件託運工具,在你的服務器上安裝客戶端後,filebeat會監控日誌目錄或者指定的日誌文件,追蹤讀取這些文件(追蹤文件的變化,不停的讀),而且轉發這些信息到elasticsearch或者logstarsh中存放。
rpm -ivh filebeat-7.2.0-x86_64.rpm
更改配置文件(備份原來的配置文件新建一份)
vim /etc/filebeat/filebeat.yml (7.2版本 filebeat.prospectors參數廢棄)
filebeat.inputs:
- input_type: log
enabeld: true
paths:
- /var/log/elasticsearch/*.log
output.logstash:
hosts: ["127.0.0.1:5044"]
日誌輸出到logstash,因此對應要修改logstash的啓動配置文件,設置logstash監聽在5044端口
input{ beats{ port => "5044" } } filter{ } output{ elasticsearch{ hosts => ["127.0.0.1:9200"] index => "system-log-%{+YYYY.MM.dd}" } }
啓動 systemctl start filebeat
六:nginx反向代理kibana並設置登陸驗證
Kibana的登陸驗證插件是收費功能,這裏咱們使用nginx來反向代理並設置登陸驗證。 用來安裝nginx的服務器IP是192.168.18.154 nginx安裝過程不在贅述 須要安裝httpd的密碼文件工具 yum -y install httpd-tools htpasswd -c -b /etc/nginx/passwd/kibana.passwd kibana kibana123(注意建立目錄)
編輯nginx配置文件
vim /etc/nginx/conf.d/kibana.conf
server { listen 80; server_name kibana.shiji.com; access_log /var/log/nginx/kibana/kinaba_access.log main; error_log /var/log/nginx/kibana/kinaba_error.log; auth_basic "Kibana Auth"; auth_basic_user_file /etc/nginx/passwd/kibana.passwd; location / { proxy_pass http://192.168.18.144:5601; proxy_redirect off; } }
最後效果