{"id":26494,"date":"2015-09-22T15:43:32","date_gmt":"2015-09-22T10:13:32","guid":{"rendered":"https:\/\/2thenew.online\/blog\/?p=26494"},"modified":"2016-01-19T13:31:50","modified_gmt":"2016-01-19T08:01:50","slug":"applying-grok-patterns-in-elk","status":"publish","type":"post","link":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/","title":{"rendered":"Applying GROK Patterns in ELK"},"content":{"rendered":"<p>Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier.<\/p>\n<h3><strong>Use Case<\/strong><\/h3>\n<p>I had a use-case in which I had to filter logs from catalina.out, but it was difficult to filter the logs as there is not fixed pattern of logs in catalina.out. So I have created my own multiple filters to filter out the logs.<\/p>\n<h3><strong>Scope<\/strong><\/h3>\n<p>How to write filters in Logstash config file using different tools like grok and date?<\/p>\n<h3><strong>What is Logstash?<\/strong><\/h3>\n<p>An open source tool, written in JRuby, that requires Java on your machine, used for collecting and parsing logs. Installation steps can be referred <a title=\"here\" href=\"https:\/\/2thenew.online\/blog\/building-a-central-log-server-with-logstash\/\">here<\/a>.<\/p>\n<h3><strong>What is Filter?<\/strong><\/h3>\n<p>It is an in-line processing mechanism that parses the unstructured data and gives structured data as output. Currently, grok is the best way to structure crappy data in logs.<\/p>\n<h3><strong>What is GROK?<\/strong><\/h3>\n<p>It is used to match &#8216;n&#8217; number of complex patterns on &#8216;n&#8217; number of inputs and have customizable outputs thereby helps us to focus on ideas over syntax.<br \/>\nIt ships about 120 patterns with itself by default, hence eliminating repetitiveness and brings the idea of REUSABILITY<\/p>\n<p><strong>Syntax<\/strong> of GROK is %{SYNTAX:SEMANTIC} where ,<br \/>\nSYNTAX:- Is the Pattern<br \/>\nSEMANTIC:- Is the name which we give to the matched pattern.<\/p>\n<h3><\/h3>\n<h3>\u00a0<strong>For Example:<\/strong><\/h3>\n<p>We have Nginx-access logs like:<br \/>\n10.0.2.119 &#8211; &#8211; [09\/Sep\/2015:11:50:55 +0000] &#8220;GET \/versionInfo.txt HTTP\/1.1&#8221; 200 219 &#8220;-&#8221; &#8220;ELB-HealthChecker\/1.0&#8221; 0.003 0.003 .<br \/>\n10.0.2.119 &#8211; &#8211; [09\/Sep\/2015:11:50:55 +0000] &#8220;GET \/versionInfo.txt HTTP\/1.1&#8221; 200 219 &#8220;-&#8221; &#8220;ELB-HealthChecker\/1.0&#8221; 0.003 0.003<\/p>\n<p>Now, GROK Pattern can be written as shown below:<\/p>\n<p>[js]filter {<br \/>\nif [type] == &quot;nginx-access&quot; {<br \/>\ngrok {<br \/>\nmatch =&gt; [ &quot;message&quot; =&gt; &quot;%{IP:client} %{USERNAME} %{USERNAME} \\[%{HTTPDATE:timestamp}\\] (?:&quot;%{WORD:request} %{URIPATHPARAM:path} HTTP\/%{NUMBER:version}&quot; %{NUMBER:response} %{NUMBER:bytes} &quot;%{USERNAME}&quot; %{GREEDYDATA:responseMessage})&quot; ]<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n[\/js]<\/p>\n<p>&nbsp;<\/p>\n<p>where,<br \/>\n<strong>%{IP}<\/strong>: It is used to filter the IP whether it is IPv4 or IPv6<br \/>\n<strong>%{USERNAME}:<\/strong> It is used to filter text, numbers, some special characters.<br \/>\n<strong>%{HTTPDATE}:<\/strong> It is used the timestamp according to the format in logs<br \/>\n<strong>%{WORD}<\/strong>: It is used to filter text upto one word<br \/>\n<strong>%{URIPATHPARAM}:<\/strong> It is used filter path from the logs.<br \/>\n<strong>%{NUMBER}<\/strong>: It is used to filter the number<br \/>\n<strong>%{GREEDYDATA}:<\/strong> It is used to filter the rest of the message.<\/p>\n<p>There are predefined formats which can be referred <a title=\"here\" href=\"https:\/\/github.com\/elastic\/logstash\/blob\/v1.4.0\/patterns\/grok-patterns\">here<\/a>, using which we can make our own filters to see logs in the format we want in Logstash.<\/p>\n<h3><strong>GROK Pattern for Tomcat Logs<\/strong><\/h3>\n<p>The filter given below is according to the use case defined above:<\/p>\n<p>[js]<br \/>\nfilter {<br \/>\nif [type] == &quot;catalina&quot; {<br \/>\nmultiline {<br \/>\npattern =&gt; &quot;(^\\s*|%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^20%{YEAR}-%{MONTHNUM}-%{MONTHDAY} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) %{ISO8601_TIMEZONE})&quot;<br \/>\nnegate =&gt; true<br \/>\nwhat =&gt; &quot;previous&quot;<br \/>\n}<br \/>\nif &quot;_grokparsefailure&quot; in [tags] {<br \/>\ndrop { }<br \/>\n}<br \/>\ngrok {<br \/>\nmatch =&gt; { &quot;message&quot; =&gt; &quot;(?:%{DATESTAMP:timestamp})(?:\\s*)(?:%{SYSLOG5424SD})(?:\\s*)(?:%{LOGLEVEL:log_type})(?:\\s*)%{GREEDYDATA:Message}&quot; }<br \/>\nmatch =&gt; { &quot;message&quot; =&gt; &quot;(?:\\s*)%{LOGLEVEL:log_type}(?:\\s*)%{GREEDYDATA:Message}&quot; }<br \/>\nmatch =&gt; { &quot;message&quot; =&gt; &quot;(?:\\s*)(?:%{GREEDYDATA:cache})&quot; }<br \/>\n}<br \/>\ndate {<br \/>\nmatch =&gt; [ &quot;timestamp&quot;, &quot;yyyy-MM-dd HH:mm:ss,SSS Z&quot;, &quot;MMM dd, yyyy HH:mm:ss a&quot;, &quot;yy-MM-dd HH:mm:ss,SSS&quot; ]<br \/>\n}<br \/>\n}<br \/>\n}[\/js]<\/p>\n<p>&nbsp;<\/p>\n<p>Since Tomcat logs are multiline, we have defined date patterns in multiline. It is not full filter, it is used just to catch multiline logs in Tomcat or any application that generates multiline logs. At the first time, it will throw _grokparsefailure for sure because till now we have only matched the date. After successful date matching, it will surely match the pattern defined under grok function and henceforth will not throw any such error. There are different date patterns in Tomcat so multiple date patterns have been defined under date function, to match any of them.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult [&hellip;]<\/p>\n","protected":false},"author":261,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":31,"footnotes":""},"categories":[2348],"tags":[],"class_list":["post-26494","post","type-post","status-publish","format-standard","hentry","category-devops-technology"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Aakash Garg\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Applying GROK Patterns in ELK | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Applying GROK Patterns in ELK | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#article\",\"name\":\"Applying GROK Patterns in ELK | TO THE NEW Blog\",\"headline\":\"Applying GROK Patterns in ELK\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/Aakash\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2015-09-22T15:43:32+05:30\",\"dateModified\":\"2016-01-19T13:31:50+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#webpage\"},\"articleSection\":\"DevOps\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/devops-technology\\\/#listItem\",\"name\":\"DevOps\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/devops-technology\\\/#listItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/devops-technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#listItem\",\"name\":\"Applying GROK Patterns in ELK\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#listItem\",\"position\":3,\"name\":\"Applying GROK Patterns in ELK\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/devops-technology\\\/#listItem\",\"name\":\"DevOps\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/Aakash\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/Aakash\\\/\",\"name\":\"Aakash Garg\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a2a15fa1dbed4594e135529cc5bebf8eea3aec738b3e873fee3939e7d8fb0466?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Aakash Garg\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/\",\"name\":\"Applying GROK Patterns in ELK | TO THE NEW Blog\",\"description\":\"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/applying-grok-patterns-in-elk\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/Aakash\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/Aakash\\\/#author\"},\"datePublished\":\"2015-09-22T15:43:32+05:30\",\"dateModified\":\"2016-01-19T13:31:50+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Applying GROK Patterns in ELK | TO THE NEW Blog","description":"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult","canonical_url":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#article","name":"Applying GROK Patterns in ELK | TO THE NEW Blog","headline":"Applying GROK Patterns in ELK","author":{"@id":"https:\/\/2thenew.online\/blog\/author\/Aakash\/#author"},"publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"},"datePublished":"2015-09-22T15:43:32+05:30","dateModified":"2016-01-19T13:31:50+05:30","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#webpage"},"articleSection":"DevOps"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.online\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/devops-technology\/#listItem","name":"DevOps"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/devops-technology\/#listItem","position":2,"name":"DevOps","item":"https:\/\/2thenew.online\/blog\/category\/devops-technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#listItem","name":"Applying GROK Patterns in ELK"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#listItem","position":3,"name":"Applying GROK Patterns in ELK","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/devops-technology\/#listItem","name":"DevOps"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.online\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.online\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.online\/blog\/author\/Aakash\/#author","url":"https:\/\/2thenew.online\/blog\/author\/Aakash\/","name":"Aakash Garg","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a2a15fa1dbed4594e135529cc5bebf8eea3aec738b3e873fee3939e7d8fb0466?s=96&d=mm&r=g","width":96,"height":96,"caption":"Aakash Garg"}},{"@type":"WebPage","@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#webpage","url":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/","name":"Applying GROK Patterns in ELK | TO THE NEW Blog","description":"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.online\/blog\/author\/Aakash\/#author"},"creator":{"@id":"https:\/\/2thenew.online\/blog\/author\/Aakash\/#author"},"datePublished":"2015-09-22T15:43:32+05:30","dateModified":"2016-01-19T13:31:50+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.online\/blog\/#website","url":"https:\/\/2thenew.online\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Applying GROK Patterns in ELK | TO THE NEW Blog","og:description":"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult","og:url":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/","og:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Applying GROK Patterns in ELK | TO THE NEW Blog","twitter:description":"Recently, I worked on filters in Logstash using different tools like grok, date etc. Many of us find grok patterns complex to write, so here I am writing this blog to make writing grok patterns easier. Use Case I had a use-case in which I had to filter logs from catalina.out, but it was difficult","twitter:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"26494","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"","og_object_type":"blog","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 14:14:15","updated":"2024-02-29 09:07:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\/category\/devops-technology\/\" title=\"DevOps\">DevOps<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tApplying GROK Patterns in ELK\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.online\/blog"},{"label":"DevOps","link":"https:\/\/2thenew.online\/blog\/category\/devops-technology\/"},{"label":"Applying GROK Patterns in ELK","link":"https:\/\/2thenew.online\/blog\/applying-grok-patterns-in-elk\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/26494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/users\/261"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/comments?post=26494"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/26494\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/media?parent=26494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/categories?post=26494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/tags?post=26494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}