ELKlogstash处理mongodb日志

ELKlogstash处理mongodb日志

2023年7月17日发(作者:)

ELKlogstash处理mongodb⽇志不同mongodb版本的⽇志格式不同,这个需要看mongodb官⽅对⽇志格式的定义,在处理前⾃⼰去做好这⽅⾯的功课。还有就是,要抓取⾃⼰感兴趣的内容,这个根据各⾃的需求来做,没有千篇⼀律的,全凭各⾃喜好。我这⾥使⽤版本信息如下:elasticsearch 2.2.0logstash 2.2.2kibana 4.4.0mongodb 3.2.0filebeat 1.1.1mongodb ⽇志格式从3.0版本开始,mongodb⽇志内容包含severity level和component。

1< timestamp > < severity > < component > [ < context > ] < message >如:

12014 - 11 - 03T18 : 28 : 32.450 - 0500 I NETWORK [ initandlisten ] waiting for connections on port 27017

timestamp时间戳默认使⽤iso8601-localseverity levelLevelDescriptionFEWIDFatalErrorWarningInformational, for Verbosity Level of 0Debug, for All Verbosity Levels > 0compoentItemDescriptionACCESSCOMMANDCONTROLGEOINDEXNETWORKQUERY消息涉及到访问控制相关的,如验证。消息涉及到数据库命令相关的,如count。消息涉及到活动控制相关的,如 initialization。消息涉及到空间地理解析相关的,如 verifying the GeoJSON shapes。消息涉及到索引操作相关的,如创建索引。消息涉及到⽹络活动相关的,如接收连接。消息涉及到查询相关的,包含查询规划活动状况。REPLItemSHARDINGSTORAGEJOURNALWRITE-消息涉及到复制集相关的,如 initial sync and heartbeats。Description消息涉及到分⽚活动相关的,如 the startup of the mongos。消息涉及到存储活动相关的,如processes involved in the fsync command。消息涉及到具体journaling 活动相关的。消息涉及到写操作,如update命令。消息不与命名组件相关的。filebeat配置

2# vi /etc/filebeat/ebeat : prospectors : - paths : - / www . ttlsa . com / logs / mysql / slow . log document_type : mysqlslowlog input_type : log multiline : negate : true match : after - paths : - / www . ttlsa . com / logs / mongodb / mongodb . log document_type : mongodblog registry_file : / var / lib / filebeat / registryoutput : logstash : hosts : [ "10.6.66.18:5046" ]shipper :logging : files :

logstash配置1. input配置参见上⼀篇。2. filter配置

111213# vi lter { if [ type ] == "mongodblog" {

grok { match = > [ "message" , "%{TIMESTAMP_ISO8601:timestamp}s+%{MONGO3_SEVERITY:severity}s+%{MONGO3_COMPONENT:component}s+(?:[%{DATA:context}])?s+%{GREEDYDATA:body}" ] }

if [ body ] = ~ "ms$" {

grok { match = > [ "body" , "querys+%{WORD:db_name}.%{WORD:collection_name}.*}.*}(s+%{NUMBER:spend_time:int}ms$)?" ] }81920 } }

date { match = > [ "timestamp" , "UNIX" , "YYYY-MM-dd HH:mm:ss" , "ISO8601" ] remove_field = > [ "timestamp" ] } }}

3. output配置

# vim tput { if "_grokparsefailure" in [ tags ] { file { path = > "/var/log/logstash/grokparsefailure-%{[type]}-%{+}.log" } }

if [ @ metadata ] [ type ] in [ "mysqlslowlog" , "mongodblog" ] { elasticsearch { hosts = > [ "10.6.66.18:9200" ] sniffing = > true manage_template = > false template_overwrite = > true index = > "%{[@metadata][beat]}-%{[type]}-%{+}" document_type = > "%{[@metadata][type]}" }}

logstash 标准输出结果logstash-mongodb-logkibanalogstash-mongodb-log-kibana

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689546180a265089.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信