第一步、安装Influxdb

首先启动docker

systemctl start docker

然后安装Influxdb(这里解释一下为啥用docker,因为官网下载的话需要翻墙【fan-qiang】,真悲催)注意切换root用户

[root@localhost admin]# docker pull influxdb
Using default tag: latest
Trying to pull repository docker.io/library/influxdb ...
latest: Pulling from docker.io/library/influxdb
55cbf04beb70: Pull complete
1607093a898c: Pull complete
9a8ea045c926: Pull complete
4c8b66fe6495: Pull complete
9f3c67b9b082: Pull complete
864cc6881ca8: Pull complete
c1165c5c85e6: Pull complete
0b5bd48b7b2b: Pull complete
Digest: sha256:c9098612611038b6d0daddf1ed89d0144f41124b0feed765c0d31844e7f32e9f
Status: Downloaded newer image for docker.io/influxdb:latest
[root@localhost admin]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mongo latest 8bf72137439e days ago MB
docker.io/influxdb latest 34de2bdc2d7f days ago MB
docker.io/centos latest 5182e96772bf days ago MB
docker.io/hello-world latest 2cb0d9787c4d weeks ago 1.85 kB

启动Influxdb

[root@localhost admin]# docker run -d -p : -p : --name my_influxdb influxdb
aec85244ff227e3175afcba59dc7293001428e4b21300c09c5567becac270635
[root@localhost admin]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aec85244ff22 influxdb "/entrypoint.sh in..." seconds ago Up seconds 0.0.0.0:->/tcp, 0.0.0.0:->/tcp my_influxdb

其实这一步可以省略8083端口,因为新版本根本就移除了web控制台部分,网上大多数教程还是0.8 或者 1.1版本的,他们那个有web控制台(其实14、15年的文章用低版本无可厚非,现在有的人2018年7月份的教程都用的0.8版本,我想问有意思吗?)

进入docker镜像:

[root@localhost admin]# docker exec -it my_influxdb bash

进入/usr/bin目录,这里面有Influxdb的工具

root@aec85244ff22:/usr/bin# find | grep influx
./influx
./influx_inspect
./influx_stress
./influx_tsm
./influxd

查看Influxdb版本

./influx -version

进入Influxdb客户端命令行

root@aec85244ff22:/usr/bin# ./influx
Connected to http://localhost:8086 version 1.6.1
InfluxDB shell version: 1.6.
> show databases
name: databases
name
----
_internal
> exit

创建数据库

> create database my_test
> show databases
name: databases
name
----
_internal
my_test

删除数据库

drop database [db_name]

使用数据库

> use my_test
Using database my_test

现在写个定时程序,不断向数据库添加数据

建立一个SpringBoot工程

导入依赖

入口类

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled; import java.util.Random; @SpringBootApplication
@EnableScheduling
public class DemoApplication { public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
} @Scheduled(fixedRate = 1000)
public void doInsert(){
Random random = new Random();
InfluxDBDemo.insert(random.nextInt(1000));
} }

Influxdb类

package com.example.demo;

import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory;
import org.influxdb.dto.Point; public class InfluxDBDemo { public static void insert(int num){
InfluxDB db = InfluxDBFactory.connect("http://192.168.192.128:8086", "admin", "admin");
db.setDatabase("my_test"); // 设置数据库
Point.Builder builder = Point.measurement("test_measurement"); // 创建Builder,设置表名
builder.addField("count",num); // 添加Field
builder.tag("TAG_CODE","TAG_VALUE_" + num); // 添加Tag
Point point = builder.build();
db.write(point);
}
}

当你启动,每隔1秒自动向数据库添加

这个时候,显示表列表

> show measurements
name: measurements
name
----
test_measurement

查看表

> select * from test_measurement
name: test_measurement
time TAG_CODE count
---- -------- -----
TAG_VALUE_655
TAG_VALUE_42
TAG_VALUE_881
TAG_VALUE_461
TAG_VALUE_374
TAG_VALUE_574
TAG_VALUE_647
TAG_VALUE_78
TAG_VALUE_688

删除表

drop measurement 【measurement_name】

第二步、安装Grafana

相比之下,grafana就比较友好了,因为官网上的都能下载,无论Windows还是linux。

[root@localhost admin]# docker pull grafana/grafana
Using default tag: latest
Trying to pull repository docker.io/grafana/grafana ...
latest: Pulling from docker.io/grafana/grafana
be8881be8156: Pull complete
728ffd1b8130: Pull complete
426111690cea: Pull complete
Digest: sha256:b5591419cfa3a930cecdddff0a338c03296d29b617d9f340dc72ee839dd1c5be
Status: Downloaded newer image for docker.io/grafana/grafana:latest

运行

[root@localhost admin]# docker run -d -p : --name my_grafana grafana/grafana
6c9d5d2d8422e666ca44403c5c47be3fa43308b4d2a9587ab16ad97fcffede24

打开防火墙端口,以便你本机能访问虚拟机资源

[root@localhost admin]# firewall-cmd --zone=public --add-port=/tcp --permanent
success
[root@localhost admin]# firewall-cmd --zone=public --add-port=/tcp --permanent
success
[root@localhost admin]# systemctl restart firewalld

访问  http://192.168.192.128:3000

账号密码:admin/admin,进去之后让你修改密码

进去之后

现在配置数据源

最后点击

然后点击,选择Home

..添加dashboard

..

..点击Panel Title

..

..

..在右上角可以设置展示效果

设置自动刷新,选择时间范围,然后选择刷新间隔,注意点击Apply。这样每隔5s,自动刷新

..效果

..最后回到Home

..可以看到我们刚才创建的监控图

Docker下安装Influxdb-1.6.1和Grafana5.2.2的更多相关文章

  1. CentOS双机中Docker下安装Mysql并配置互为主从模式

    CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...

  2. 基于kail的docker下安装sqli-labs

    后面的关卡涉及到转码问题,比如空格,在Windows中会受到限制,比如24关的文件重命名问题,所以在这记录下在docker下安装sqli-labs,在linux下运行就不会受到限制. 参考链接:htt ...

  3. docker下安装tomcat

    一,查看tomcat镜像 [root@icompany ~]# docker search tomcat INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED ...

  4. .NetCore Linux环境下安装InfluxDB以及配置设置

    Linux下安装 确定需要安装的版本,我的linux是干净的,所以我需要先安装wget yum -y install wget 下载安装 wget https://dl.influxdata.com/ ...

  5. docker下安装 Oracle11gR2

    这是第二次安装,在第一次安装过程部分内容参考自如下: http://blog.sina.com.cn/s/blog_d840ff330102v4j0.html docker下oracle11g安装 h ...

  6. docker下安装mysql数据库

    因为用了.net core 所以想学习下使用docker: 项目中刚好要用到mysql数据库,所用用docker来安装一次,我使用的是5.6版本: 1.拉取官方镜像 docker pull mysql ...

  7. Docker下安装zookeeper(单机 & 集群)

    启动Docker后,先看一下我们有哪些选择. 有官方的当然选择官方啦~ 下载: [root@localhost admin]# docker pull zookeeper Using default ...

  8. Docker下安装GitLab

    1.需要先安装Docker和Docker Compose,参考:https://www.cnblogs.com/hackyo/p/9280042.html 2.配置GitLab SSL(可跳过): m ...

  9. docker 下安装gitlab

    1.找到docker镜像 docker search gitlab 2.下载gitlab镜像 docker pull  gitlab/gitlab-ce/ 3.通常会将 GitLab 的配置 (etc ...

随机推荐

  1. Java开发之@PostConstruct执行顺序

    构造函数==>postConstruct==>init==destory==>predestory==卸载servlet;; 从Java EE5规范开始,Servlet增加了两个影响 ...

  2. comparable和comparator

    Comparable Comparable可以认为是一个内部比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,在compareTo方法中指定具体的比较方法. comp ...

  3. jQuery的each使用陷阱

    注意:jQuery使用each()函数进行循环时发现return false不能阻止程序继续向下执行 原因如下: (1)开始还以为是jQuery的each()函数是异步执行的,所以导致出错,其实不是. ...

  4. 数据同步到redis中时候需要 需要给关联的表增加id 如果是一对多 则增加list存储id 如果是一个 则增加一个字段 ;目的是便于取值

  5. codeforces347B

    Fixed Points CodeForces - 347B A permutation of length n is an integer sequence such that each integ ...

  6. mysql语句-DML语句

    DML语句 DML是指对数据库中表记录的操作,主要包括数据的增删改查以及更新,下面依次介绍 首先创建一张表:: 表名:emp 字段:ename varchar(20),hiredate date ,s ...

  7. Codeforces543 B. Destroying Roads

    传送门:>Here< 题意:给出一张无向图(边权为1),并给出两对起点和终点以及距离:s1,t1,l1; s2,t2,l2; 要求删除尽量多的边,使得dis(s1,t1)<=l1, ...

  8. Git的搭建

    Git的搭建 第1步:官网下载安装git 第2步:github官网注册账号 第3步:配置git 第4步:github这是秘钥 第5步:上传本地工程到git 主要参考的博客(这三篇博客能让你顺利上传至g ...

  9. Markdown文本的学习

    大标题 小标题 小小标题 小小小标题 萌啊萌啊萌 斜体 萌啊萌啊萌 粗体 萌啊萌啊萌 又粗又斜 萌啊萌啊萌 我是分割线 p.s. 标准Markdown换行要打两个空格 短代码 #include < ...

  10. hdu5017 Ellipsoid (模拟退火)

    Ellipsoid 原题链接 题目描述 给定.一个要满足的椭球的方程\(ax^2+by^2+cz^2+dyz+exz+fxy=1\) 求球面上一个点到原点\((0,0,0)\)的距离最小. 有多组输入 ...