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

目录

Cadvisor+InfluxDB+Grafan安装部署

1、安装docker-ce

2、阿里云镜像加速器

3、下载组件镜像

4、创建自定义网络

5、创建influxdb容器

6、创建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的监控项配置不重点介绍。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/67966.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【TypeScript】中关于 { 声明合并 } 的使用及注意事项

概念&#xff1a; 在TS中&#xff0c;如果定义了多个相同命名的函数&#xff0c;接口或者class 类&#xff0c;那么它们会自动合并成一个类型 函数的合并&#xff1a; 前面章节讲解的函数重载就是使用了定义多个函数的类型进行合并&#xff1a; function reverse(x: number):…

MPP架构和Hadoop架构的区别

1. 架构的介绍 mpp架构是将许多数据库通过网络连接起来&#xff0c;相当于将一个个垂直系统横向连接&#xff0c;形成一个统一对外的服务的分布式数据库系统。每个节点由一个单机数据库系统独立管理和操作该物理机上的的所有资源&#xff08;CPU&#xff0c;内存等&#xff09…

MySQL索引1——索引基本概念与索引结构(B树、R树、Hash等)

目录 索引(INDEX)基本概念 索引结构分类 BTree树索引结构 Hash索引结构 Full-Text索引 R-Tree索引 索引(INDEX)基本概念 什么是索引 索引是帮助MySQL高效获取数据的有序数据结构 为数据库表中的某些列创建索引&#xff0c;就是对数据库表中某些列的值通过不同的数据结…

桶排序算法

桶排序算法 算法思想概述&#xff1a;桶排序的主要步骤如下&#xff1a; 算法goland实现&#xff1a;图解演示&#xff1a; 算法思想概述&#xff1a; 桶排序&#xff08;Bucket Sort&#xff09;是一种非比较性的排序算法&#xff0c;它将待排序的元素分到有限数量的桶&#…

Gitee+Jenkins(docker版)自动推送并部署Springboot项目到远程服务器

如果要参考gitlab配置请参考GitlabWebhook自动推送并更新Springboot项目 Gitlab的配置部分 环境介绍 Jenkins服务器(Centos7.6): docker安装的jenkins,参考Jenkins(docker安装)部署Springboot项目JDK1.8Maven3.6.3 注意docker安装的jenkins,而且是较新的版本,所以jenkins容器…

php获取随机订单号(封装函数)

作为一个开发人员&#xff0c;生成订单时常常需要获取一段随机码来表示订单号&#xff0c;并且订单号一般包含的特定的时间日期等信息&#xff0c;临时现写一个比较浪费时间&#xff0c;这里有一个封装好的生成随机订单号的函数&#xff0c;需要时直接调用即可。 代码如下&…

AtcoderABC224场

A - TiresA - Tires 题目大意 题目要求判断给定字符串S的末尾是以"er"还是"ist"结尾&#xff0c;并输出对应的结果。 思路分析 使用substr函数获取字符串S的末尾2个字符或3个字符。 判断获取到的子字符串是否等于"er"或"ist"&#…

利用NtDuplicateObject进行Dump

前言 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。&#xff08;本文仅用于交流学习&#xff09; 这是国外老哥2020年提出的一种蛮有意思的思路。 我们先来看看大致的思路是…

java Spring Boot yml多环境配置

我们项目 线上和线下 环境配置不是特别一样 例如 运行的URL 数据库地址 数据库的账号密码 这些经常是不一样的 如果每次上线钱改 也不是特别方便 甚至可能忘记 那么 进入我们代码中 所谓的多环境 就是在不同的环境下配置不同的值 终端还是在application配置文件中 多环境的话…

【Linux】云服务器自动化部署VuePress博客(Jenkins)

前言 博主此前是将博客部署在 Github Pages&#xff08;基于 Github Action&#xff09;和 Vercel 上的&#xff0c;但是这两种部署方式对于国内用户很不友好&#xff0c;访问速度堪忧。因此将博客迁移到自己的云服务器上&#xff0c;并且基于 Jenkins&#xff08;一款开源持续…

【C语言】经典题目(四)

HI&#xff0c;大家好~&#x1f61d;&#x1f61d;这是一篇C语言经典题目的博客。 更多C语言经典题目及刷题篇&#xff0c;可以参考&#xff1a; &#x1f338; 【C语言】经典题目(一) &#x1f338; 【C语言】经典题目(二) &#x1f338; 【C语言】经典题目(三) &#x1f338;…

k8s dns 解析service异常

查看kube-dns日志 for p in $(kubectl get pods --namespacekube-system -l k8s-appkube-dns -o name); \ do kubectl logs --namespacekube-system $p; done k8s教程&#xff08;service篇&#xff09;-总结_阿甘兄的技术博客_51CTO博客

兰州https证书申请

https证书是由CA认证机构颁发的数字证书&#xff0c;可以为域名网站或者公网IP网站提供信息加密服务&#xff0c;正规CA认证机构签发的https证书可以兼容99%的主流浏览器和IOS、Windows系统&#xff0c;同样&#xff0c;现在流行的小程序也需要https证书。那么&#xff0c;该怎…

Beautiful Sequence 2023牛客暑期多校训练营7 C

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;给出一长度n-1的数组b&#xff0c;要求构造一个长度为n的数组a&#xff0c;满足a[i]^a[i1]b[i]&#xff0c;a[i]<a[i1]&#xff0c;求字典序第k小的数组 1<n<1e6;0<a[i],b[i]< 思路&#xff1a;因为…

MySQL:表的约束和基本查询

表的约束 表的约束——为了让插入的数据符合预期。 表的约束很多&#xff0c;这里主要介绍如下几个&#xff1a; null/not null,default, comment, zerofill&#xff0c;primary key&#xff0c;auto_increment&#xff0c;unique key 。 空属性 两个值&#xff1a;null&am…

04.利用Redis国逻辑过期实现缓存功能---解决缓存击穿

学习目标&#xff1a; 提示&#xff1a;学习如何利用Redis逻辑过期实现添加缓存功能解决缓存击穿 学习产出&#xff1a; 缓存击穿讲解图&#xff1a; 解决方案&#xff1a; 采用互斥锁采用逻辑过期 1. 准备pom环境 <dependency><groupId>org.springframework…

【java】java项目在idea中Build Project或Rebuild Project一直进行不完

问题场景 我项目进行重新构建的时候&#xff0c;项目构建到某一个位置就一直不动了 解决方法 1.清理idea缓存 2.加大idea的内存 File -> Setting

Mybatis-plus 异常:Not Found TableInfoCache

标题&#xff1a;Mybatis-plus 异常&#xff1a;Not Found TableInfoCache Mybatis-plus 是一个流行的基于 Mybatis 的增强工具包&#xff0c;可以极大地简化数据库操作。然而&#xff0c;在使用 Mybatis-plus 过程中&#xff0c;可能会遇到一些异常情况&#xff0c;其中之一就…

【MySQL】MySQL 数据类型

目录 1. tinyint 类型 2. bit 类型 3. 小数类型 1、float 类型 2、decimal 类型 3. 字符串类型 1、char 类型 2、varchar 类型 4. 日期类型 5. enum和set 1、枚举和集合类型语法 2、枚举和集合类型的查找 6、find_in_set 函数 写在最后&#xff1a; 1. tinyint …

产品体系架构202308版

1.前言 当我们不断向前奔跑时&#xff0c;需要回头压实走过的路。不断扩张的同时把相应的内容沉淀下来&#xff0c;为后续的发展铺垫基石。 不知从何时起&#xff0c;产品的架构就面向了微服务/中台化/前后端分离/低代码化/分布式/智能化/运行可观测化的综合体&#xff0c;让…