• telegraf收集服务的各指标信息。
  • influxdb存储收集的信息
  • grafana显示收集出来的数据

参考资料

1. InfluxDB

1. 特征:

1. 时序性(Time Series)

与时间相关的函数的灵活使用(诸如最大、最小、求和等);

2. 度量(Metrics)

对实时大量数据进行计算;

3. 事件(Event)

支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

2. 特点:

  1. schemaless(无结构),可以是任意数量的列;
  2. min, max, sum, count, mean, median 一系列函数,方便统计;
  3. Native HTTP API, 内置http支持,使用http读写;
  4. Powerful Query Language 类似sql;
  5. Built-in Explorer 自带管理工具。

3. 功能及默认

  • 时序数据库
  • 默认端口为Web端8083 , API端8086 , 默认登陆信息admin

4. 主要概念

1) 与SQL的名词做比较

influxDB中的名词 SQL中的概念 概念
database 数据库 数据库
measurement 数据库中的表 fields,tags以及time列的容器
points 表中的一行数据 同一个series中具有相同时间的field set

2) InfluxDB的独有概念

Point

属性 SQL中的概念
timestamp 每个数据都需要一个时间戳(主索引&自动生成),在TSM存储引擎中会特殊对待,以为了优化后续的查询操作
field 1. 各种记录值(必须存在,没有索引的属性),eg:温度
2. 由field key,field value组成
3. field key和field value对组成field set
4. 如果使用字段作为查询条件,会扫描符合查询条件的所有字段值,性能不及tag。fields相当于SQL的没有索引的列。
5. field value可以为string,float,integer或boolean类型
tag 1. 各种有索引的属性,eg:地区
2. tag key,tag value组成
3. tag key和tag value对组成tag set
4. tags相当于SQL中的有索引的列
5. tag value只能是string类型

series

  • series是共享同一个retention policy,measurement以及tag set的数据集合
  • series相当于是InfluxDB中一些数据的集合。所有在数据库中的数据,都要通过图表展示出来,而series则表示表里面的数据,可以在图表上画成几条线(通过tags排列组合算出来)

shard

每个存储策略下会存在许多shard,每个shard存储一个指定时间段的数据,例如7点-8点的数据落入shard0中,8点-9点的数据落到shard1中,每个shard都对应一个底层的tsm存储引擎,有独立的cache,wal,tsm file。

retention policy

保留策略(RP)是用来定义数据在InfluxDB存放的时间,或者定义保存某个期间的数据。当你创建数据库时,InfluxDB会自动创建一个autogen(具有无限保留的保留策略)

5. 常用命令

1. 用户管理:

  • 显示用户

    SHOW USERS
  • 创建用户和设置密码  

    CREATE USER "username" WITH PASSWORD 'password'
  • 创建管理员权限的用户

    CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES
  • 删除用户

    DROP USER "username"
  • 授权数据库给指定用户

    GRANT ALL PRIVILEGES ON cadvisor TO testuse

2. database:

  • 创建数据库: CREATE DATABASE testDB
  • 显示所有数据库: SHOW DATABASES
  • 删除数据库: DROP DATABASE testDB
  • 使用数据库: USE testDB
  • 创建默认的数据保留策略,设置保存时间30天,副本为1

    CREATE RETENTION POLICY "xx_retention" ON "xx" DURATION 30d REPLICATION 1 DEFAULT

6. 函数

  • 聚合函数:FILL(), INTEGRAL(),SPREAD(), STDDEV(),MEAN(), MEDIAN() 等。
  • 选择函数: SAMPLE(), PERCENTILE(), FIRST(), LAST(), TOP(), BOTTOM()等。
  • 转换函数: DERIVATIVE(), DIFFERENCE()等。
  • 预测函数:HOLT_WINTERS()

7. golang中使用

直接看 git


2. Grafana

1. 主要特性

  • 灵活丰富的图形化选项
  • 可以混合多种风格
  • 支持白天和夜间模式
  • 多个数据源。

2. 功能及默认

  • 访问各类数据源 , 自定义报表、显示图表等等 , 用于提供界面监控
  • 默认端口为3000 , 默认登陆信息admin

3. Telegraf

1. 功能

收集系统和服务的统计数据, 并写入到InfluxDB数据库, 在需要监控的机器上安装

4. docker-compose搭建

influxdb:
image: influxdb:latest
container_name: tig-influxdb
ports:
- "8083:8083"
- "8086:8086"
- "8090:8090"
env_file:
- 'env.influxdb'
volumes:
# Data persistency
# sudo mkdir -p ./influxdb/data
- ./influxdb/data:/var/lib/influxdb
# 配置docker里的时间为东八区时间
- ./etc/timezone:/etc/timezone:ro
- ./etc/localtime:/etc/localtime:ro
restart: unless-stopped #停止后自动 telegraf:
image: telegraf:latest
container_name: tig-telegraf
links:
- influxdb
volumes:
- ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
- ./etc/timezone:/etc/timezone:ro
- ./etc/localtime:/etc/localtime:ro
restart: unless-stopped grafana:
image: grafana/grafana:latest
container_name: tig-grafana
ports:
- "3000:3000"
env_file:
- 'env.grafana'
links:
- influxdb
volumes:
# Data persistency
# sudo mkdir -p ./grafana/data; chown 472:472 ./grafana/data
- ./grafana/data:/var/lib/grafana
- ./etc/timezone:/etc/timezone:ro
- ./etc/localtime:/etc/localtime:ro
restart: unless-stopped

Influxdb+Grafana+Telegraf及docker中运行的更多相关文章

  1. 使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况

    使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + ...

  2. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  3. .NET Core Web 应用部署到 Docker 中运行

    环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...

  4. docker中运行ASP.NET Core Web API

    在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...

  5. 在Docker中运行torch版的neural style

    相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 在Docker中运行to ...

  6. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

  7. 在Docker中运行EOS(MAC版)

    在Docker中运行EOS(MAC版) 在Docker中也可以简单快速的构建EOS.IO.笔者在Mac平台下参考官方文档躺了一次河.记录如下: 安装依赖 Docker 版本 17.05或者更高 tes ...

  8. 在docker中运行jenkins实现代码自动发布到测试服务器

    在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...

  9. 在Docker中运行纸壳CMS并配置使用MySql

    纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. GitHub:https://github.com/ ...

随机推荐

  1. VMware 常见问题及解决办法

    Ø  简介 本文介绍使用 VMware 虚拟机时常见的问题及解决办法,主要包括: 1.   虚拟机操作系统装好后,每次进入虚拟机还进入安装程序 2.   虚拟机不能与主机复制粘帖 3.   解决错误: ...

  2. python的多线程

    1.多线程的例子 import threading #首先导入threading模块,这是使用多线程的前提 from time import ctime,sleep def music(func): ...

  3. windows 下启动运行 jar 包程序

    windows 下 运行 jar 包 java -jar XXX.jar java -server -Xms1024m -Xmx20480m -jar $JAR_NAME.jar windows 后台 ...

  4. httpClient closeableHttpClient

    https://www.cnblogs.com/lyy-2016/p/6388663.html

  5. word20170107当地交通 Local transportation有用的词和句子

    有用的词: transportation: 交通 airport express: 机场快线 shuttle bus: 班车 taxi/cab: 出租车 meter: 打表 limousine:专车. ...

  6. 安卓触控一体机的逆袭之路_追逐品质_支持APP软件安卓

    显示性能参数 接口:RGB信号 分辨率:1024*600 比例16:9 显示尺寸(A.A.):222.72*(W)*125.28(H)mm 外围尺寸:235.0(W)*143.0(H)*4.5(T)m ...

  7. [Kubernetes]容器日志的收集与管理

    在开始这篇文章之前,首先要明确一点: Kubernetes 中对容器日志的处理方式,都叫做 cluster-level-logging ,也就是说,这个日志处理系统,与容器, Pod 以及 Node ...

  8. LeetCode.接雨水

    题外话:LeetCode上一个测试用例总是通不过(我在文章末贴出通不过的测试用例),给的原因是超出运行时间,我拿那个测试用例试了下2.037ms运行完.我自己强行给加了这句: && m ...

  9. activemq之python使用stomp协议

    参考链接: 安装:https://pypi.org/project/stomp.py/4.1.8/#history https://www.cnblogs.com/andylhc/p/9337945. ...

  10. jupyter4.4.0自定义目录

    百度是有技巧的,现在百度的基本上都是2年前的帖子,对于最新的版本都不适用 对于jupyter自定义目录都是修改配置文件,这个对于jupyter4.4.0不适用: 1.在桌面创建jupyter-note ...