容器管理与容器监控

Rancher:省略构建容器的命令 docker run...用图像化的方式记录下来;

influxDB: 监控服务的性能,内存信息

cAdvisor:采集数据给influxDB添加数据,直接安装,能够创建容器与influxDB连接

Grafana:图形化界面操作数据的工具,网页版,监控内存信息

------------------------------------------------------------------

一 Rancher

(1)下载Rancher 镜像
docker pull rancher/server
(2)创建Rancher容器

docker run -d --name=rancher --restart=always -p 9090:8080 rancher/server
restart为重启策略
no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动
时就已经停止了的容器

(3)在浏览器输入地址: http://192.168.184.136:9090 即可看到高端大气的欢迎页

4)切换至中文界面
点击右下角的English 在弹出菜单中选择中文

1.3 Rancher初始化


1.3.1 添加环境
Rancher 支持将资源分组归属到多个环境。 每个环境具有自己独立的基础架构资源及服
务,并由一个或多个用户、团队或组织所管理。
例如,您可以创建独立的“开发”、“测试”及“生产”环境以确保环境之间的安全隔离,将“开
发”环境的访问权限赋予全部人员,但限制“生产”环境的访问权限给一个小的团队。
(1)选择“Default -->环境管理” 菜单

(2)填写名称,点击“创建”按钮

 

3)按照上述步骤,添加十次方测试环境和生产环境
 

(4)你可以通过点击logo右侧的菜单在各种环境下切换

1.3.2 添加镜像库

服务是多个容器的集合


192.168.184.135

不设置用户名 密码

创建容器需要镜像

1.3.3 添加主机
(1)选择基础架构-->主机 菜单,点击添加主机

 

(2)拷贝脚本
 

(3)在服务器(虚拟机)上运行脚本
 

(4)点击关闭按钮后,会看到界面中显示此主机。我们可以很方便地管理主机的每个容
器的开启和关闭

1.3.4 添加应用

多个服务的集合
点击应用-->全部(或用户) ,点击“添加应用”按钮

填写名称和描述

点击“创建”按钮,列表中增加了新增的应用

1.4 应用部署

1.4.1 MySQL部署

先把mysql服务停止删除,镜像留着


镜像:centos/mysql-57-centos7 增加数据库服务

注意:添加环境变量 MYSQL_ROOT_PASSWORD=123456

点击创建按钮,完成创建 上述操作相当于以下docker命令
docker run ‐di ‐‐name mysql ‐p 3306:3306 ‐e MYSQL_ROOT_PASSWORD=123456
centos/mysql‐57‐centos7
 

1.4.2 RabbitMQ部署

先删除服务器上的容器
镜像:rabbitmq:management 端口映射5671 5672 4369 15671 15672 25672
 

 

浏览器访问 http://192.168.184.136:15672/
 

1.4.3 Redis部署 
进入应用,点击添加服务 名称redis ,镜像redis ,端口映射6379
 

创建后使用客户端测试链接

redis‐cli ‐h 192.168.184.136
1.4.4 MongoDB部署
名称mongo 镜像mongo 端口映射27017
1.4.5 ElasticSearch部署
名称elasticsearch 镜像elasticsearch:5.6.8 端口映射9300 9200
添加后,浏览器测试: http://192.168.184.136:9200/

1.5 微服务容器部署
 

1.5.1 config微服务容器化部署


(1)在用户应用界面中点击“添加服务

添加服务config 镜像 192.168.184.135:5000/tensquare_config:1.0-SNAPSHOT
映射端口:12000
测试 浏览器输入 http://192.168.184.135:12000/base-dev.yml 可以查看到配置文件内容
 

1.5.3 基础微服务部署

 

1.6 扩容与缩容

前提条件不能有端口号
1.6.1 扩容
(1)在Rancher将创建的base-service(基础信息微服务)删除
(2)重新创建base-service ,不设置端口映射 ---没有端口号,可以根据网关找

(3)在选择菜单API -->WebHooks ,点击“添加接收器”按钮

4)填写名称等信息,选择要扩容的服务,点击创建按钮
名称自己写

 

5)接收器列表中新增了一条记录 ,点击触发地址将地址复制到剪切板

(6)使用postman测试

测试后,发现容器由原来的1个变为了3个

1.6.2 缩容  和扩容一样操作
刚才我们实现了扩容,那么如何减少容器数量呢?我们来试试如何缩容
(1)添加接收器 ,选择缩容,步长为1表示每次递减1个 ,点击创建按钮

------------------------------------------------------------------------------------------------------------

二 influxDB

influxDB是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据

2.2 influxDB安装
 

(1)下载镜像
docker pull tutum/influxdb
(2)创建容器
docker run ‐di \
‐p 8083:8083 \
‐p 8086:8086 \
‐‐expose 8090 \
‐‐expose 8099 \
‐‐name influxsrv \
tutum/influxdb

端口概述: 8083端口:web访问端口 8086:数据写入端口
打开浏览器 http://192.168.184.135:8083/

 

用模板创建

2.3.1 创建数据库--用模板使用
CREATE DATABASE "cadvisor"
回车创建数据库
SHOW DATABASES

2.3查看数据库


2.3.2 创建用户并授权
创建用户
CREATE USER "cadvisor" WITH PASSWORD 'cadvisor' WITH ALL PRIVILEGES


查看用户
SHOW USRES
用户授权
grant all privileges on cadvisor to cadvisor
grant WRITE on cadvisor to cadvisor
grant READ on cadvisor to cadvisor
2.3.3 查看采集的数据
切换到cadvisor数据库,使用以下命令查看采集的数据
SHOW MEASUREMENTS
现在我们还没有数据,如果想采集系统的数据,我们需要使用Cadvisor软件来实现
 

三 cAdvisor

 谷歌开发的

1)下载镜像
docker pull google/cadvisor
(2)创建容器  volume 目录挂载
docker run  --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw ‐‐
volume=/sys:/sys:ro ‐‐volume=/var/lib/docker/:/var/lib/docker:ro ‐‐
publish=8080:8080 ‐‐detach=true ‐‐link influxsrv:influxsrv ‐‐name=cadvisor
google/cadvisor ‐storage_driver=influxdb ‐storage_driver_db=cadvisor ‐
storage_driver_host=influxsrv:8086

docker run  --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=你的数据库
 -storage_driver_host=influxsrv:8086

WEB前端访问地址
http://192.168.184.135:8080/containers/
性能指标含义参照如下地址
https://blog.csdn.net/ZHANG_H_A/article/details/53097084
再次查看influxDB,发现已经有很多数据被采集进去了

四 Grafana

Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器。支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。
Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源
 

4.2 Grafana安装


(1)下载镜像
docker pull grafana/grafana
(2)创建容器 -e设置初始化参数
docker run ‐d ‐p 3001:3000 ‐e INFLUXDB_HOST=influxsrv ‐e
INFLUXDB_PORT=8086 ‐e INFLUXDB_NAME=cadvisor ‐e INFLUXDB_USER=cadvisor(用户) ‐e
INFLUXDB_PASS=cadvisor(密码) ‐‐link influxsrv:influxsrv ‐‐name=grafana
grafana/grafana

(3)访问
http://192.168.184.135:3001
用户名密码均为admin

4)登录后提示你修改密码

5)之后进入主页面

 

4.3 Grafana的使用


4.3.1 添加数据源
(1)点击设置,DataSource

 

2)点击添加data source

3)为数据源起个名称,指定类型、地址、以及连接的数据库名、用户名和密码

点击保存。数据源建立成功

4.3.2 添加仪表盘
(1)选择Dashboards --Manager

2)点击“添加”按钮
(3)点击Graph 图标

4)出现下面图表的界面 ,点击Panel Title 选择Edit (编辑)

5)定义标题等基础信息

6)设置查询的信息为内存,指定容器名称


(7)指定y轴的单位 为M

(8)保存

填写名称

4.4.3 预警通知设置
(1)选择菜单 alerting--> Notification channels

2)点击Add channel 按钮

 

3)填写名称,选择类型为webhook ,填写钩子地址

这个钩子地址是之前对base微服务扩容的地址

4)点击SendTest 测试 观察基础微服务是否增加容器
(5)点击save保存
(6)按照同样的方法添加缩容地址
4.4.4 仪表盘预警设置
(1)再次打开刚刚编辑的仪表盘

2)点击 Create Alert
 

设置预警线
(3)选择通知

保存更改
 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值