十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天小编给大家分享一下logstash的ruby模块怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比铜鼓网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式铜鼓网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖铜鼓地区。费用合理售后完善,10年实体公司更值得信赖。


filter{#执行解析逻辑ruby{id=>"ls133"path =>"./rubyLogParse.rb"}#格式化日期date{match=>["requestTime","yyyy-MM-dd HH:mm:ss"]target =>"@timestamp"locale=>"en"timezone =>"+00:00"}#删除多余字段,减少es的存储空间mutate{remove_field => ["@version","offset","message","beat","input","prospector"]}}
String--->JSON JSON.parse String
JSON--->String JSON.to_json
#解析json格式日志def parseJsonLog(event,logdata)#获取日志内容loginfo=logdata[(logdata.index('] ')+2)...(logdata.rindex('}')+1)]#转成json对象logInfoJson=JSON.parse loginfo#获取流水号event.set('transactionID',logInfoJson['transactionID'])#获取业务账号event.set('businessNumber',logInfoJson['businessNumber'])#获取省份编码event.set('provinceCode',logInfoJson['provinceCode'])#获取执行耗时event.set('callTime',logInfoJson['callTime'])#获取接口编码event.set('serverCode',logInfoJson['serverCode'])#获取请求ipevent.set('reqIp',logInfoJson['reqIp'])#获取渠道event.set('channle',logInfoJson['reqMessage']['channel'])#获取返回报文event.set('respMessage',logInfoJson['respMessage'].to_json)#获取请求报文event.set('reqMessage',logInfoJson['reqMessage'].to_json)if(loginfo.include?'errorInfo')event.set('errorInfo',logInfoJson['errorInfo'])end#设置标示位event.set('tags','log_success')end#解析xml格式日志def parseXmlLog(event,logdata)#截取流水号字段if (logdata.include?'transactionID') && (logdata.include?'businessNumber')transactionID=logdata[(logdata.index('transactionID')+16)...(logdata.index('businessNumber')-3)]event.set('transactionID',transactionID)#根据流水号判断渠道if(logdata.include?'Channel')channle=logdata[(logdata.index('')+9)...(logdata.index(' '))]event.set('channle',channle)end#截取返回报文if (logdata.include?'respMessage')respMessage=logdata[(logdata.index('respMessage')+14)...(logdata.index('reqMessage')-3)]event.set('respMessage',respMessage)end省略部分代码 ................#设置标示位event.set('tags','log_success')endenddef filter(event)#取出日志信息logdata=event.get('message')#如果日志不是短信日志,缓存监控日志,缓存日志 Access nodechangedif (logdata.include?'reqMessage' )#解析日志级别和请求时间,并保存到event对象中logleve=logdata[(logdata.index('[')+1)...logdata.index(']')]event.set('logleve',logleve)event.set('requestTime',logdata[0,logdata.index(' - [')])#如果是rest接口json日志if(logdata.include?'restJson')parseJsonLog event,logdataelseparseXmlLog event,logdataendendreturn [event]end
以上就是“logstash的ruby模块怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。