Docker下安装Influxdb-1.6.1和Grafana5.2.2
第一步、安装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的更多相关文章
- CentOS双机中Docker下安装Mysql并配置互为主从模式
CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...
- 基于kail的docker下安装sqli-labs
后面的关卡涉及到转码问题,比如空格,在Windows中会受到限制,比如24关的文件重命名问题,所以在这记录下在docker下安装sqli-labs,在linux下运行就不会受到限制. 参考链接:htt ...
- docker下安装tomcat
一,查看tomcat镜像 [root@icompany ~]# docker search tomcat INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED ...
- .NetCore Linux环境下安装InfluxDB以及配置设置
Linux下安装 确定需要安装的版本,我的linux是干净的,所以我需要先安装wget yum -y install wget 下载安装 wget https://dl.influxdata.com/ ...
- docker下安装 Oracle11gR2
这是第二次安装,在第一次安装过程部分内容参考自如下: http://blog.sina.com.cn/s/blog_d840ff330102v4j0.html docker下oracle11g安装 h ...
- docker下安装mysql数据库
因为用了.net core 所以想学习下使用docker: 项目中刚好要用到mysql数据库,所用用docker来安装一次,我使用的是5.6版本: 1.拉取官方镜像 docker pull mysql ...
- Docker下安装zookeeper(单机 & 集群)
启动Docker后,先看一下我们有哪些选择. 有官方的当然选择官方啦~ 下载: [root@localhost admin]# docker pull zookeeper Using default ...
- Docker下安装GitLab
1.需要先安装Docker和Docker Compose,参考:https://www.cnblogs.com/hackyo/p/9280042.html 2.配置GitLab SSL(可跳过): m ...
- docker 下安装gitlab
1.找到docker镜像 docker search gitlab 2.下载gitlab镜像 docker pull gitlab/gitlab-ce/ 3.通常会将 GitLab 的配置 (etc ...
随机推荐
- Java开发之@PostConstruct执行顺序
构造函数==>postConstruct==>init==destory==>predestory==卸载servlet;; 从Java EE5规范开始,Servlet增加了两个影响 ...
- comparable和comparator
Comparable Comparable可以认为是一个内部比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,在compareTo方法中指定具体的比较方法. comp ...
- jQuery的each使用陷阱
注意:jQuery使用each()函数进行循环时发现return false不能阻止程序继续向下执行 原因如下: (1)开始还以为是jQuery的each()函数是异步执行的,所以导致出错,其实不是. ...
- 数据同步到redis中时候需要 需要给关联的表增加id 如果是一对多 则增加list存储id 如果是一个 则增加一个字段 ;目的是便于取值
- codeforces347B
Fixed Points CodeForces - 347B A permutation of length n is an integer sequence such that each integ ...
- mysql语句-DML语句
DML语句 DML是指对数据库中表记录的操作,主要包括数据的增删改查以及更新,下面依次介绍 首先创建一张表:: 表名:emp 字段:ename varchar(20),hiredate date ,s ...
- Codeforces543 B. Destroying Roads
传送门:>Here< 题意:给出一张无向图(边权为1),并给出两对起点和终点以及距离:s1,t1,l1; s2,t2,l2; 要求删除尽量多的边,使得dis(s1,t1)<=l1, ...
- Git的搭建
Git的搭建 第1步:官网下载安装git 第2步:github官网注册账号 第3步:配置git 第4步:github这是秘钥 第5步:上传本地工程到git 主要参考的博客(这三篇博客能让你顺利上传至g ...
- Markdown文本的学习
大标题 小标题 小小标题 小小小标题 萌啊萌啊萌 斜体 萌啊萌啊萌 粗体 萌啊萌啊萌 又粗又斜 萌啊萌啊萌 我是分割线 p.s. 标准Markdown换行要打两个空格 短代码 #include < ...
- hdu5017 Ellipsoid (模拟退火)
Ellipsoid 原题链接 题目描述 给定.一个要满足的椭球的方程\(ax^2+by^2+cz^2+dyz+exz+fxy=1\) 求球面上一个点到原点\((0,0,0)\)的距离最小. 有多组输入 ...