-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path折腾自己的监控系统:Collectd-InfluxDB-Grafana.html
347 lines (261 loc) · 30 KB
/
折腾自己的监控系统:Collectd-InfluxDB-Grafana.html
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
340
341
342
343
344
345
346
347
<!DOCTYPE html>
<html lang="en">
<!-- Head tag -->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--Description-->
<meta name="description" content="企业级的运维监控方案有很多,Zabbix 享负盛名,小米的 Open-Falcon 做得也越来越好。
这次主要分享一套简易的基于几个开源项目的监控方案:Collectd + InfluxDB + Grafana。算不上企业级,但是监控几台服务器还是不在话下。
概念
InfluxDB:基于时间序列的数">
<!--Author-->
<meta name="author" content="nepaul">
<!--Open Graph Title-->
<meta property="og:title" content="用 Collectd InfluxDB Grafana 来监控系统"/>
<!--Open Graph Site Name-->
<meta property="og:site_name" content="DesignBytes"/>
<!--Page Cover-->
<meta property="og:image" content=""/>
<link rel="icon" href="favicon/favicon.ico">
<!-- Title -->
<title>用 Collectd InfluxDB Grafana 来监控系统 - DesignBytes</title>
<!-- Bootstrap Core CSS -->
<!--
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
-->
<link href="//lib.baomitu.com/twitter-bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<link rel="stylesheet" href="/css/style.css">
<!-- Custom Fonts -->
<link href="//lib.baomitu.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<style>
@font-face{font-family:Lora;font-style:normal;font-weight:regular;src:url(//lib.baomitu.com/fonts/lora/lora-regular.eot);src:local('Lora'),local('Lora-Normal'),url(//lib.baomitu.com/fonts/lora/lora-regular.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/lora/lora-regular.woff2) format('woff2'),url(//lib.baomitu.com/fonts/lora/lora-regular.woff) format('woff'),url(//lib.baomitu.com/fonts/lora/lora-regular.ttf) format('truetype'),url(//lib.baomitu.com/fonts/lora/lora-regular.svg#Lora) format('svg')}@font-face{font-family:Lora;font-style:normal;font-weight:700;src:url(//lib.baomitu.com/fonts/lora/lora-700.eot);src:local('Lora'),local('Lora-Normal'),url(//lib.baomitu.com/fonts/lora/lora-700.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/lora/lora-700.woff2) format('woff2'),url(//lib.baomitu.com/fonts/lora/lora-700.woff) format('woff'),url(//lib.baomitu.com/fonts/lora/lora-700.ttf) format('truetype'),url(//lib.baomitu.com/fonts/lora/lora-700.svg#Lora) format('svg')}@font-face{font-family:Lora;font-style:italic;font-weight:regular;src:url(//lib.baomitu.com/fonts/lora/lora-italic.eot);src:local('Lora'),local('Lora-Italic'),url(//lib.baomitu.com/fonts/lora/lora-italic.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/lora/lora-italic.woff2) format('woff2'),url(//lib.baomitu.com/fonts/lora/lora-italic.woff) format('woff'),url(//lib.baomitu.com/fonts/lora/lora-italic.ttf) format('truetype'),url(//lib.baomitu.com/fonts/lora/lora-italic.svg#Lora) format('svg')}@font-face{font-family:Lora;font-style:italic;font-weight:700;src:url(//lib.baomitu.com/fonts/lora/lora-700italic.eot);src:local('Lora'),local('Lora-Italic'),url(//lib.baomitu.com/fonts/lora/lora-700italic.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/lora/lora-700italic.woff2) format('woff2'),url(//lib.baomitu.com/fonts/lora/lora-700italic.woff) format('woff'),url(//lib.baomitu.com/fonts/lora/lora-700italic.ttf) format('truetype'),url(//lib.baomitu.com/fonts/lora/lora-700italic.svg#Lora) format('svg')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-300italic.eot);src:local('Open Sans'),local('OpenSans-Italic'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300italic.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300italic.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300italic.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300italic.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300italic.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:regular;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-italic.eot);src:local('Open Sans'),local('OpenSans-Italic'),url(//lib.baomitu.com/fonts/open-sans/open-sans-italic.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-italic.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-italic.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-italic.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-italic.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-600italic.eot);src:local('Open Sans'),local('OpenSans-Italic'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600italic.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600italic.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600italic.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600italic.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600italic.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-700italic.eot);src:local('Open Sans'),local('OpenSans-Italic'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700italic.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700italic.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700italic.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700italic.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700italic.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-800italic.eot);src:local('Open Sans'),local('OpenSans-Italic'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800italic.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800italic.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800italic.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800italic.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800italic.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:regular;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-regular.eot);src:local('Open Sans'),local('OpenSans-Normal'),url(//lib.baomitu.com/fonts/open-sans/open-sans-regular.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-regular.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-regular.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-regular.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-regular.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-300.eot);src:local('Open Sans'),local('OpenSans-Normal'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-300.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-600.eot);src:local('Open Sans'),local('OpenSans-Normal'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-600.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-700.eot);src:local('Open Sans'),local('OpenSans-Normal'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-700.svg#OpenSans) format('svg')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;src:url(//lib.baomitu.com/fonts/open-sans/open-sans-800.eot);src:local('Open Sans'),local('OpenSans-Normal'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800.eot?#iefix) format('embedded-opentype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800.woff2) format('woff2'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800.woff) format('woff'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800.ttf) format('truetype'),url(//lib.baomitu.com/fonts/open-sans/open-sans-800.svg#OpenSans) format('svg')}
</style>
<!-- <link href="//fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css"> -->
<!-- <link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet" type="text/css"> -->
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Gallery -->
<!-- <link href="//cdn.rawgit.com/noelboss/featherlight/1.3.5/release/featherlight.min.css" type="text/css" rel="stylesheet" /> -->
<link href="//lib.baomitu.com/featherlight/1.3.5/featherlight.min.css" rel="stylesheet">
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-63590316-1', 'auto');
ga('send', 'pageview');
</script>
<meta name="generator" content="Hexo 6.3.0"></head>
<body>
<!-- Menu -->
<!-- Navigation -->
<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">DesignBytes</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/archives">Archives</a>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Main Content -->
<!-- Page Header -->
<!-- Set your background image for this header in your post front-matter: cover -->
<header class="intro-header" style="background-image: url('https://images.unsplash.com/photo-1452716726610-30ed68426a6b?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=eb13d4961a078aca65cfa493a8026519')">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="post-heading">
<h1>用 Collectd InfluxDB Grafana 来监控系统</h1>
<span class="meta">
<!-- Date and Author -->
Posted by nepaul on
2016-12-15
</span>
</div>
</div>
</div>
</div>
</header>
<!-- Post Content -->
<article>
<div class="container">
<div class="row">
<!-- Tags and categories -->
<div class="col-lg-4 col-lg-offset-2 col-md-5 col-md-offset-1 post-tags">
<a href="/tags/tool/">#tool</a>
</div>
<div class="col-lg-4 col-md-5 post-categories">
</div>
<!-- Gallery -->
<!-- Post Main Content -->
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<p><strong>企业级</strong>的运维监控方案有很多,<a target="_blank" rel="noopener" href="http://www.zabbix.com/">Zabbix</a> 享负盛名,小米的 <a target="_blank" rel="noopener" href="http://open-falcon.org/">Open-Falcon</a> 做得也越来越好。</p>
<p>这次主要分享一套简易的基于几个开源项目的监控方案:Collectd + InfluxDB + Grafana。算不上企业级,但是监控几台服务器还是不在话下。</p>
<h2 id="概念"><a href="#概念" class="headerlink" title="概念"></a>概念</h2><ul>
<li><p><a target="_blank" rel="noopener" href="https://docs.influxdata.com/influxdb"><strong>InfluxDB</strong></a>:基于时间序列的数据库,非常适合作为系统 metric 的数据存储。目前版本已经迭代到 V1.1 了。背后的 <a target="_blank" rel="noopener" href="https://www.influxdata.com/">influxdata</a> 公司发展势头很好,也有很多<a target="_blank" rel="noopener" href="https://docs.influxdata.com/">其他产品</a>。曾经也在 <a href="http://nepaul.github.io/2016/03/24/InfluxDB-%E6%B5%85%E5%B0%9D/">这边文章</a> 里有所介绍。</p>
</li>
<li><p><a target="_blank" rel="noopener" href="http://grafana.org/"><strong>Grafana</strong></a>: 一个已经非常有名的用来作为 metric 分析展现的 Dashboard。可以很方便地同其他开源工具继承,比如说同样有名的 Graphite 和 Elasticsearch 等。</p>
</li>
<li><p><strong><a target="_blank" rel="noopener" href="https://collectd.org/">Collectd</a></strong>: 用来收集系统和应用性能数据的工具,老牌并且应用广泛。通过各种配置可以收集非常丰富的数据。</p>
</li>
</ul>
<p>简单来说,Collectd 定期收集机器性能数据并且发送到 InfluxDB 存储下来。Grafana 从 InfluxDB 中取出数据并分析展现。 </p>
<h2 id="机器环境"><a href="#机器环境" class="headerlink" title="机器环境"></a>机器环境</h2><ul>
<li><p>服务端:负责存储数据并展现的服务器</p>
<ul>
<li>系统:Ubuntu-Server-16</li>
<li>需要安装的应用:InfluxDB,Grafana,Collectd</li>
</ul>
</li>
<li><p>客户端:被监控的设备</p>
<ul>
<li><p>系统:CentOS-7</p>
</li>
<li><p>需要安装的应用:Collectd</p>
<p></p>
</li>
</ul>
</li>
</ul>
<h2 id="InfluxDB"><a href="#InfluxDB" class="headerlink" title="InfluxDB"></a>InfluxDB</h2><blockquote>
<p>只需安装在服务端,<a target="_blank" rel="noopener" href="https://docs.influxdata.com/influxdb/v1.1/">官方安装文档</a></p>
</blockquote>
<h4 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -</span><br><span class="line">source /etc/lsb-release</span><br><span class="line">echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list</span><br><span class="line"></span><br><span class="line">sudo apt-get update && sudo apt-get install influxdb</span><br><span class="line">sudo service influxdb start</span><br></pre></td></tr></table></figure>
<h4 id="配置"><a href="#配置" class="headerlink" title="配置"></a>配置</h4><p><code>vim /etc/influxdb/influxdb.conf</code></p>
<p>取消以下内容的注释,修改 enable 参数为 true:</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line">[[collectd]]</span><br><span class="line"> enabled = true</span><br><span class="line"> bind-address = ":25826"</span><br><span class="line"> database = "collectd"</span><br><span class="line"> retention-policy = ""</span><br><span class="line"> typesdb = "/usr/share/collectd/types.db"</span><br><span class="line"></span><br><span class="line"> # These next lines control how batching works. You should have this enabled</span><br><span class="line"> # otherwise you could get dropped metrics or poor performance. Batching</span><br><span class="line"> # will buffer points in memory if you have many coming in.</span><br><span class="line"></span><br><span class="line"> # Flush if this many points get buffered</span><br><span class="line"> batch-size = 5000</span><br><span class="line"></span><br><span class="line"> # Number of batches that may be pending in memory</span><br><span class="line"> batch-pending = 10</span><br><span class="line"></span><br><span class="line"> # Flush at least this often even if we haven't hit buffer limit</span><br><span class="line"> batch-timeout = "10s"</span><br><span class="line"></span><br><span class="line"> # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max.</span><br><span class="line"> read-buffer = 0</span><br></pre></td></tr></table></figure>
<h4 id="启动"><a href="#启动" class="headerlink" title="启动"></a>启动</h4><p><code>sudo systemctl start influxdb</code></p>
<p>查看状态:<code>sudo systemctl status influxdb</code></p>
<p>通过命令行工具连接:<code>influx</code></p>
<h2 id="Collectd"><a href="#Collectd" class="headerlink" title="Collectd"></a>Collectd</h2><h4 id="安装-1"><a href="#安装-1" class="headerlink" title="安装"></a>安装</h4><blockquote>
<p>安装在所有需要监控的客户端。</p>
<p><strong>服务端也必须安装!</strong>否则 InfluxDB 配置 Collectd 后,会由于找不到 <code>/usr/share/collectd/types.db</code> 这个文件而无法启动!</p>
</blockquote>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sudo yum install epel-release</span><br><span class="line">sudo yum install collectd</span><br></pre></td></tr></table></figure>
<h4 id="配置-1"><a href="#配置-1" class="headerlink" title="配置"></a>配置</h4><p>取消以下参数的注释,并且修改 server 为你的 server IP</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">Hostname "本机的HostName"</span><br><span class="line"><Plugin network></span><br><span class="line"> # client setup:</span><br><span class="line"> Server "server-ip" "25826"</span><br><span class="line"> <Server "server-ip" "25826"></span><br><span class="line"> </Server></span><br><span class="line"></Plugin></span><br><span class="line">LoadPlugin network</span><br></pre></td></tr></table></figure>
<p>查看配置是否有语法问题:<code>collectd -t</code>,配置正确的话没有任何输出信息。</p>
<h4 id="启动-1"><a href="#启动-1" class="headerlink" title="启动"></a>启动</h4><p><code>sudo systemctl start collectd</code></p>
<p>因为之前已经成功配置启动 InfluxDB,所以此时可以 collectd 可以定期收集客户端的性能数据了。默认配置下会收集 CPU,load,memory 等数据。可以在服务端用 influx 的 cli 工具登录查看以下:</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line">$ influx</span><br><span class="line">Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.</span><br><span class="line">Connected to http://localhost:8086 version 1.1.1</span><br><span class="line">InfluxDB shell version: 1.1.1</span><br><span class="line">> show databases</span><br><span class="line">name: databases</span><br><span class="line">name</span><br><span class="line">----</span><br><span class="line">_internal</span><br><span class="line">collectd # 这个就是我们数据存储的 DB</span><br><span class="line"></span><br><span class="line">> use collectd</span><br><span class="line">Using database collectd</span><br><span class="line"></span><br><span class="line">> show measurements</span><br><span class="line">name: measurements</span><br><span class="line">name</span><br><span class="line">----</span><br><span class="line">cpu_value</span><br><span class="line">interface_rx</span><br><span class="line">interface_tx</span><br><span class="line">load_longterm</span><br><span class="line">load_midterm</span><br><span class="line">load_shortterm</span><br><span class="line">memory_value</span><br></pre></td></tr></table></figure>
<h2 id="Grafana"><a href="#Grafana" class="headerlink" title="Grafana"></a>Grafana</h2><blockquote>
<p><a target="_blank" rel="noopener" href="http://docs.grafana.org/">官方文档</a></p>
<p>只需要安装在 服务端。</p>
</blockquote>
<h4 id="安装-2"><a href="#安装-2" class="headerlink" title="安装"></a>安装</h4><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">$ wget https://grafanarel.s3.amazonaws.com/builds/grafana_4.0.2-1481203731_amd64.deb</span><br><span class="line">$ sudo apt-get install -y adduser libfontconfig</span><br><span class="line">$ sudo dpkg -i grafana_4.0.2-1481203731_amd64.deb</span><br></pre></td></tr></table></figure>
<h4 id="启动-2"><a href="#启动-2" class="headerlink" title="启动"></a>启动</h4><p><code>sudo systemctl start grafana-server</code></p>
<p>浏览器打开:<a target="_blank" rel="noopener" href="http://server-ip:3000/">http://server-ip:3000</a></p>
<h4 id="配置-2"><a href="#配置-2" class="headerlink" title="配置"></a>配置</h4><p>直接在浏览器通过界面配置,登录的用户名和密码都是 admin</p>
<p>界面操作很简单,<a target="_blank" rel="noopener" href="http://docs.grafana.org/datasources/influxdb/">详见这里</a>。</p>
<h4 id="一张最终的数据图"><a href="#一张最终的数据图" class="headerlink" title="一张最终的数据图"></a>一张最终的数据图</h4><p><img src="http://7xja18.com1.z0.glb.clouddn.com/grafana-load.png" alt="load"></p>
<h2 id="其他"><a href="#其他" class="headerlink" title="其他"></a>其他</h2><p><a target="_blank" rel="noopener" href="https://www.influxdata.com/time-series-platform/telegraf/">Telegraf</a>:Influxdata 出品的另一个开源的 时间序列数据收集工具。有很多的数据输入和输出插件,具体可以查看那<a target="_blank" rel="noopener" href="https://docs.influxdata.com/telegraf/v1.1/">官方文档</a>。非常灵活,未来可以在自己的程序中应用会更有趣。</p>
<h2 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h2><ul>
<li><a target="_blank" rel="noopener" href="https://www.influxdata.com/getting-started-with-sending-statsd-metrics-to-telegraf-influxdb/">Getting Started with Sending StatsD Metrics to Telegraf & InfluxDB</a></li>
<li><a target="_blank" rel="noopener" href="http://www.netinstructions.com/how-to-monitor-your-linux-machine/">How to monitor your Linux machine</a></li>
<li><a target="_blank" rel="noopener" href="http://jansipke.nl/monitoring-hosts-with-collectd-influxdb-and-grafana/">monitoring-hosts-with-collectd-influxdb-and-grafana</a></li>
</ul>
</div>
<!-- Comments -->
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<hr />
<h3>Comments:</h3>
<div id="disqus_thread">
<noscript>Please enable JavaScript to view the <a target="_blank" rel="noopener" href="//disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
</div>
</div>
</div>
</article>
<!-- Footer -->
<hr />
<!-- Footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<ul class="list-inline text-center">
<li>
<a href="https://github.com/nepaul" target="_blank">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-github fa-stack-1x fa-inverse"></i>
</span>
</a>
</li>
<!-- <li>
<a href="https://twitter.com/xsnepaul" target="_blank">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
</span>
</a>
</li>
<li>
<a href="https://medium.com/@nepaul" target="_blank">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-medium fa-stack-1x fa-inverse"></i>
</span>
</a>
</li> -->
</ul>
<p class="copyright text-muted"> © 2023 nepaul
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>, theme by <a target="_blank" rel="noopener" href="https://github.com/klugjo/hexo-theme-clean-blog">Clean Blog</a></p>
</div>
</div>
</div>
</footer>
<!-- After footer scripts -->
<!-- jQuery -->
<!--
<script src="/js/jquery.min.js"></script>
-->
<script src="//lib.baomitu.com/jquery/2.2.4/jquery.min.js"></script>
<!-- Bootstrap -->
<!--
<script src="/bootstrap/js/bootstrap.min.js"></script>
-->
<script src="//lib.baomitu.com/twitter-bootstrap/3.3.6/js/bootstrap.min.js"></script>
<!-- Gallery -->
<!-- <script src="//cdn.rawgit.com/noelboss/featherlight/1.3.5/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script> -->
<script src="//lib.baomitu.com/featherlight/1.3.5/featherlight.min.js"></script>
<!-- Disqus Comments -->
<script type="text/javascript">
var disqus_shortname = '';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>