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