<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Elk on Coding</title>
		<link>http://coding.dong.asia/categories/elk/</link>
		<description>Recent content in Elk on Coding</description>
		<generator>Hugo</generator>
		<language>cn</language>
		
		
		
			<copyright>京ICP备17034023号 © 2019 隨風揚</copyright>
		
		
			<lastBuildDate>Tue, 13 Mar 2018 07:16:54 +0000</lastBuildDate>
		
			<atom:link href="http://coding.dong.asia/categories/elk/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>logstash多个配置文件数据混乱问题</title>
				<link>http://coding.dong.asia/elk/logstash/2/</link>
				<pubDate>Tue, 13 Mar 2018 07:16:54 +0000</pubDate>
				<guid>http://coding.dong.asia/elk/logstash/2/</guid>
				<description>&lt;p&gt;程序自始至终只有一个pipline。要想多个pipline，只能通过启动多个logstash实例。  &lt;br&gt;&#xA;当指定的目录下的所有配置文件启动时，Logstash会自动把多个文件合并在一个文件中。&lt;br&gt;&#xA;可以通过cat **.conf &amp;gt; /tmp/tmp.conf查看多个配置文件合并后的效果，排查问题。&lt;br&gt;&#xA;&lt;strong&gt;假如有个2配置文件，output又指向同一源时，可以拆成3个文件来处理。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;input1conf&#34;&gt;input1.conf&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;l&#34;&gt;input { ....... .}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;filter { &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;if [type] == &amp;#34;1&amp;#34;{ &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;       &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;grok { ...........} &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;}&lt;span class=&#34;w&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;input2conf&#34;&gt;input2.conf&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;l&#34;&gt;input { ....... .}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;filter { &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;if [type] == &amp;#34;2&amp;#34;{ &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;grok { ...........} &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;}&lt;span class=&#34;w&#34;&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;outputconf&#34;&gt;output.conf&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;l&#34;&gt;output { &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;................ &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>对Elasticsearch的Text字段分组查询</title>
				<link>http://coding.dong.asia/elk/elasticsearch/1/</link>
				<pubDate>Wed, 06 Dec 2017 06:58:20 +0000</pubDate>
				<guid>http://coding.dong.asia/elk/elasticsearch/1/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html#_fielddata_is_disabled_on_literal_text_literal_fields_by_default&#34;&gt;官方文档&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;ES默认不支持Text类型字段进行分组查询，将fielddata设置为true。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -XPUT &lt;span class=&#34;s1&#34;&gt;&amp;#39;172.16.88.100:9200/capture-2017.06.19/_mapping/capture&amp;#39;&lt;/span&gt; -d&lt;span class=&#34;s1&#34;&gt;&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;properties&amp;#34;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    &amp;#34;host&amp;#34;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;      &amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;      &amp;#34;fielddata&amp;#34;: true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>grok解析syslog异常_grokparsefailure</title>
				<link>http://coding.dong.asia/elk/logstash/3/</link>
				<pubDate>Tue, 05 Dec 2017 06:06:30 +0000</pubDate>
				<guid>http://coding.dong.asia/elk/logstash/3/</guid>
				<description>&lt;p&gt;logstash的异常信息并不像elastichsearch那样可以打印出详细的java堆栈错误，方便出错后排查问题。&lt;/p&gt;&#xA;&lt;p&gt;在使用logstash中遇到_grokparsefailure，实在是太难调试，只能一点点去试、去分析。&lt;/p&gt;&#xA;&lt;p&gt;之前在解析一个标准的syslog日志竟然也出错。用的官方的标准的pattern。&lt;/p&gt;&#xA;&lt;p&gt;下面这行日志grok解析失败了：&lt;/p&gt;&#xA;&lt;p&gt;从&lt;a href=&#34;https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns&#34;&gt;官方模版&lt;/a&gt;中的正则可以看出对于HOSTNAME的解析不支持&amp;quot;_&amp;quot;;。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;SYSLOGHOST %&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;IPORHOST&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;IPORHOST &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;?:%&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;HOSTNAME&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;%&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;IP&lt;span class=&#34;o&#34;&gt;})&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;HOSTNAME &lt;span class=&#34;se&#34;&gt;\b&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;?:&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;0-9A-Za-z&lt;span class=&#34;o&#34;&gt;][&lt;/span&gt;0-9A-Za-z-&lt;span class=&#34;o&#34;&gt;]{&lt;/span&gt;0,62&lt;span class=&#34;o&#34;&gt;})(&lt;/span&gt;?:&lt;span class=&#34;se&#34;&gt;\.&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;?:&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;0-9A-Za-z&lt;span class=&#34;o&#34;&gt;][&lt;/span&gt;0-9A-Za-z-&lt;span class=&#34;o&#34;&gt;]{&lt;/span&gt;0,62&lt;span class=&#34;o&#34;&gt;}))&lt;/span&gt;*&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\.&lt;/span&gt;?&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\b&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;找到问题，解决就容易了，要么改主机名要么不用官方的pattern。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Logstash简介</title>
				<link>http://coding.dong.asia/elk/logstash/1/</link>
				<pubDate>Tue, 05 Dec 2017 02:43:59 +0000</pubDate>
				<guid>http://coding.dong.asia/elk/logstash/1/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html&#34;&gt;官方文档&lt;/a&gt;&lt;br&gt;&#xA;Logstash是一个接收，处理，转发日志的工具。包含input、filter、output三大组件。分别实现收集-&amp;gt;过滤-&amp;gt;输出三个功能。&lt;br&gt;&#xA;每个组件下面都包含丰富的插件，下图列举一些常见的。&#xA;&lt;img src=&#34;https://picabstract-preview-ftn.weiyun.com:8443/ftn_pic_abs_v2/1479c4ce851bff44a9eb702fb71f3042eee8dbdbb1318021cc38ccf99967ef601d47b73de0b35b719f6d21645075d1b4?pictype=scale&amp;amp;from=30113&amp;amp;version=3.3.3.3&amp;amp;uin=535301&amp;amp;fname=Logstash-2.bmp&amp;amp;size=750&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;intput&#34;&gt;intput&lt;/h2&gt;&#xA;&lt;p&gt;主要负责从数据源接收数据。常见的如：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;file：从文件系统中读取一个文件，类似UNIX命令&amp;quot;tail -0a&amp;quot;。&lt;/li&gt;&#xA;&lt;li&gt;syslog：监听514端口，按照RFC3164标准解析日志数据。&lt;/li&gt;&#xA;&lt;li&gt;redis：从redis服务器读取数据，支持channel(发布订阅)和list模式。redis一般在Logstash消费集群中作为&amp;quot;broker&amp;quot;角色，保存events队列共Logstash消费。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;filter&#34;&gt;filter&lt;/h2&gt;&#xA;&lt;p&gt;主要承担对接收的数据解析、过滤。常用的有：&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
