ELK搭建實(shí)時(shí)日志分析系統(tǒng)

1 軟件介紹

1.1 Elasticsearch

Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data so you can discover the expected and uncover the unexpected.

Elasticsearch是一個(gè)分布式的RESTful搜索和分析引擎蓬推,能夠解決越來(lái)越多的用例茶宵。 作為彈性堆棧的核心卡乾,它集中存儲(chǔ)您的數(shù)據(jù),所以你能夠自主的操作您的數(shù)據(jù)。

大概意思是說(shuō)桃笙,ES既可以為用戶提供數(shù)據(jù)存儲(chǔ)彻采,有能為用戶提供用戶接口以作數(shù)據(jù)分析。

官網(wǎng):https://www.elastic.co/products/elasticsearch

1.2 Logstash

Logstash is an open source, server-side data processing pipeline that ingests data from a multitude of sources simultaneously, transforms it, and then sends it to your favorite “stash.” (Ours is Elasticsearch, naturally.)

Logstash是一個(gè)開源的服務(wù)器端數(shù)據(jù)處理管道瘫拣,它從多個(gè)源同時(shí)獲取數(shù)據(jù)亿絮,對(duì)其進(jìn)行轉(zhuǎn)換,然后將其發(fā)送到您所想要的“存儲(chǔ)”(這里主要是ES)麸拄。

大概意思是說(shuō)派昧,Logstash是一個(gè)不局限于數(shù)據(jù)源和目的源的數(shù)據(jù)管道工具,它提供了各種數(shù)據(jù)源插件拢切,以供用戶搜集蒂萎、轉(zhuǎn)換不同的日志。

官網(wǎng):https://www.elastic.co/products/logstash

1.3 Kibana

Kibana lets you visualize your Elasticsearch data and navigate the Elastic Stack, so you can do anything from learning why you're getting paged at 2:00 a.m. to understanding the impact rain might have on your quarterly numbers.

Kibana讓你可視化你的Elasticsearch數(shù)據(jù)和導(dǎo)航彈性堆棧淮椰。讓您清晰的了解到您的但不局限于系統(tǒng)日志等信息的操作五慈。

官網(wǎng):https://www.elastic.co/products/kibana

2 環(huán)境搭建

2.1 軟件環(huán)境要求

系統(tǒng):CentOS 6.5 x86_64

Java:JDK 1.8_64bit

Nodejs:v6.10.0

軟件:Elasticsearch-5.2.2、Logstash-5.2.2主穗、Kibana-5.2.2-x86_64

2.2 Elasticsearch安裝

說(shuō)明:新版ES必須要使用普通用戶啟動(dòng)泻拦,不能使用root用戶。

1)下載ES安裝包

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz

~]#sudo tar -xvzf elasticsearch-5.2.2.tar.gz

2)修改ES的配置文件

編輯config下的elasticsearch.yml

cluster.name: elk-sdnware

node.name: elk-node1

node.attr.rack: r1

path.data: /home/esuser/es/data

path.logs: /home/esuser/es/logs

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

network.host: 192.168.200.201

http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.200.201", "[::1]"]

discovery.zen.minimum_master_nodes: 1

gateway.recover_after_nodes: 1

http.cors.enabled: true

http.cors.allow-origin: "*"

表1 - ES配置參數(shù)說(shuō)明

參數(shù)含義

cluster.name????集群名稱

node.name????節(jié)點(diǎn)名稱

node.attr.rack????默認(rèn)參數(shù)描述

path.dataES????數(shù)據(jù)文件

path.logsES????日志文件路徑

bootstrap.memory_lock????是否鎖定使用內(nèi)存忽媒,為了不產(chǎn)生內(nèi)存交換以保證性能(CentOS7以下不支持SecComp)

bootstrap.system_call_filter????同上

network.host????網(wǎng)絡(luò)主機(jī)

http.port????HTTP端口

discovery.zen.ping.unicast.hosts????初始節(jié)點(diǎn)列表

discovery.zen.minimum_master_nodes????集群至少有n個(gè)master

gateway.recover_after_nodes????n個(gè)節(jié)點(diǎn)啟動(dòng)后開始數(shù)據(jù)恢復(fù)

http.cors.enabled????是否支持跨域

http.cors.allow-origin????當(dāng)設(shè)置允許跨域聪轿,默認(rèn)為*,表示支持所有域名,如果我們只是允許某些網(wǎng)站能訪問猾浦,那么可以使用正則表達(dá)式陆错。比如只允許本地地址。?/https?:\/\/localhost(:[0-9]+)?/

3)啟動(dòng)ES

~/bin/elasticsearch >/dev/null 2>&1 &

啟動(dòng)成功后訪問http://192.168.200.201:9200金赦,如下圖:


4)安裝Elasticsearch-head插件

該插件是為了方便簡(jiǎn)單的管理ES中的索引音瓷、集群等信息,新版head插件安裝與老版ES有所差異夹抗,官方已經(jīng)獨(dú)立出來(lái)成為了一個(gè)插件庫(kù)绳慎,需要獨(dú)立安裝。

a)下載head插件安裝包

git clone git://github.com/mobz/elasticsearch-head.git

b)下載安裝nodejs

wget?https://nodejs.org/dist/v6.10.0/node-v6.10.0-linux-x64.tar.xz

tar -xvf node-v6.10.0-linux-x64.tar.xz

設(shè)置NODE環(huán)境變量漠烧,node -v杏愤、npm -v測(cè)試安裝是否成功

c)進(jìn)入剛下載的elasticsearch-head目錄,執(zhí)行npm install

~/elasticsearch-head/ ] # npm install

在執(zhí)行安裝head插件時(shí)會(huì)去下載phantomjs已脓,網(wǎng)絡(luò)不好情況下下載極慢而導(dǎo)致npm install執(zhí)行失敗珊楼,為了保證正常安裝,建議下載好該安裝包度液,默認(rèn)放在/tmp/phantomjs/,當(dāng)前版本使用的是phantomjs-2.1.1-linux-x86_64.tar.bz2厕宗,具體版本看安裝時(shí)打印信息画舌;

d)安裝完成后,需要修改相應(yīng)的web文件

i.修改服務(wù)器監(jiān)聽地址

目錄:head/Gruntfile.js

connect: {

????server: {

????????options: {

????????????port: 9100,

????????????hostname: '*',

????????????base: '.',

????????????keepalive: true

????????}

????}

}

增加hostname屬性已慢,設(shè)置為*

ii.修改連接地址

目錄:head/_site/app.js

修改head的連接地址:

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

把localhost修改成你es的服務(wù)器地址曲聂,如:

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.200.201:9200";

e)啟動(dòng)head服務(wù)

elasticsearch-head ] # node_modules/grunt/bin/grunt server &

在此之前保證ES已經(jīng)啟動(dòng)成功

打開http://192.168.200.201:9100,如下圖:


2.3 Logstash安裝

1)下載Logstash安裝包

https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz

~]#sudo tar -xvzflogstash-5.2.2.tar.gz

2)添加Logstash的用戶(agent)配置

vim log4jes.conf佑惠,內(nèi)容如下:

input {

????log4j {

????????mode => "server"

????????host => "192.168.200.201"

????????port => 4567

????}

}

filter {

#Only matched data are send to output.

}

output {

????elasticsearch {

????????action => "index"

????????hosts ?=> ["192.168.200.201:9200"]

????????index ?=> "cloudap-%{+YYYY.MM.dd}"

????}

}

3)模擬Log4j的java應(yīng)用

a)創(chuàng)建一個(gè)maven項(xiàng)目朋腋,結(jié)構(gòu)如下:


b)編輯Log4jDemo.java文件


c)修改log4j.properties配置文件


4)啟動(dòng)Logstash服務(wù)

logstash-5.2.2 ] # bin/logstash -f log4jes.conf>/dev/null 2>&1 &

啟動(dòng)成功后,運(yùn)行java應(yīng)用膜楷,然后打開elasticsearch-head旭咽,如圖:


會(huì)看到有cloudap-2017.03.08的索引,切換數(shù)據(jù)瀏覽把将,可以查看到詳細(xì)的數(shù)據(jù)信息:


2.4 Kibana安裝

1)下載Kibana安裝包

https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz

~]#sudo tar -xvzf kibana-5.2.2-linux-x86_64.tar.gz

2)修改Kibana配置

kibana-5.2.2 ] # vim config/kibana.yml

server.port: 5601

server.host: “192.168.200.201”

elasticsearch.url: http://192.168.200.201:9200

kibana.index: “.kibana”

3)啟動(dòng)Kibana

kibana-5.2.2 ] #bin/kibana>/dev/null 2>&1 &

打開瀏覽器輸入:http://192.168.200.201:5601

初始進(jìn)入是轻专,需要自行添加索引忆矛,如圖:


創(chuàng)建成功察蹲,后便可以針對(duì)索引進(jìn)行數(shù)據(jù)的查看了。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末催训,一起剝皮案震驚了整個(gè)濱河市洽议,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漫拭,老刑警劉巖亚兄,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異采驻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門绞呈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)俐东,“玉大人,你說(shuō)我怎么就攤上這事痘系》谱欤” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵汰翠,是天一觀的道長(zhǎng)龄坪。 經(jīng)常有香客問我,道長(zhǎng)复唤,這世上最難降的妖魔是什么健田? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮佛纫,結(jié)果婚禮上抄课,老公的妹妹穿的比我還像新娘唱星。我一直安慰自己,他們只是感情好跟磨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布间聊。 她就那樣靜靜地躺著,像睡著了一般抵拘。 火紅的嫁衣襯著肌膚如雪哎榴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天僵蛛,我揣著相機(jī)與錄音尚蝌,去河邊找鬼。 笑死充尉,一個(gè)胖子當(dāng)著我的面吹牛飘言,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播驼侠,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼姿鸿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了倒源?” 一聲冷哼從身側(cè)響起苛预,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笋熬,沒想到半個(gè)月后热某,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胳螟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年昔馋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糖耸。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秘遏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蔬捷,到底是詐尸還是另有隱情垄提,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布周拐,位于F島的核電站铡俐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏妥粟。R本人自食惡果不足惜审丘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望勾给。 院中可真熱鬧滩报,春花似錦锅知、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至可训,卻和暖如春昌妹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背握截。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工飞崖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谨胞。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓固歪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親胯努。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牢裳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本人陸陸續(xù)續(xù)接觸了ELK的1.4,2.0康聂,2.4贰健,5.0胞四,5.2版本恬汁,可以說(shuō)前面使用當(dāng)中一直沒有太多感觸,最近使用...
    三杯水Plus閱讀 4,106評(píng)論 0 12
  • 本期簡(jiǎn)說(shuō)提高軟件產(chǎn)品質(zhì)量有三個(gè)方面需要把握(本篇文章談ELK的使用): 一辜伟、持續(xù)集成 二氓侧、自動(dòng)化 三、ELK日志分...
    隔壁老田_閱讀 2,454評(píng)論 0 2
  • 1导狡、ELK平臺(tái)介紹 在搜索ELK資料的時(shí)候约巷,發(fā)現(xiàn)這篇文章比較好,于是摘抄一小段:以下內(nèi)容來(lái)自:http://bai...
    螺旋上升的世界閱讀 3,013評(píng)論 0 20
  • 一旱捧、ELK介紹 本節(jié)內(nèi)容來(lái)自開源實(shí)時(shí)日志分析ELK平臺(tái)部署独郎,感謝原作者詳細(xì)的介紹。 日志主要包括系統(tǒng)日志枚赡、應(yīng)用程序...
    ANANc閱讀 872評(píng)論 0 4
  • Linux-Server-Notes PMS /home/softwareluke/圖片/2017-09-11 0...
    燕京博士閱讀 571評(píng)論 0 1