新增《基于Telegraf+InfluxDB+Grafana展示FieldStat的数据》的安装文档
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
206
基于Telegraf+InfluxDB+Grafana展示FieldStat的数据/安装文档.md
Normal file
206
基于Telegraf+InfluxDB+Grafana展示FieldStat的数据/安装文档.md
Normal file
@@ -0,0 +1,206 @@
|
|||||||
|
# 基于 Telegraf + InfluxDB + Grafana 展示 FieldStat 数据的安装文档 #
|
||||||
|
|
||||||
|
## 交互图
|
||||||
|
|
||||||
|
```
|
||||||
|
采集数据
|
||||||
|
+------------+
|
||||||
|
| FieldStat2 |
|
||||||
|
+------------+
|
||||||
|
|
|
||||||
|
| udp
|
||||||
|
| 192.168.10.152:8125
|
||||||
|
\|/
|
||||||
|
+----------+ http +----------+ http +----------+
|
||||||
|
| Telegraf | -----------------> | InfluxDB | -----------------> | Grafana |
|
||||||
|
+----------+ 127.0.0.1:8086 +----------+ 127.0.0.1:8086 +----------+
|
||||||
|
聚合数据 存储数据 展示数据
|
||||||
|
```
|
||||||
|
|
||||||
|
## 更新系统时间
|
||||||
|
|
||||||
|
在所有机器上执行下列命令,更新系统时间,避免时间偏差。
|
||||||
|
|
||||||
|
```sh
|
||||||
|
ntpdate us.pool.ntp.org
|
||||||
|
```
|
||||||
|
|
||||||
|
## influxdb
|
||||||
|
|
||||||
|
**安装**
|
||||||
|
|
||||||
|
> 最新的 InfluxDB 1.x 是稳定版本,推荐用于生产;InfluxDB 2.0 处于 alpha 阶段,不建议用于生产。
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7.x86_64.rpm
|
||||||
|
yum localinstall influxdb-1.7.7.x86_64.rpm
|
||||||
|
```
|
||||||
|
|
||||||
|
* influxdb 为服务端
|
||||||
|
* influx 为客户端工具
|
||||||
|
|
||||||
|
**配置**
|
||||||
|
|
||||||
|
采用默认配置即可,配置文件路径 `/etc/influxdb/influxdb.conf`
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
influxdb config 查看配置
|
||||||
|
```
|
||||||
|
|
||||||
|
**启动**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
systemctl start/stop/status/restart influxdb
|
||||||
|
```
|
||||||
|
|
||||||
|
**开机自启动**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
systemctl enable influxdb.service 设置
|
||||||
|
systemctl list-unit-files | grep influxdb.service 查看
|
||||||
|
```
|
||||||
|
|
||||||
|
**创建数据库**
|
||||||
|
|
||||||
|
1.启动 influx 客户端
|
||||||
|
|
||||||
|
`-precision rfc3339` 表示以 `rfc3339` 格式显示时间,方便阅读。
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
influx 或 influx -precision rfc3339
|
||||||
|
```
|
||||||
|
|
||||||
|
2.创建名为 telegraf 的数据库
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
create database telegraf
|
||||||
|
```
|
||||||
|
|
||||||
|
3.切换到 telegraf 数据库
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
use telegraf
|
||||||
|
```
|
||||||
|
|
||||||
|
4.创建用户名为 telegraf 密码为 telegraf 的用户,注意用户名用双引号,密码用单引号
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
create user "telegraf" with password 'telegraf'
|
||||||
|
```
|
||||||
|
|
||||||
|
5.设置数据保留策略,如果不设置则采用默认策略(autogen),数据永久保存
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
CREATE RETENTION POLICY "1_year" ON telegraf DURATION 365d REPLICATION 1
|
||||||
|
ALTER RETENTION POLICY "1_year" ON telegraf DURATION 365d REPLICATION 1 default
|
||||||
|
```
|
||||||
|
|
||||||
|
6.显示当前数据库中的所有表
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
show measurements
|
||||||
|
```
|
||||||
|
|
||||||
|
7.插入数据
|
||||||
|
|
||||||
|
若未提供时间戳,influxdb 则分配当前的时间戳
|
||||||
|
格式:"<tag>,key1=val1,key2=val2",其中的 <tag> 就是通常说的表名,例如:
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
INSERT cpu,host=serverA,region=us_west value=0.64
|
||||||
|
```
|
||||||
|
|
||||||
|
8.查询数据
|
||||||
|
|
||||||
|
`tz('Asia/Shanghai')` 表示按照上海的 +8 时区显示时间。
|
||||||
|
`tz('Asia/Bishkek')` 表示按照哈萨克斯坦的 +6 时区显示时间。
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
SELECT "host", "region", "value" FROM "cpu" tz('Asia/Shanghai')
|
||||||
|
SELECT * FROM /.*/ 使用正则,表示查询所有的表
|
||||||
|
```
|
||||||
|
## telegraf
|
||||||
|
|
||||||
|
**安装**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.11.4-1.x86_64.rpm
|
||||||
|
yum localinstall telegraf-1.11.4-1.x86_64.rpm
|
||||||
|
```
|
||||||
|
|
||||||
|
**配置**
|
||||||
|
|
||||||
|
配置文件路径:`/etc/telegraf/telegraf.conf`
|
||||||
|
|
||||||
|
```
|
||||||
|
[agent]
|
||||||
|
hostname = "192.168.10.38"
|
||||||
|
# 当 telegraf 与数据源 fieldstat 布置到同一台机器上时设置 hostname 才有意义。
|
||||||
|
# 用于 influxdb 的 host 列用于区分数据来源于哪台机器。
|
||||||
|
|
||||||
|
[[outputs.influxdb]]
|
||||||
|
urls = ["http://127.0.0.1:8086"]
|
||||||
|
database = "telegraf"
|
||||||
|
username = "telegraf"
|
||||||
|
password = "telegraf"
|
||||||
|
|
||||||
|
[[inputs.statsd]]
|
||||||
|
protocol = "udp4"
|
||||||
|
service_address = ":8125" 设置聚合器接收数据的端口
|
||||||
|
percentiles = [50,80,90,95] 建议与 fieldstat 的配置一致
|
||||||
|
percentile_limit = 100000000
|
||||||
|
```
|
||||||
|
|
||||||
|
**启动**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
systemctl start/stop/status/restart telegraf
|
||||||
|
```
|
||||||
|
**开机自启动**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
systemctl enable telegraf.service 设置
|
||||||
|
systemctl list-unit-files | grep telegraf.service 查看
|
||||||
|
```
|
||||||
|
## grafana
|
||||||
|
|
||||||
|
**安装**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
wget https://dl.grafana.com/oss/release/grafana-6.3.0-1.x86_64.rpm
|
||||||
|
yum localinstall grafana-6.3.0-1.x86_64.rpm
|
||||||
|
```
|
||||||
|
|
||||||
|
**配置**
|
||||||
|
|
||||||
|
配置文件路径:/etc/grafana/grafana.ini
|
||||||
|
更改配置后需要重启服务。
|
||||||
|
|
||||||
|
**启动**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
systemctl start/stop/status/restart grafana-server
|
||||||
|
```
|
||||||
|
|
||||||
|
**开机自启动**
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
systemctl enable grafana-server.service 设置
|
||||||
|
systemctl list-unit-files | grep grafana-server.service 查看
|
||||||
|
```
|
||||||
|
|
||||||
|
**管理**
|
||||||
|
|
||||||
|
```
|
||||||
|
端口:3000
|
||||||
|
账号:admin
|
||||||
|
密码:admin
|
||||||
|
```
|
||||||
|
|
||||||
|
**配置**
|
||||||
|
|
||||||
|
* tfe 中使用的都是 FS_CALC_CURRENT
|
||||||
|
* FS_STYLE_FIELD : 建议只统计该类型的数据
|
||||||
|
* FS_STYLE_STATUS : 类型的数据入 fluxdb 有插入
|
||||||
|
|
||||||
|
> SELECT sum("value") / 60 FROM "[tfe3a]http_sess" WHERE $timeFilter GROUP BY time(1m) fill(0)
|
||||||
Reference in New Issue
Block a user