您的位置:首页 > 运维架构

influxdb+grafana搭建业务监控平台前篇-相关环境搭建

2016-11-11 17:06 976 查看

引言

在介绍具体的业务监控搭建之前还是现在介绍介绍influxdb和grafana。

时间序列数据库

在开始介绍Influxdb之前先简要介绍一下时间序列数据库。

何谓时间序列数据库?

什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。

Influxdb

Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。
它有三大特性:

时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
度量(Metrics):对实时大量数据进行计算;
事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

同时,它有以下几大特点:

schemaless(无结构),可以是任意数量的列;
min, max, sum, count, mean, median 一系列函数,方便统计;

Native HTTP API, 内置http支持,使用http读写;

Powerful Query Language 类似sql;

Built-in Explorer 自带管理工具。

Influxdb安装

本文使用的influxdb version是1.0.2

在讲解具体的安装步骤之前,先说说influxdb的两个http端口:8083和8086

port 8083:管理页面端口,访问localhost:8083可以进入你本机的influxdb管理页面;
port 8086:http连接influxdb client端口,一般使用该端口往本机的influxdb读写数据。

OS X
brew update
brew install influxdb

Docker Image
docker pull influxdb

Ubuntu & Debian
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.0.2_amd64.deb sudo dpkg -i influxdb_1.0.2_amd64.deb

RedHat & CentOS

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

Standalone Linux Binaries (64-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_amd64.tar.gz tar xvfz influxdb-1.0.2_linux_amd64.tar.gz

Standalone Linux Binaries (32-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_i386.tar.gz tar xvfz influxdb-1.0.2_linux_i386.tar.gz

Standalone Linux Binaries (ARM)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2_linux_armhf.tar.gz tar xvfz influxdb-1.0.2_linux_armhf.tar.gz

How to start?
安装完之后,如何启动呢?
sudo systemctl start influxdb


到这里influxdb安装启动完成,可以访问influxdb管理页面:http://localhost:8083,该版本没有登录用户及密码,可以自行设置读写的用户名和密码。

Grafana

granfana是一个open source的图形化数据展示工具,可以自定义datasource,自定义报表、显示数据等。

Grafana安装

本文使用的Grafana版本是3.1.1

Ubuntu & Debian
wget https://grafanarel.s3.amazonaws.com/builds/grafana_3.1.1-1470047149_amd64.deb sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_3.1.1-1470047149_amd64.deb

Centos & Redhat
sudo yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm sudo yum install initscripts fontconfig
sudo rpm -Uvh grafana-3.1.1-1470047149.x86_64.rpm

Mac
brew update
brew install grafana

Docker
docker run -i -p 3000:3000 grafana/grafana

How to start?
安装完之后,如何启动呢?(注:docker除外)

sudo service grafana-server start


启动之后,访问http://localhost:3000,可以访问你本地搭的grafana了,用户名跟密码都是admin。接下来我会详细讲解一下grafana的配置,如何制定自己的datasource,制定自己的图表。

Grafana Datasource及报表配置

Datasouurce配置:

第一步,进入DataSources配置自己的DataSource:



第二步,添加自己的datasouce并保存:



给一个我添加的datasouce的demo以供参考,grafana支持多种数据库,选择哪种读者视情况而定。



配置好datasource之后该回到dashboard配置自己的报表了。

报表配置

创建自己的dashboard并保存:



Settings可以配置dashboard的一些常用设置,比如名称,等等,读者可以自行研究配置。点击保存的图标,可以保存,配置完dashboard之后可以配置在dashboard展示的图表了。

图表配置:

第一步,添加图表,点击dashboard页面左边的绿色小图标,选择Add Pannel -> Graph



第二步,添加图表展示数据,实质上是添加一些datasouce的query:



照样还是给一个我添加的query demo,仅供参考,读者可以根据自己的实际情况添加自己的query:



第三步,保存展示:



到现在为止,influxdb + grafana搭建完毕,数据也可以正确的展示。后续文章我会依次讲解influxdb数据相关查询以及具体的业务代码怎么进行监控数据埋点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息