服務主體:html
(1)Logstash:用來蒐集日誌node
(2)Elasticsearch:存儲各種日誌linux
(3)Kibana:web化接口用做查尋和可視化日誌git
(4)sentinl插件:配置觸發條件和觸發事件github
備註:在複雜系統中,Logstash還能夠細分爲3部分,分別爲logstash shipper(做爲logstash agent,用於監控並過濾收集日誌)、Redis(緩存)、logstash indexer(做爲 logstash server,將日誌收集後交給全文搜索服務ElasticSearch);在簡單系統中,直接部署Logstash便可,本文即採用這種方式;web
ELK主體下載地址:https://www.elastic.co/cn/downloadsapi
Kibana插件sentinl下載地址:https://github.com/sirensolutions/sentinl/releases/
緩存
備註:爲了確保兼容性,三大主體及相關插件的版本號儘可能保持一致,本文均採用6.2.4版本安全
參考配置文件連接:elasticsearch.yml
服務器
配置完後直接啓動該服務便可
備註:elasticsearch沒法以root身份運行!!!啓動後能夠經過web訪問http://192.168.3.97:9200/進行測試,會反饋一個JSON字符串以下:
另外,安裝elasticSearch 6.2.4 head插件
參考文檔連接:https://blog.csdn.net/zoubf/article/details/79007908input { #輸入源
file { #從文件輸入(還有不少)
path => "/home/log/log4test/*.log" #文件路徑
start_position => "beginning" #檢索位置(從頭)
}
}
output {
elasticsearch { #輸出目的
action => "index" #關鍵字,以索引的方式
hosts => ["192.168.3.97:9200"] #ES服務IP和端口
index => "hello.%{+YYYY.MM.dd}" #索引命名
}
}
參考配置文件連接:logstash.conf
安裝sentinl插件
推薦採用在線安裝方式:經過kibana-6.2.4-linux-x86_64/bin/kibana-plugin install https://github.com/sirensolutions/sentinl/releases/download/tag-6.2.3-3/sentinl-v6.2.4.zip
s備註:上述連接中tag-XXX項經過所需下載的相關版本號去https://github.com/sirensolutions/sentinl/releases/自行覈對
# Kibana is served by a back end server. This setting specifies the port to use. #該服務端口設置,默認爲5601
server.port: 5601
# To allow connections from remote users, set this parameter to a non-loopback address. #該服務IP設置,默認爲本機IP
server.host: "192.168.3.97"
# The URL of the Elasticsearch instance to use for all your queries. #ES服務IP和端口配置
elasticsearch.url: "http://192.168.3.97:9200"
# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
kibana.index: ".kibana" #該服務自身的日誌文件索引號
sentinl: #sentinl配置
settings:
email:
active: true
user: tebonamdev@tebon.com.cn #發件郵箱用戶名
password: ******** #發件郵箱密碼
host: mail.tebon.com.cn #發件郵箱服務器
ssl: false #安全證書
timeout: 10000 #郵箱訪問超時設置
report:
active: true
executable_path: '/usr/bin/chromium' # path to Chrome v59+ or Chromium v59+
配置完後直接啓動該服務便可,可經過web訪問http://192.168.3.97:5601/
參考配置文件連接:kibana.yml
備註:sentinl 5.×版本和6.×版本官網推薦的最小配置不一樣,具體可參考官網http://sentinl.readthedocs.io/en/latest/Config-Example/#sentinl-configuration-yaml
另外,要使用sentinl還須要配置虛擬機本地/etc/mail.rc:
set from=tebonamdev@tebon.com.cn #發件郵箱用戶名
set smtp=mail.tebon.com.cn #發件郵箱服務器
set smtp-auth-user=tebonamdev@tebon.com.cn #發件郵箱用戶名
set smtp-auth-password=******** #發件郵箱密碼
set smtp-auth=login
參考配置文件連接:mail.rc
備註:sentinl在使用過程當中,告警觸發正常,可是郵件發送超時,建議安裝官網推薦的emailjs,具體參考:https://github.com/eleith/emailjs
另外,初次配置進行功能實現時,最好關閉ssl,不然可能出現郵件發送超時等問題,涉及域調試起來比較麻煩!!!