ELK - MAC環境搭建
本文旨在記錄elasticsearch、logstash、kibana在mac下的安裝與啟動。
寫在前面
ELK的官方文檔對與它們的使用方法已經講的非常清楚了,這里只對相關的安裝步驟以及可能碰到的一些坑進行一些記錄。
先決條件
- java8
- mac軟件管理工具brew
brew相關命令
# 安裝軟件
brew install your-software
# 查看軟件安裝信息
brew info your-software
# 管理服務,沒怎么用它,ELK都有自己的啟動腳本在安裝目錄的bin/下面,且基本上都會攜帶參數啟動
brew services start/stop your-service
elasticsearch
mac安裝elasticsearch
# mac安裝elasticsearch
brew install elasticsearch
elasticsearch的相關安裝位置
安裝目錄:/usr/local/Cellar/elasticsearch/{elasticsearch-version}/
日志目錄:/usr/local/var/log/elasticsearch/
插件目錄:/usr/local/var/elasticsearch/plugins/
配置目錄:/usr/local/etc/elasticsearch/
安裝完成elasticsearch之后,可以通過brew services start elasticsearch
啟動它,然后通過curl請求REST API對它進行調用
首次啟動,默認的端口號是9200,用戶名是elastic,密碼我也不知道(資料上查到的都是6.0以前的版本,密碼是changeme,6.0以后不清楚),通過調用_xpack接口修改默認密碼:
# 如果不是第一次修改,則需要輸入當前密碼才能進行密碼修改
curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/elastic/_password' -H "Content-Type: application/json" -d '{"password":"123456"}'
kibana
# mac安裝kibana
brew install kibana
kibana的相關安裝位置
安裝目錄:/usr/local/Cellar/kibana/{kibana-version}/
配置目錄:/usr/local/etc/kibana/
啟動kibana之前,需要先修改一下配置文件/usr/local/etc/kibana/kibana.yml,取消elasticsearch.name和elasticsearch.password的注釋,並將值改為上面修改過的用戶名密碼username: elastic, password: 123456,請參考下面的kibana.yml片段
# /usr/local/Cellar/kibana/6.2.4/kibana.yml
server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"
elasticsearch.username: "elastic"
elasticsearch.password: "changeme"
這里提供兩個腳本用來啟動/停止kibana:
#! /bin/bash
# 啟動腳本: file path: /usr/local/Cellar/kibana/6.2.4/bin/kibana-start.sh
nohup ./bin/kibana -l /usr/local/var/log/kibana.log > /dev/null & echo $! > pid.txt
#! /bin/bash
# 停止腳本:file path: /usr/local/Cellar/kibana/6.2.4/bin/kibana-stop.sh
kill -9 `cat bin/pid.txt`
因為默認的啟動腳本bin/kibana
並沒有提供后台運行,且如果不指定-l
參數,默認是沒有日志文件的,這里我將日志文件定位到了/usr/local/var/log/kibana.log
文件中。
首次啟動,默認端口號是5601,打開瀏覽器訪問http://localhost:5601
訪問kibana管理頁面,會彈框要求輸入用戶名密碼,輸入elastic和123456即可。
注:這里的kibana.yml中配置的用戶名密碼是kibana訪問elasticsearch需要用到的,而web頁面手動輸入的用戶名密碼是我們登錄kibana管理頁面的密碼,它們為什么能共用一個密碼,不太清楚
坑:如果沒有配置kibana.yml,雖然可以登錄成功kibana,但是在kibana頁面中什么都訪問不了,它會提示你elasticsearch的認證失敗!
logstash
# mac安裝logstash
brew install logstash
logstash的相關安裝位置
安裝目錄:/usr/local/Cellar/logstash/{logstash-version}/
啟動相關:參考備注
filebeat
# mac安裝filebeat
brew install filebeat
filebeat的相關安裝位置
安裝目錄:/usr/local/Cellar/filebeat/{filebeat-version}/
配置目錄:/usr/local/etc/filebeat/
緩存目錄:/usr/local/var/lib/filebeat/
啟動相關:參考備注
備注
因為logstash的啟動關乎很多概念如管道、輸入、輸出、過濾器等,我這里是參考的官方文檔,寫的非常清晰:https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html
講了logstash結合filebeat將Apache日志文件解析成結構化數據存儲到elasticsearch