E=ElasticSearch ,一款基于的Lucene的分布式搜索引擎,我們熟悉的github,就是由ElastiSearch提供的搜索,據(jù)傳已經(jīng)有10TB+的數(shù)據(jù)量。 L=LogStash , 一款分布式日志收集系統(tǒng),支持多輸入源,并內(nèi)置一些過(guò)濾操作,支持多輸入元 K=Kibana , 一款配合ElasticSearch的web可視化界面,內(nèi)置非常各種查詢(xún),聚合操作,并擁有漂亮的圖形化展示功能 為什么要用ELK? 在實(shí)際應(yīng)用中,我們的日志是非常重要的,它通常會(huì)記錄一些比較重要的信息,如應(yīng)用程序的log記錄的error,warn級(jí)別的log,通常在量小的情況下,我們可以直接vi+awk+sed+grep定位原因,在量大的時(shí)候,這種方式就捉襟見(jiàn)肘了,而且我們還要各種聚合,或者基于異常多個(gè)關(guān)鍵詞的搜索,并有且,或,交,并,差,補(bǔ),排序等一些操作,而且相應(yīng)速度必須給力,如果線上環(huán)境出了故障,能夠立刻準(zhǔn)確定位,ELK就是高手,在百萬(wàn)大軍中取上將首級(jí),猶如探囊取物,所以這時(shí)候ELK就非常適合了,當(dāng)然除此之外,ELK也經(jīng)常在運(yùn)維工作中大放光彩,在應(yīng)用級(jí)別的實(shí)時(shí)監(jiān)控,非常適合一些重要核心服務(wù)的預(yù)警。 ELK如何安裝搭建? 環(huán)境要求: Linux系統(tǒng):Centos6.5 [iyunv@ELK-Server ~]# cat /etc/redhat-release CentOS release 6.5 (Final) Java版本:JDK1.8 [iyunv@ELK-Server ~]# java -version openjdk version "1.8.0_51" OpenJDK Runtime Environment (build 1.8.0_51-b16) OpenJDK 64-Bit Server VM (build 25.51-b03, mixed mode) ELK均為最新版本: ![]() (1)ElasticSearch1.7.2 基于Lucene4.10.4的版本 ![]() (2)Logstash1.5.4 ![]() (3)Kibana4.1.2 ![]() 集群拓?fù)洌? ElasticSearch 3臺(tái)機(jī)器: 集群名:search 機(jī)器名+es節(jié)點(diǎn)名 => ip地址 h1 => 192.168.1.120 h2 => 192.168.1.121 h3 => 192.168.1.122 Logstash 192.168.1.120 Kibana 192.168.1.120 下載: elasticsearch: wget https://download./elas ... search-1.7.3.tar.gz logstash : wget https://download./logs ... gstash-1.5.4.tar.gz kibana : wget https://download./kiba ... .2-linux-x64.tar.gz 一: 安裝elasticsearch集群: (1)解壓到指定目錄 (2)配置elasticsearch.yml里面,集群名字和節(jié)點(diǎn)名字,如果不配置默認(rèn)集群名為elasticsearch,節(jié)點(diǎn)名隨機(jī)生成一個(gè) (3) 在線安裝head和bigdisk插件 直接在elasticsearch的根目錄下,分別輸入: bin/plugin --install mobz/elasticsearch-head 安裝head bin/plugin --install lukas-vlcek/bigdesk 安裝bigdesk (4)scp分發(fā)安裝完畢后的elasticsearch (5)依次啟動(dòng)各個(gè)機(jī)器上的elasticsearch 如果啟動(dòng)時(shí)遇到以下報(bào)錯(cuò)信息: [iyunv@localhost elasticsearch]# ./bin/elasticsearch {1.7.3}: Initialization Failed ... - RuntimeException[Java version: 1.7.0_45 suffers from critical bug https://bugs.openjdk./browse/JDK-8024830 which can cause data corruption. Please upgrade the JVM, see http://www./guide/en/e ... /_installation.html for current recommendations. If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JVM_OPTS environment variable. Upgrading is preferred, this workaround will result in degraded performance.] 解決方法: # yum -y install java-1.8.0* # yum remove java 查看下java版本號(hào):是否是1.8.0(因?yàn)樽钚掳鎒lasticsearch需要最新的java支持) [iyunv@localhost elasticsearch]# java -version openjdk version "1.8.0_71" OpenJDK Runtime Environment (build 1.8.0_71-b15) OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode) (6)head顯示如下: ![]() ![]() (7)bigdisk顯示如下: ![]() ![]() 二:安裝logstash (1)解壓到指定目錄 (2)在根木下新建一個(gè)conf目錄,在里面新建一個(gè)配置文件first.conf ![]() (3)啟動(dòng)logstash 執(zhí)行命令: bin/logstash -f conf/first.conf ![]() 三:安裝kibana (1)解壓到指定目錄 (2)在根目錄執(zhí)行bin/kibana直接啟動(dòng) (3)訪問(wèn)http://192.168.1.120:5601/ 配置一個(gè)ElasticSearch索引 (4)在logstach里面添加數(shù)據(jù) ![]() (5)查看圖表:剛新加的數(shù)據(jù) ![]() 四: 至此,ELK組件已經(jīng)安裝完畢,帶圖形化界面的簡(jiǎn)單日志查詢(xún)分析系統(tǒng)就搞定了 本篇只是一個(gè)簡(jiǎn)單的入門(mén)例子,如需深入可以研究elastic的官網(wǎng)文檔: https://www./guide/index.html |
|