docker容器监控:Cadvisor+InfluxDB+Grafana的安装部署

目录

Cadvisor+InfluxDB+Grafan安装部署

1、安装docker-ce

2、阿里云镜像加速器

3、下载组件镜像

4、创建自定义网络

5、创建influxdb容器

[6、创建Cadvisor 容器](#6、创建Cadvisor 容器)

[7、查看Cadvisor 容器:](#7、查看Cadvisor 容器:)

(1)准备测试镜像

(2)通过http://192.168.100.132:8080端口访问测试

8、创建granafa容器


Cadvisor+InfluxDB+Grafan安装部署

1、安装docker-ce

[root@huyang2 ~]# iptables -F

[root@huyang2 ~]# setenforce 0

[root@huyang2 ~]# systemctl stop firewalld

[root@huyang2 ~]# cd /etc/yum.repos.d/

[root@lhuyang2 ~]# wget

http://mirrors.aliyun.com/repo/Centos-7.repo

[root@huyang2 ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

[root@huyang2 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@huyang2 ~]# yum -y install docker-ce

[root@huyang2 ~]# systemctl start docker

[root@huyang2 ~]# systemctl enable docker

[root@huyang2 ~]# docker version

2、阿里云镜像加速器

https://cr.console.aliyun.com/

[root@huyang2 ~]# cat << END > /etc/docker/daemon.json

{

"registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

END

[root@huyang2 ~]# systemctl daemon-reload

[root@huyang2 ~]# systemctl restart docker

3、下载组件镜像

[root@huyang2 ~]# docker pull tutum/influxdb

[root@huyang2 ~]# docker pull google/cadvisor

[root@huyang2 ~]# docker pull grafana/grafana

[root@huyang2 ~]# docker images

4、创建自定义网络

为了把后期创建的Cadvisor+InfluxDB+Grafana这三个容器都加入自己定义的网络便于理解和管理,所以才新建一个自定义网络。

[root@huyang2 ~]# docker network create monitor

[root@huyang2 ~]# docker network ls

Ps备注:假如出现上述网络创建不成功的话,则重启docker,然后再创建网络,这样就可以创建成功了!

[root@huyang2 ~]# docker network inspect monitor

5、创建influxdb容器

启动容器,tutum/influxdb镜像这里没有指定版本,默认会pull最新版本的influxdb:

[root@huyang2 ~]# docker run -d --name influxdb --net monitor -p 8083:8083 -p 8086:8086 tutum/influxdb

查看influxdb容器是否启动:

[root@localhost ~]# docker ps -l

参数说明:

****-d :****后台运行此容器;

****--name :****启运容器分配名字influxdb;

--net : 把容器加入到新的网络monitor;

****-p :****映射端口,8083端口为infuxdb后台控制端口,8086端口是infuxdb的数据端口;

****tutum/influxdb:****通过这个容器来运行的,默认会在docker官方仓库pull下来;

访问influxdb控制台http://192.168.100.132:8083

从上图可以看到,在Query Templates选项中提供了常用的操作模板,可根据这些模版来管理influxdb,下面我们就来创建数据库和数据库用户。

CREATE USER "root" WITH PASSWORD '123456' WITH ALL PRIVILEGES

创建Cadvisor 数据库cadvisor 、用户root,用户和数据库大家可以自行随意定义,用于后期 grafana的配置:

CREATE DATABASE "cadvisor"

呈现如下图:

6、创建Cadvisor 容器

[root@huyang2 ~]# docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --net monitor --publish=8080:8080  --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086

参数说明:

****-d:****后台运行此容器;

****--name:****启运容器分配名字Cadvisor ;

****--net:****把容器加入到新的网络monitor;

****-p:****映射端口8080;

****--mout:****把宿主机的相文目录绑定到容器中,这些目录都是Cadvisor 需要采集的目录文件和监控内容;

****-storage_driver:****需要指定Cadvisor 的存储驱动、数据库主机、数据库名;

****google/Cadvisor :****通过Cadvisor 这个镜像来运行容器,默认会在docker官方仓库把镜像pull下来;

7、查看Cadvisor 容器:

[root@huyang2 ~]# docker ps -l

通过http://192.168.100.132:8080端口访问测试一下,第一次访问这个页面有点慢

从上图可以看到,其实Cadvisor 也有基础的图形展示功能,我们这里主要用它来做数据采集。

(1)准备测试镜像

[root@huyang2 ~]# docker run -itd --name nginx -p 8000:80 nginx

[root@huyang2 ~]# docker ps -l

(2)通过http://192.168.100.132:8080端口访问测试

点击"docker"-->找到nginx的运行ID--->查看

出图如下:

8、创建granafa容器

[root@huyang2 ~]# docker run -d --name grafana --net monitor -p 3000:3000 grafana/grafana

查看运行结果:

[root@huyang2 ~]# docker ps -l

访问granfana,通过http://192.168.100.132:3000端口的方式访问,默认账户密码(admin/admin),首次登陆需要更新密码。

重设密码:123456

登录测试:"welcome to grafana"

添加数据源Add data source,如下图:

新建 Dashboard,如下图:

同理可得到下图:

到这里Cadvisor+InfluxDB+Grafana容器监控系统就部署完成了,至于其它grafana的监控项配置不重点介绍。

大家如果感兴趣可以参考一些官方资料都是图形化的界面操作。

相关推荐
南猿北者14 分钟前
Docker Volume
运维·docker·容器
网络研究院2 小时前
Am I Isolated:一款安全态势基准测试工具
容器·工具·基准测试·安全态势
涔溪3 小时前
Docker简介
spring cloud·docker·eureka
内核程序员kevin4 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
kayotin4 小时前
Wordpress博客配置2024
linux·mysql·docker
颜淡慕潇6 小时前
【K8S问题系列 | 9】如何监控集群CPU使用率并设置告警?
后端·云原生·容器·kubernetes·问题解决
运维&陈同学6 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
信子姚青6 小时前
K8s使用nfs
容器
葡萄皮Apple6 小时前
[CKS] K8S RuntimeClass SetUp
java·容器·kubernetes
mit6.8247 小时前
[Docker#4] 镜像仓库 | 部分常用命令
linux·运维·docker·容器·架构