30-elk.html
12.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3. elk日志系统 — watchmen 1.0 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="4. zabbix监测系统" href="40-zabbix.html" />
<link rel="prev" title="2. ansible集群管理工具" href="20-ansible.html" />
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> watchmen
</a>
<div class="version">
1.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="10-summary.html">1. 概述</a></li>
<li class="toctree-l1"><a class="reference internal" href="20-ansible.html">2. ansible集群管理工具</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. elk日志系统</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">3.1. 安装</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">3.2. 配置</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#elasticsearch-6-4-0">3.2.1. elasticsearch-6.4.0配置</a></li>
<li class="toctree-l3"><a class="reference internal" href="#kibana-6-4-0-linux-x86-64">3.2.2. kibana-6.4.0-linux-x86_64配置</a></li>
<li class="toctree-l3"><a class="reference internal" href="#filebeat">3.2.3. filebeat配置</a></li>
<li class="toctree-l3"><a class="reference internal" href="#haproxy">3.2.4. haproxy配置</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id3">3.3. 使用</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#quick-start">3.3.1. quick start</a></li>
<li class="toctree-l3"><a class="reference internal" href="#kibana">3.3.2. kibana页面上的日志搜索技巧</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="40-zabbix.html">4. zabbix监测系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="80-starnet-dev.html">5. watchmen在繁星的应用与开发</a></li>
<li class="toctree-l1"><a class="reference internal" href="99-history.html">6. 修订历史</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">watchmen</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> »</li>
<li>3. elk日志系统</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/30-elk.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="elk">
<h1>3. elk日志系统<a class="headerlink" href="#elk" title="Permalink to this headline">¶</a></h1>
<p>ELK组合是日志系统的经典组合。但是Logstash是java程序,占用内存资源比较大,前端将其换成轻量级的filebeat。haproxy放在主节点上做代理转发。</p>
<p>filebeat(日志收集)+ elasticsearch(日志存储搜索)+kibana(ui展示)+haproxy(代理转发)</p>
<div class="section" id="id1">
<h2>3.1. 安装<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<p>离线安装包: <a class="reference external" href="smb://192.168.9.1">smb://192.168.9.1</a>/公共模块/繁星/繁星二代/自检系统/(elk_tx1、elk_server、haproxy_tx1)</p>
<p>filebeat使用源码放在主机上编译。 elk三个工程使用官方下载的tar.gz的包。都是java程序,直接就能运行。</p>
<p>繁星2代已编译好filebeat,其他平台需按照下面步骤编译:</p>
<p>filebeat编译安装参考:</p>
<p><a class="reference external" href="https://blog.csdn.net/lk142500/article/details/79535849">https://blog.csdn.net/lk142500/article/details/79535849</a></p>
<p>ubuntu14安装golang1.10:</p>
<p><a class="reference external" href="https://www.cnblogs.com/senlinyang/p/8777384.html">https://www.cnblogs.com/senlinyang/p/8777384.html</a></p>
</div>
<div class="section" id="id2">
<h2>3.2. 配置<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
<div class="section" id="elasticsearch-6-4-0">
<h3>3.2.1. elasticsearch-6.4.0配置<a class="headerlink" href="#elasticsearch-6-4-0" title="Permalink to this headline">¶</a></h3>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="c1"># 修改 elasticsearch-6.4.0/config/elasticsearch.yml</span>
<span class="c1"># 开放所有ip访问</span>
network.host: <span class="m">0</span>.0.0.0
<span class="c1"># 修改系统参数,否则运行会报错</span>
vi /etc/sysctl.conf
vm.max_map_count<span class="o">=</span><span class="m">655360</span>
sysctl -p
</pre></div>
</div>
</div>
<div class="section" id="kibana-6-4-0-linux-x86-64">
<h3>3.2.2. kibana-6.4.0-linux-x86_64配置<a class="headerlink" href="#kibana-6-4-0-linux-x86-64" title="Permalink to this headline">¶</a></h3>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="c1"># 修改 kibana-6.4.0-linux-x86_64/config/kibana.yml</span>
<span class="c1"># 开放所有ip访问</span>
server.host: <span class="s2">"0.0.0.0"</span>
<span class="c1"># 配置elasticsearch的访问地址</span>
elasticsearch.url: <span class="s2">"http://127.0.0.1:9200"</span>
</pre></div>
</div>
</div>
<div class="section" id="filebeat">
<h3>3.2.3. filebeat配置<a class="headerlink" href="#filebeat" title="Permalink to this headline">¶</a></h3>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>- type: log
<span class="c1"># 改成true</span>
enabled: <span class="nb">true</span>
<span class="c1"># 配置日志路径,可配置多个,支持通配符但层级格式必须相符</span>
paths:
- /root/Log/Ops/*/*.log
- /root/Log/VASvr/*/*.log
<span class="c1"># 日志编码格式。如果不一致,配置两个《- type: log》块。</span>
encoding: gbk
<span class="c1"># 本机标签,在kibana搜索时可以以beat.name为过滤条件</span>
name: <span class="s2">"myname-192.168.5.99"</span>
</pre></div>
</div>
</div>
<div class="section" id="haproxy">
<h3>3.2.4. haproxy配置<a class="headerlink" href="#haproxy" title="Permalink to this headline">¶</a></h3>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="c1"># 编辑/etc/haproxy/haproxy.cfg 在末尾增加下面配置</span>
<span class="c1"># 将本机所有9200端口数据转发至服务器9200端口</span>
listen elastic_proxy
<span class="nb">bind</span> <span class="m">0</span>.0.0.0:9200
mode tcp
server s1 <span class="m">192</span>.168.9.133:9200
</pre></div>
</div>
</div>
</div>
<div class="section" id="id3">
<h2>3.3. 使用<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<p>kibana访问地址: <a class="reference external" href="http://ip:5601">http://ip:5601</a></p>
<div class="section" id="quick-start">
<h3>3.3.1. quick start<a class="headerlink" href="#quick-start" title="Permalink to this headline">¶</a></h3>
<p>Discover是查看、搜索日志的主要页面。如果有filebeat上报日志,第一次进入Discover会自动跳转,创建Index Patterns。</p>
<img alt="_images/elk-01.png" src="_images/elk-01.png" />
<img alt="_images/elk-02.png" src="_images/elk-02.png" />
<p>创建完毕后,在Discover中可以看到日志内容了,鼠标移到message,点add添加到“selected fields”中,日志内容看起来会清晰些。</p>
<img alt="_images/elk-03.png" src="_images/elk-03.png" />
<p>Management->Elasticsearch->Index Management中会自动生成类似“filebeat-7.0.0-alpha1-2018.09.29”的行。</p>
<p>进入Management->Kibana->Index Patterns可查看、删除、重新创建Index Patterns</p>
<p>仅以上配置,利用搜索栏和Add a filter, 以主机、文件名、时间、关键字等等组合条件,就能满足绝大多数需求。</p>
<p>其他使用技巧在下面补充</p>
</div>
<div class="section" id="kibana">
<h3>3.3.2. kibana页面上的日志搜索技巧<a class="headerlink" href="#kibana" title="Permalink to this headline">¶</a></h3>
<p>kikana Discover页面的搜索栏支持的查询语法名叫Lucene query。elasticsearch底层使用Lucene,api和kibana都支持Lucene语法。</p>
<p>lucene query语法参考:<a class="reference external" href="https://blog.csdn.net/feifantiyan/article/details/54411183">https://blog.csdn.net/feifantiyan/article/details/54411183</a></p>
<p>下面列出几个使用实例:</p>
<ul class="simple">
<li>查找beat.name为8.133的设备上日志文件路径中包含”Ops/2018-9-30”的日志</li>
</ul>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>source:?*<span class="se">\/</span>Ops<span class="se">\/</span><span class="m">2018</span>-09-30?* AND beat.name:8.133
</pre></div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="40-zabbix.html" class="btn btn-neutral float-right" title="4. zabbix监测系统" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="20-ansible.html" class="btn btn-neutral" title="2. ansible集群管理工具" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
© Copyright 2018, liuhang.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'1.0',
LANGUAGE:'None',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>