Influxdb+Grafana+Telegraf及docker中运行
- telegraf收集服务的各指标信息。
- influxdb存储收集的信息
- grafana显示收集出来的数据
参考资料
1. InfluxDB
1. 特征:
1. 时序性(Time Series)
与时间相关的函数的灵活使用(诸如最大、最小、求和等);
2. 度量(Metrics)
对实时大量数据进行计算;
3. 事件(Event)
支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。
2. 特点:
- schemaless(无结构),可以是任意数量的列;
- min, max, sum, count, mean, median 一系列函数,方便统计;
- Native HTTP API, 内置http支持,使用http读写;
- Powerful Query Language 类似sql;
- 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搭建
docker-compose.yml
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中运行的更多相关文章
- 使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况
使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + ...
- 在docker中运行ASP.NET Core Web API应用程序
本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...
- .NET Core Web 应用部署到 Docker 中运行
环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...
- docker中运行ASP.NET Core Web API
在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...
- 在Docker中运行torch版的neural style
相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 在Docker中运行to ...
- ASP.NET Core 网站在Docker中运行
Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...
- 在Docker中运行EOS(MAC版)
在Docker中运行EOS(MAC版) 在Docker中也可以简单快速的构建EOS.IO.笔者在Mac平台下参考官方文档躺了一次河.记录如下: 安装依赖 Docker 版本 17.05或者更高 tes ...
- 在docker中运行jenkins实现代码自动发布到测试服务器
在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...
- 在Docker中运行纸壳CMS并配置使用MySql
纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. GitHub:https://github.com/ ...
随机推荐
- Storage 002 电商数据库设计
[用户模块] 账户登录:邮箱/用户名/已验证手机 密码 如果将所有字段都放到一张表里存储? 数据插入异常 只想插入一个值的 由于需要主键信息,插入的一行变成新的一行,和原来的记录无关. ...
- Keras实现LSTM
一.先看一个Example 1.描述,输入为一个字母,输出为这个字母的下一个顺序字母 A->B B->C C->D 2.Code import numpy from keras.mo ...
- Linux-Shell编程之求命令行中所有整数之和
前言 复习shell编程知识,书中有此练习题,之前学习时便没有搞透彻,此次是非啃下不可. 但是,摸索许久,却屡碰南墙,于是查阅网络博客,结果有让人比学不懂知识更让生气的是:博文遍地,净是抄袭!连个截图 ...
- httpClient closeableHttpClient
https://www.cnblogs.com/lyy-2016/p/6388663.html
- KML,SHP TAB互转,GDAL
最近在接触地图数据转换的东西,从硬件kml的数据转换其他的格式,因为从没做过着东西, 先去了解kml文件格式 http://baike.baidu.com/view/400307.htm?fr=ala ...
- JAVA进阶17
---恢复内容开始--- 间歇性混吃等死,持续性踌躇满志系列-------------第17天 1.递归结构 递归是一种常见的解决问题的方法,即把问题逐渐简单化.递归的基本思想就是自己就是“自己调用自 ...
- word20170103除了busy,忙的10种英语说法!
年前,忙死啦!除了busy,这些说法更地道.更形象! #1 I'm swamped! Swamp: 沼泽“忙死了”最形象.最对应的英语说法:It's the end of the year. I'm ...
- CSS 实现滚动进度条效果
参考:https://www.w3cplus.com/css/pure-css-create-scroll-indicator.html 前言:细化总结.参考的文章作者已经写的很详细了.这里在从初学者 ...
- 封装selenium自动化框架中的截图功能
对selenium自带的截图功能进行封装: 以下为封装的代码,自定义一个.py文件即可,图片路径自己设置一个. #coding:utf-8 class Screen(object): ''' 封装的截 ...
- A Discriminative Feature Learning Approach for Deep Face Recognition
url: https://kpzhang93.github.io/papers/eccv2016.pdf year: ECCV2016 abstract 对于人脸识别任务来说, 网络学习到的特征具有判 ...