InfluxDB 创建权限 细节+Grafana搭建和Grafana dashboard的配置

InfluxDB+Grafana搭建和Grafana dashboard的配置

2017年09月12日 00:41:02 阅读数:7874 标签: 时序数据库influxdbgrafana 更多

个人分类: 随笔

 

一、InfluxDB安装

在RedHat&CentOS下,使用下面命令直接安装并启动:

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64.rpm
sudo yum localinstall influxdb-1.2.4.x86_64.rpm
sudo service influxdb start

默认的配置文件在 /etc/influxdb/influxdb.conf,可以通过下面的命令指定配置文件启动:

influxd -config /etc/influxdb/influxdb.conf

用默认的配置文件启动后,输入 influx 命令即可直接连接到本地的influxdb服务。

$ influx
Connected to http://localhost:8086 version 1.2.x
InfluxDB shell 1.2.x
>

InfluxDB使用的是一种SQL like的查询语言,叫做InfluxQL。与标准SQL的语法类似,但也有为InfluxDB定制的语法,比较容易上手。比如接下来先创建用户:

-- 创建一个管理员用户
CREATE USER "admin" WITH PASSWORD '111111' WITH ALL PRIVILEGES
-- 创建一个普通用户
CREATE USER "user" WITH PASSWORD '111111'
-- 为用户授权读权限
GRANT READ ON [database] to "user"
-- 为用户授权写权限
GRANT WRITE ON [database] to "user"

修改InfluxDB的配置文件,设置http下的auth-enabled = true,重启后,使用influx命令登录数据库就需要用户名和密码了。(Influx命令实际上也是使用API来操作InfluxDB的,InfluxDB只提供了API接口)

InfluxDB的配置还有很多,之后研究透后再慢慢调整。

$ influx -username admin -password ''
Connected to http://localhost:8086 version 1.2.x
InfluxDB shell 1.2.x
>

在-password后接空字符串回车后输入密码可以屏蔽掉密码显示,不要直接在-password后跟上密码。

接下来是一系列的创建操作

-- 创建数据库,默认设置
CREATE DATABASE "foo"
-- 创建数据库,同时创建一个Retention Policy,这个东西不知道怎么翻译,可以认为是一个DATABASE的属性描述
-- Retention Policy各部分描述:DURATION为数据存储时长,下面的1d即只存1天的数据;REPLICATION为数据副本,一般在使用集群的时候才会设置为>1;SHARD DURATION为分区间隔,InfluxDB默认对数据分区,下面的30m即对数据每隔30分钟做一个新的分区;Name是RP的名字。
CREATE DATABASE "bar" WITH DURATION 1d REPLICATION 1 SHARD DURATION 30m NAME "myrp"
 
-- 可以单独创建RP,加在已经创建的DB上
CREATE RETENTION POLICY "events" ON "somedb" DURATION 60m REPLICATION 2 SHARD DURATION 30m

当然InfluxDB还支持其他DDL,具体可猛击https://docs.influxdata.com/influxdb/v1.2/query_language/spec/#queries 查看Influx Reference。

由于InfluxDB的无结构(schemeless)特性,我们不需要预先建表,直接use [ database ]后就可以写入数据了。举个栗子。

INSERT cpu,host=serverA,region=us_west value=0.64
 
INSERT temperature,machine=unit42,type=assembly external=25,internal=37

上面语句中的cpu, temperature为InfluxDB某个database的measurement;host,region,machine,type为对应measurement下的tags;value,external,internal为对应measurement下的field,是measurement的实际值;而INSERT的一行数据称为一个point

measurement,tags,fields,points与普通的关系型数据库的对应:

  • measurement类似于SQL中的table;
  • tags类似SQL中的被索引的列;
  • fields类似于SQL中没有被索引的列;
  • points对应SQL的table中的每行数据。

更详细的介绍猛戳https://docs.influxdata.com/influxdb/v1.2/concepts/glossary/

然后读数据:

SELECT "host", "region", "value" FROM "cpu"
SELECT * FROM "temperature"
-- measurement都可以用正则表示,下面表示读一个db下的所有measurement的数据
SELECT * FROM /.*/ 
-- 配上where条件
SELECT "region", "value" FROM "cpu" where "host" = "server1"

在select中使用tags的字段来作为where中的条件最好,因为tags都是有索引的,而field是没有索引的。

select的列必须带有一个field,否则是查不出来的。

二、Grafana安装

直接使用yum安装

$ sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.1-1.x86_64.rpm

启动要指定homepath,配置文件要放在homepath的config目录下。默认的配置文件为default.ini,可以用-config指定自己的配置文件。

目前配置文件还没研究透,只修改了几个存储目录的路径,像data,logs之类的。

启动命令:

$ ./grafana-server -homepath <dir> -config <file>

三、Grafana配置

启动后,本地服务的默认端口为3000,在浏览器输入localhost:3000,输入用户名和密码admin/admin,即可登录。(管理员的用户名和密码在配置文件中可以配置的)

根据Getting Started with Grafana中的步骤,依次配置Grafana的数据源(这里就是InfluxDB),创建一个DashBoard以及添加用户。

1.配置数据源

配置数据源的界面如下所示:

配置从上往下:

  • Name即为该数据源的标识名称,type为数据类型,这里为InfluxDB。此外Grafana还支持多种数据源;
  • 在http settings类下,URL即InfluxDB的http server的URL,Access方式有proxy和direct。direct为在浏览器端直接连接数据源,不经过Grafana的后端。proxy即Grafana做连接的代理,前端要经过Grafana后端来连接数据源;
  • 下面是http认证的一些配置,这里没有用到所以暂时不介绍;
  • 最后是InfluxDB Details,需要填写的有数据源对应的database,以及使用的用户名和密码。这里有个小问题就是先前我配置一个只读权限的用户会报错,似乎只读用户不能使用Show命令,这里需要看一下,按理说这种用户的权限必须是只读的,如果有别的权限可能会有安全问题。

配置好以后Grafana会尝试连接,如果出错会在页面上报错,没问题的话就可以直接保存了。

2.建立一个dashboard

点击create your first dashboard,进入下面的界面:

默认Grafana支持这些图表,当然可以在Grafana的官网上下载更多的图表插件。我们选择最基本的折线图Graph。点开,点击panel title,点击edit打开配置框。

General设置看板的标题等属性,还可以配置下钻看板,即点击该看板可以跳到另一个看板中。最重要的设置是Metrics,上图可以看到,该设置是构造查询InfluxDB的查询语句的。A是这条查询的标识,如果要增加一条查询,标识就是B。这个貌似不能自定义,它的用途会在Alert设置下使用到。我们可以看到将要构造的查询结构,一眼就能看出来这是在构造一条SQL语句,熟悉SQL的人也很清楚每个字段的意义。FROM后面跟的是数据库的rentention policy和measurement,WHERE后面为条件,注意尽量使用tags的字段作为条件。下面的SELECT则是填写field或tags的key,并可以选择一系列聚合函数。GROUP BY为聚合字段,一般是按时间聚合,当然也可以按其他字段。按时间聚合可以指定时间粒度,比如time(1s),time(1d)等。下面的FORMAT AS为指定格式,ALIAS BY为指定别名。

配置好Metric后,InfluxDB中有数据的话就可以看到有折线出现了。右上角有刷新按钮,如果有新数据导入,点击刷新即可在图上显示最新的数据了。同时我们还可以设置自动刷新,已经图表展现的时间范围。

另一个重要的配置是报警Alert。点击Alert-create alert后会出现报警的配置,可以配置报警名称,触发条件,定时监测,状态触发等。报警支持邮件的报警,要接入钉钉可以使用webhook来实现。

3. 增加用户

回到home dashboard,点击add users。可以增加用户账号。添加需要填写用户名和邮箱,提交后会生成一个邀请链接,发给对应的用户后点击进入,然后用户自己填写密码后,就能登录了。

<think>好的,用户想了解在Windows系统下如何搭建Telegraf+InfluxDB+Grafana。首先,我需要回忆这三个组件的作用它们之间的关系。Telegraf是数据采集工具,InfluxDB是时序数据库,Grafana是数据可视化工具。通常组合在一起用于监控数据分析。 接下来,我需要考虑在Windows环境下安装这三个软件的步骤。每个软件都有Windows版本,所以应该没问题。但需要注意安装顺序,可能先安装InfluxDB,再配置Telegraf,最后Grafana。 然后,用户可能需要具体的安装步骤,比如下载地址、配置文件的修改。例如,InfluxDB的安装可能需要设置服务,Telegraf的配置文件需要指定输出到InfluxDBGrafana需要添加InfluxDB数据源。 还要注意常见的问题,比如服务启动失败、配置文件语法错误、端口冲突等。比如InfluxDB默认使用8086端口,如果被占用需要修改。Telegraf的配置文件需要正确指向InfluxDB的地址端口,以及采集哪些数据。 另外,用户可能想知道如何验证每个步骤是否成功,比如通过访问InfluxDB的HTTP API,或者查看Telegraf的日志是否有错误。Grafana中添加数据源后,可能需要创建仪表盘来展示数据,这部分也需要简单说明。 是否需要提供示例配置文件的内容?比如Telegraf的默认配置可能需要启用CPU、内存等监控,并输出到InfluxDB。用户可能需要知道如何生成初始配置文件,以及如何修改它。 权限问题也可能出现,比如Windows服务需要管理员权限来安装启动。防火墙设置可能会阻止端口通信,需要提醒用户检查。 最后,用户可能需要一些优化或下一步的建议,比如如何添加更多监控项,如何设置警报,或者如何扩展架构。这些可以作为进阶内容简要提及。 总结下来,回答的结构应该是分步骤安装三个组件,配置它们之间的连接,验证安装,并给出常见问题解决方法。同时,保持语言清晰,步骤详细,便于用户跟随操作。</think>以下是在Windows系统下搭建Telegraf+InfluxDB+Grafana监控系统的分步指南: --- ### **一、组件说明** 1. **InfluxDB**:时序数据库,存储采集的监控数据 2. **Telegraf**:数据采集代理,收集系统/应用指标 3. **Grafana**:数据可视化平台,展示监控仪表盘 --- ### **二、安装步骤** #### **1. 安装InfluxDB** - 下载地址:https://portal.influxdata.com/downloads/ - 选择Windows版本`.zip`文件 - 解压后执行: ```powershell # 进入解压目录 cd influxdb2-2.7.1-windows-amd64 # 启动服务 .\influxd.exe ``` - 浏览器访问 `http://localhost:8086` 完成初始化配置 #### **2. 配置Telegraf** - 下载地址:https://portal.influxdata.com/downloads/ - 生成配置文件: ```powershell telegraf.exe --sample-config --input-filter cpu:mem --output-filter influxdb_v2 > telegraf.conf ``` - 修改`telegraf.conf`: ```toml [[outputs.influxdb_v2]] urls = ["http://localhost:8086"] token = "Your_InfluxDB_Token" organization = "Your_Org" bucket = "Your_Bucket" ``` - 启动服务: ```powershell telegraf.exe --config telegraf.conf ``` #### **3. 部署Grafana** - 下载地址:https://grafana.com/grafana/download - 安装后访问 `http://localhost:3000` (默认账号admin/admin) - 添加数据源: 1. 选择InfluxDB类型 2. URL填写`http://localhost:8086` 3. 配置Database/Token等参数 --- ### **三、验证配置** 1. **检查InfluxDB数据**: ```powershell influx query 'from(bucket:"Your_Bucket") |> range(start:-5m)' ``` 2. **Grafana创建仪表盘**: - 新建Dashboard - 添加Panel选择`cpu`或`mem`相关指标 --- ### **四、进阶配置** 1. **Windows服务化部署**: ```powershell # InfluxDB服务安装 nssm install InfluxDB "C:\path\to\influxd.exe" # Telegraf服务安装 nssm install Telegraf "C:\path\to\telegraf.exe" --config telegraf.conf ``` 2. **监控项扩展**: - 在`telegraf.conf`中添加插件: ```toml [[inputs.win_perf_counters]] [[inputs.win_perf_counters.object]] ObjectName = "Network Interface" Instances = ["*"] Counters = ["Bytes Received/sec", "Bytes Sent/sec"] ``` --- ### **五、常见问题** 1. **端口冲突**: - 修改InfluxDB配置文件`influxdb.conf`中`http-bind-address` 2. **数据不显示**: - 检查Telegraf日志`C:\Program Files\Telegraf\telegraf.log` 3. **认证失败**: - 确认InfluxDB Token权限正确 --- ### **六、架构示意图** ``` +-------------+ +------------+ +---------+ | Telegraf | ---> | InfluxDB | <--- | Grafana | | (数据采集) | 写入 | (数据存储) | 查询 | (展示) | +-------------+ +------------+ +---------+ ``` 通过以上步骤,即可在Windows环境下构建完整的监控系统。建议先测试基础监控项,再逐步扩展采集范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值