《ELKF搭建详细步骤.docx》由会员分享,可在线阅读,更多相关《ELKF搭建详细步骤.docx(22页珍藏版)》请在三一办公上搜索。
1、CN唯嫌MsW.2P zzinJH费卷EES IN I费Is I.I一&貌着f也_I山1.1流程说明日志流向:Client_data-filebeat-9redis-9logstash-9elasticsearch-9kibanaclient通过filebeat或者logstash收集日志发送到redis缓存,redis输出到logstash , 通过logstash做一些过滤和修改之后传送到es数据库,kibana读取es数据库做分析1.2安装1.2.1 Server 端安装Jdk1.8Elasticsearchelasticsearch-headnodejsLogstashRedisKib
2、ana下载地址:https:/www.elastic.co/downloads新版filebeatlogstash有不少变化,网络文章很多配置并不太适用请参考官方文档:https:/www.elastic.co/guide/index.html所有组件安装目录/app/elkServerip:192.168.59.1281. jdk1.8 安装(略)2. Elasticsearch 安装:新建用户elk,es需要非root用户启动Wgethttps:/artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.0.tar.gz
3、tar zxvf elasticsearch-6.1.0.tar.gzjvm.options酉己置文件,适当调增jvm运行参数 elasticsearch.yml主配置(此处使用了单机模式)修改:在末尾增加,是es-head能远程访问es库:faction.destructiverequires kttp cor1& enabled : Jttp.corsallow-origin:启动服务:Su - elk/app/elk/elasticsearch-6.1.0/bin/elasticsearch&3.elasticsearch-head安装,用于web界面查看和编排es数据库先安装nodej
4、s,经测试,在系统上yum安装的nodejs使用会报错,版本不符wgethttps:/npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.t ar.gztar zxvf node-v4.4.7-linux-x64.tar.gzcd node-v4.4.7-linux-x64设置环境变量;export NODE_HOME=/app/elk/node-v4.4.7-linux-x64export PATH = $PATH:$NODE_HOME/binexport NODE_PATH = $NODE_HOME/lib/node_
5、modules执彳亍 source /etc/profilegrunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作, head插件就是通过grunt启动unzip master.zip cd elasticsearch-head-master/ npm install -g grunt-cli检查是否安装成功:grunt -version修改head插件源码:vim Gruntfile.jsConnect: (servers options);:port: 9100base:jkeepalive:,hostname:修改连接地址:vim _site/app.jsL
6、ts: (ba&e_uri nullfunction(parent) (thiiu _super()jthii .prfs = services. Pr-aferencesinstancef;nhis+bai&e_uri = this + cunfig+ba&ejuri 11 thL5prefs.get, ) 11广if( this, baie_ur 1.charAt( this. base_Liri, length - 1 ) 1 ) I/ XHR request fails if the URL is not ending with a /,rthis-base_uri += j运彳亍he
7、ad :在 elasticsearch-head-master 目录下npm install 安装grunt server /运彳亍即本地9100端口启动访问http:/ip:9100查看es库,浏览数据,删除等操作,便于后期es库维护E lasticsea rch 扪和非倬如臆 厩,索引 瞄蹴 就通闾iti 暗聊* node-1 , 4i-LDCTi3i34.redis使用yum安装,修改bind地址,优化下参数如maxmemory等启动即可CNMUou.qsfuls6o- luMU8qs 也 S6O6一艺0:、。.1.92:骨右60_、|而云京、pu#:权BMKmHK卅、Ikdml屈猫K-
8、堞福 qss6o_.Lninput redis (host = 127.0.0-1port = 6379key = logstash!redisdarta_type = listcodec = jsontype - lagstashfi Me柴iF= Tulearning-nginx-acc&ss,T (if Pfields project jscn-1 source = messageremove_field = tags, beat,me&sagey 对打了标签供链字样的的日志格堆排,并移愉部 L 了分系统自带字瓯 使人嶙据库峥段发生改变.标签在也泓F设置output elasticsea
9、rch fflosts = 192.英晅;9200咛index = %(fields project-3f(+YYYY,ffl,del1Template overwrite = true根据不同的日志标签在缁中新建stdout ( codec = rubydebug 不同的index索引此配置作用是从redis内取出数据以json的格式输入到es库,过程中对字段进行了修改,其他配置参加百度此处对nginxaccess日志字段做修改的原因是,将nginx访问日志的的字段拆分,用 于后期kibana对nginx每个字段的分析统计。其他如代码错误日志等不需要调整的会以字符串的格式进行收集,如果仅仅只
10、是以字符 串的形式收集日志内容,去掉filter段即可。启动 logstash :/app/elk/logstash-6.1.0/bin/logstash -f/app/elk/logstash-6.1.0/config/logstash.conf6.kibana 安装下载安装包,解压进目录修改两个配置即可:vim config/kibana.ymlserver.host: 0.0.0.0elasticsearch.url: http:/192.168.59.128:9200启动:./bin/kibana访问:http:/ip:5601默认端口可修改此时server端即安装完成1.2.2 cl
11、ient 端安装F载 filebeat:Wgethttps:/artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.1.0-linux-x 86_64.tar.gz解压,进入目录cd /app/filebeatmkdirconf cpfilebeat.reference.ymlconf/如果要上传多个日志,则将配置文件复制多分,如下,分为nginx日志和其他app日rootVM_10_247_centos conf# pwd/app/filebeat/canfrootVM_10_247_centos conf# Isapp-7yml
12、nginx-yml_IQ_J/I 7_ l _Happ-xxx.yml修改如下两处,用于上传111.log日志:disaUFilebeat prospectors =自打标签,即为 serve 隔 filterH 滤 的关键字fedis outputle the output macta cothe snnect ta. If loa( ervrs in the 11 tributed to the r# The List of Redis servers# events are distributed to# unreachable the events are dis hosts: T,1
13、92.168 . OO: 637 key: 11 logstash: redis114output.redis:# Boolean flag to enable orttenabled: true# List of prospectors to fetch da f ilebeat, prospectors :-type: logenabled:paths:-/var/lag/nginx/1 2*s*?Sgfields:project: app-nginx同理nginx-XX.yml修改两处,# Log prospector-type: log# Change to true to enabl
14、e this prospector configuratic enabled! truepaths:-/var/log/nginx/abc*logfields:project:-nginx# level! H-bug屈 review: 1分别启动两个进程:-e为debug模式可去掉./filebeat -e -c nginx-xx.yml./filebeat -e -c app-xxyml如果是多个文件,则每个日志文件启动一个进程,不影响其他,这个是新版和老版本的 不同,网络上暂时没有找到这方面资料,如果如同老版本配置到同一个主配置文件里多 个路径,则出现fields自定义的字段只能传递第一个
15、日志设置的。若每个文件没用自定 义字段的区分则收集到es中的所有日志会是同一个index文件不便于区分和kibana 搜索查询。Es存储效果如下,S CO 192 盛,倾搭 邮 g阿易企业B焉曜S3的砌曝 U Hnut 9左Eia sties ea rc hh 邸门。? i 由e 亶或 涉就宽 其芝宣宜 豆堂啬匐I+:5S myclu-sierlIt rtt lndk5 Index FigIF reassigned-nginx-2017J 2,14 sj伞第柔Eu) dflc?: 顽(5&fl)国田叵同回app nainx-3Oli 血社M&ki 0初坷L loHTsaSTsoQ)回田可瞬制*
16、回田回国国回田囱【这里提一下另外一种日志收集方式,client端也用logstash收集日志,对日志格式的控制是更加灵活但是需要装jdk而且耗费系统资源更多。Filebeat轻量级。如将abc.log和def.log均收集至ij redisinput |file type = te&tlpath = /app/abc.log*file type = test2path =n/app/def* log*output redis host = 192-168.datatype = listkey = logstash:redis1.3日志格式调整其他问题Access日志如果需要做字段分析,需要对日
17、志格式进行更改配置,如nginx配置日志为json格式:log_forinat logstash_json一 1 host11 iserveaddr, 1一1 clientip : $remote_addr11 ? 1111 siz e : $body_bytes_sent f 1111 responsetime: $request_time, 1111 up st reanitime: 11 $upst ream_response_tinie11 f 11 Hupst reamhost11: ”$upstreani_Mdr”,,1 J,http_hosta, ihost % 1 一1 url
18、11: H$uri, 1-domain11: ,$host, f 11 Hxff:$http_x_forwarded_for f 1-referer: l,$http_referer 11 agent11: $http_user_agent f 11 status11: status7;则经过filter处理后日志到logstash存入ES库为:source= type= httphoet= url-=upstreamhost1 = stamp= size= clientip= domain=、 version= host=、 responsetime1 = xff= fields=refer
19、er = http :/vdwvjm|k:n/umooc/ledrnerystudy agent = Mo zi 1 la/5.0(compaOMe; MSIE 9.6; Windows -Ffset = 19514 脆, prospector = type = log/var/log/nginx/abc.txtj ,rlogstashcn j /umooc/cmimaocproxyhedrtbed t* do, 192.168.10.14:8080 2017-12-1101:4133,116.249A27.135,l-jww, u learn ing,cn 1”192*16410.24?”,
20、level = debug1., praject = *-upstreamtime=、status = 200否则日志中所有内容为一个字符串Kibana基本使用:更多详细实用见网络。kibanaDisccverIdVisualuejhhDjrdlirnelHCiniDevloo*sMinaerneniPopulart meSMfitr EwFuer、r insiir_par ievelt OltSEEt 5GWCCt thrrfldr tifTMunipr egShaded FigAvynatiie FieldsCO tgbrriGUTipe bt-aLriosiriamet bitaurji
21、neO Last 15 rniruteslWejHI: http- apr-SG4Q- :ec-32_3 2QLT-QT-12 1S:O3i2B.3EB http-apr-50JW- &:ec-32_itFariTLcflAipert - Zh:naAuthServ g auth ;a -dC-d! |1325251305111&34/ riiTe:官:昔J卜 VdeilHMMip: JhW 12th foir, li:O3;f5-C-i *nstl: %村孔划。ItMl: IhpQ (MWJLhKtBHt: IX5.2nz ivvt.tw:】叫1 w: FoptnwPU州K-PRIXLFKK
22、-IEITCELtfcfftti: iwoT-5-thr4*ii-51miFFT-L己 15;MrZ5i :Pwfi-i-tiEdT LH ciirFiA区:基本功能选项,如点击可以选择查看某个时间范围内的日志信息,(也可以指定某个时间范围)Time RangeQuickRelativeAbsoluteTodayYesterdayLast 15 minutesLast 30 deThis weekDay before yesterdayLast 30 minutesLast 60 diThis monthThis day last weekLast 1 hourLast 90 deThis y
23、earPrevious weekLast 4 hoursLast 6 meThe day so farPrevious manttiLast 12 hoursLast 1Week to datePrevious yea rLast 24hoursLast 2 v色Month to dateYear to dateLast 7 daysLast 5 yetTime RangeQuickRelativeAbsolute点击From: July 12th 2017, 17:55:41.704To: Now15Minutes ao TNowround to the minuteShare C 4u:c
24、-refre?n 1mi nutes可以设置页面上日志自动刷新的时间(默认off)Time RangeQuickRelative.bsolL.itSunMonTweWedThuFriSntSunMonTutWedThuFriSet263D01 10205也050607OS0304050607080910111213141509101112131415161718192021161718192021222324252d272B292324252S272SZ933313031QI20305B区为索引相关信息:黑色三角形点开后,可以看见索引列表,目前索引均是按项目名 称来命名。选择需要查看的索引后,
25、即会弹出索引相关的信息。默认搜索字符是 会显 示选择的索引的所有信息。左上方的数字表示你搜索的关键字数量。下图中,在搜索 栏输入errorj返回qcredit-frontal索引下,所有字段值中包含error的文档。 相关的搜索语法,最后只简单介绍,详细用法请百度:lucene或kibana语法。Available Fields :索引里包含的字段,字段里面可以看出你搜索的关键字的分布情况。 上图则表示搜索到56条error,在beat.hostname里面显示出每台机器存在error的比 率Selected Fields :可以通过add按钮把某些字段添加进去,添加进去之后效果如下。字段可以
26、add也可以remove。Papularr rnissaae-0 SrrtYbesumpcxm. 4(f. 口时f S- ndAG.NdbsDI gr如*5“pboe.sfrrvite-*Selected FieldsAvailable Rekteco*i.qif. http. ZzcFeqijes-t匚E.mctMK: ttiririjEiSrtv Ibk g ng,崛血日汕*/W1G41 hitserrorqcrcditbkend-*Avii-aibip FieldsC time3tanipr但妇制ont Jdt indeK# _scaree beai.riiarTiet bcai.vcr
27、sionr lnput_iypet rneeige律 offsete saurcet tagse ype跖冈-4020ntnawJuly 12tfli2(17r1731 34.54S - July 12th 201 7r 1 :312345417:4017:45timestamp pminuteTimekwcitrhcHiflncime-July 12th 201?. 13=30:07.836 IDC-DCKER-D2July 12th 2017, 13:29:57. *16 IDC-DCCKER-D1July 12th 2017, 1329:57-931 IDC-DOCKER-DIJuly
28、12th 2017. 18:29:54.9 IDC-DIXKER-&2July 12th 201?, 13:29:54.101 IDC-DCKER-D1July 12th 2017, 13;29;53,a?4 IDC-DCCKER-D2 July 12th 2017, 13:29:55.73 IDC-DICKER-02 July 12th 2017, 13:29:53-779 LDC-DCCKER-D2 July 12th 2017. 18:29:5S.W IDC-DCCKER-Q2C区主要显示日志的详细内容,按字段分割,其中message字段为日志的具体内容。柱形图表示单位时间内日志的数量。
29、家与任皿旧:日行L.7尧兰吾举$卫洗tn胃底用NLqwTf自Jenkins 幽 LQL藏:摆 鼬.农如到11 口尸 耳=nkinkR昭 O 旨*内Server 通| LJaoCImjd | Uocfcri T临timtannp per minmte july 13th 2017,。史selected Fieldse mesegBAvailable FieldsPap ul- exec- 7 INFO 五回 r=porcl_.-i dER2 &170713094 04 513412 430July L3th 2D17, 09 :0:49.163 2D17-D7-13 D!9 !40:49.163
30、 http-apr-SOiBQ-exec-7 INFOcon.qf. pboc- busi. eeri dC ar d=-36O 3019*111103 fill第回esul t ” succes 5* : tr ue F repart-,! e July L3th 2017 t &:4D:4Sul63 2O17-D7-13 D&:10:49ul&3 |http-apr-SOSO-exec-7 INFOcontqf- pboc- request. TCfcr d-3 W73Q1WL1L1P3 Ell-手箱=野回煤始5 U 】t f 5UCC-M 5*;tr ye/repDI July L3th 2G17 , &:4D:4ft-054 2O17-D7-13 D9:40:49-0M hi:t:p-apr-SOSO-exec-3D INFOcon.qf. pboc. husii- 5er-iKibana查询语法:字段。可以按页面左侧显示的字段搜索:限定字段全文搜索:field:value精确搜索:filed:value