不會Java能學ELK語言嗎?
要想知道能不能學,首先得有一點初步了解。
什么是ELK:ELK是ElasticSearch+Logstash+Kibana的英文首字母縮寫,目前主要作為一套成熟的開源日志管理方案。
ElasticsearchElasticsearch是一個具有高可拓展性的開源全文檢索和分析引擎,提供接近實時的檢索速度,通常作為底層引擎/技術為應用提供復雜的檢索功能。
具有以下特點:
分布式和高可用
每一個Index都被可配置數(shù)量的Shard所共享每一個Shard可以有多個副本任意一個副本Shard都可以執(zhí)行讀或者檢索操作多租戶模式支持多個IndexIndex級別配置(Shard的數(shù)量,Index的存儲等等)支持多套APIHTTP RESTful API原生Java API所有API都自動執(zhí)行節(jié)點操作重路由面向Document
前期無需定義SchemaSchema可以為索引進程的定制而定義提供可靠的異步寫入操作用來實現(xiàn)長期持久性速度快,接近實時的檢索速度
底層使用Lucence
每一個Shard都是一個提供全功能的Lucence Index通過簡單的配置和插件可以提供所有的操作一致性單個Document級別的操作都是原子的,連貫的,獨立的,耐用的因為提供了HTTP RESTful API,所以可以跨平臺跨語言來使用。Elasticsearch還為各種語言提供了客戶端的包,所以用什么語言并不重要。KibanaKibana是Elasticsearch數(shù)據(jù)可視化的插件,能夠提供精美的可視化界面和強大的報表功能。Kibana如何實現(xiàn)并不非常重要,關鍵是會使用。
LogstashLogstash也是Elasticsearch的插件,通過讀取日志文件,并不斷發(fā)送到Elasticsearch的Index中去。所以也是只需要會使用即可。
Logstash比較龐大臃腫,Elastic也提供了各種Beat插件,比如Filebeat等等輕量級的插件。
總結無論是學什么語言的,都可以使用ELK。