jenkins的安装和使用, rancher, influxDB, cAdvisor , Grafana的安装与使用,以及项目的持续集成与容器管理

Grafana+MySQL——Jenkins构建信息到Influxdb数据库再通过脚本导入MySQL数据库通过Grafana展示。数据库的时间戳转换、按月/周/天查询数据以及一些函数的使用 Grafana+Jenkins+Influxdb+MySQL 阅读详情


学习目标: 掌握DockerMaven插件的使用 掌握持续集成工具Jenkins的安装与使用 掌握容器管理工具Rancher的安装与使用 掌握时间序列数据库influxDB的安装与使用 掌握容器监控工具cAdvisor的安装与使用 掌握图表工具Grafana的使用

1 DockerMaven插件

微服务部署有两种方法:
(1)手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器。
(2)通过Maven插件自动部署。
对于数量众多的微服务,手动部署无疑是非常麻烦的做法,并且容易出错。所以我们这里学习如何自动部署,这也
是企业实际开发中经常使用的方法。
Maven插件自动部署步骤:
(1)修改宿主机的docker配置,让其可以远程访问

vi /lib/systemd/system/docker.service

其中ExecStart=后添加配置-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
修改后如下:

在这里插入图片描述
(2)刷新配置,重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

(3)在工程pom.xml 增加配置

 <build>
        <finalName>app</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- docker的maven插件,官网:https://github.com/spotify/docker-maven-plugin
            -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                    <imageName>192.168.233.129:5000/${project.artifactId}:${project.version}
                    </imageName>
                    <baseImage>jdk1.8</baseImage>
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]
                    </entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <dockerHost>http://192.168.233.129:2375</dockerHost>
                </configuration>
            </plugin>
        </plugins>
    </build>

以上配置会自动生成Dockerfile

FROM jdk1.8
ADD app.jar /
ENTRYPOINT ["java","-jar","/app.jar"]

(5)在windows的命令提示符下,进入工程tensquare_parent所在的目录

mvn install

进入tensquare_base 所在的目录,输入以下命令,进行打包和上传镜像

mvn docker:build -DpushImage

执行后,会有如下输出,代码正在上传
在这里插入图片描述
(6)进入宿主机 , 查看镜像
在这里插入图片描述
输出如上内容,表示微服务已经做成镜像
浏览器访问 http://192.168.184.141:5000/v2/_catalog ,输出
在这里插入图片描述
(7) 启动容器:

docker run -di --name=base -p 9001:9001 192.168.184.141:5000/tensquare_base:1.0-
SNAPSHOT

在这里插入图片描述

2 持续集成工具-Jenkins

2.1 什么是持续集成

持续集成 Continuous integration ,简称CI
随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。
持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。
持续集成具有的特点:

  1. 它是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;
  2. 需要有专门的集成服务器来执行集成构建;
  3. 需要有代码托管工具支持,我们下一小节将介绍Git以及可视化界面Gogs的使用
    持续集成的作用:`
  4. 保证团队开发人员提交代码的质量,减轻了软件发布时的压力;
  5. 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;

2.2 Jenkins简介

Jenkins,原名Hudson,2011年改为现在的名字,它 是一个开源的实现持续集成的软件工具。官方网站:
http://jenkins-ci.org/。
Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
特点:

  1. 易安装:仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
  2. 易配置:提供友好的GUI配置界面;
    变更支持:Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;
  3. 支持永久链接:用户是通过web来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接;
  4. 集成E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时告诉你集成结果(据我所知,构建一次集成需要花费一定时间,有了这个功能,你就可以在等待结果过程中,干别的事情);
  5. JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
  6. 支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;
  7. 文件指纹信息:Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;
  8. 支持第三方插件:使得 Jenkins 变得越来越强大

2.3 Jenkins安装

2.3.1 JDK安装

(1)将jdk-8u171-linux-x64.rpm上传至服务器(虚拟机)
(2)执行安装命令

rpm -ivh jdk-8u171-linux-x64.rpm

PM方式安装JDK,其根目录为:/usr/java/jdk1.8.0_171-amd64

2.3.2 Jenkins安装与启动

(1)下载jenkins

wget https://pkg.jenkins.io/redhat/jenkins-2.83-1.1.noarch.rpm

或将jenkins-2.83-1.1.noarch.rpm上传至服务器

(2)安装jenkins

rpm -ivh jenkins-2.83-1.1.noarch.rpm

(3)配置jenkins

vi /etc/sysconfig/jenkins

修改用户和端口

JENKINS_USER="root"
JENKINS_PORT="8888"

(4)启动服务

systemctl start jenkins

(5)访问链接 http://192.168.184.135:8888
从/var/lib/jenkins/secrets/initialAdminPassword中获取初始密码串

在这里插入图片描述
(6)安装插件

在这里插入图片描述

初次访问会要求安装插件, 安装插件时间较长, 需耐心等待
在这里插入图片描述
(7)新建用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 Jenkins插件安装

我们以安装maven插件为例,演示插件的安装
(1)点击左侧的“系统管理”菜单 ,然后点击
在这里插入图片描述
(2)选择“可选插件”选项卡,搜索maven,在列表中选择Maven Integration ,点击“直接安装”按钮
在这里插入图片描述

2.5 全局工具配置

2.5.1 安装Maven与本地仓库

(1)将Maven压缩包上传至服务器(虚拟机)
(2)解压

tar zxvf apache-maven-3.5.4-bin.tar.gz

(3)移动目录

mv apache-maven-3.5.4 /usr/local/maven

(4)编辑setting.xml配置文件vi /usr/local/maven/conf/settings.xml ,配置本地仓库目录,内容如下

<localRepository>/usr/local/repository</localRepository>

(5)将开发环境的本地仓库上传至服务器(虚拟机)并移动到/usr/local/repository 。

mv reponsitory_boot /usr/local/repository

执行此步是为了以后在打包的时候不必重新下载,缩短打包的时间。
在这里插入图片描述

2.5.2 全局工具配置

选择系统管理,全局工具配置
(1)JDK配置设
在这里插入图片描述
去除自动安装, 设置javahome为 /usr/java/jdk1.8.0_171-amd64
(2)Git配置 (本地已经安装了Git软件)
在这里插入图片描述
(3)Maven配置
在这里插入图片描述
配置完后, 点击保存

2.6 代码上传至Git服务器

2.6.1 Gogs搭建与配置

Gogs 是一款极易搭建的自助 Git 服务。
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过
独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
地址:https://gitee.com/Unknown/gogs
(1)下载镜像

docker pull gogs/gogs

如果镜像下载速度过慢, 进行以下操作

vi /etc/docker/daemon.json

在该文件中输入如下内容:

{
"registry-mirrors":["https://almtd3fa.mirror.aliyuncs.com"]
}

在这里插入图片描述

(2)创建容器

docker run -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs

(3)假设我的centos虚拟机IP为192.168.184.141 在地址栏输入http://192.168.184.141:3000 会进入首次运行安
装程序页面,我们可以选择一种数据库作为gogs数据的存储,最简单的是选择SQLite3。如果对于规模较大的公
司,可以选择MySQL
在这里插入图片描述

在这里插入图片描述
点击“立即安装”
这里的域名要设置为centos的IP地址,安装后显示主界面

在这里插入图片描述
(4)注册
在这里插入图片描述
(5)登录
在这里插入图片描述

(6)创建仓库

在这里插入图片描述
在这里插入图片描述

2.6.2 提交代码

步骤:
(1)在本地安装git(Windows版本)
(2)在IDEA中选择菜单 : File – settings , 在窗口中选择Version Control – Git
在这里插入图片描述

(3)选择菜单VCS --> Enable Version Control Integration…
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)右键点击工程选择菜单 Git --> Add
(6)右键点击工程选择菜单 Git --> Commit Directory…
(7)右键点击工程选择菜单 Git --> Repository --> Push …
在这里插入图片描述

2.7 任务的创建与执行

(1)回到首页,点击新建按钮 .如下图,输入名称,选择创建一个Maven项目,点击OK

在这里插入图片描述
(2)源码管理,选择Git
在这里插入图片描述
在这里插入图片描述
(3)Build
在这里插入图片描述
在这里插入图片描述
用于清除、打包,构建docker镜像
最后点击“保存”按钮
在这里插入图片描述
(4)执行任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 容器管理工具Rancher

3.1 什么是Rancher

Rancher是一个开源的企业级全栈化容器部署及管理平台。Rancher为容器提供一揽子基础架构服务:CNI兼容的
网络服务、存储服务、主机管理、负载均衡、防护墙……Rancher让上述服务跨越公有云、私有云、虚拟机、物理
机环境运行,真正实现一键式应用部署和管理。
https://www.cnrancher.com/

3.2 Rancher安装

(1)下载Rancher 镜像

docker pull rancher/server

(2)创建Rancher容器

docker run -di --name=rancher -p 9090:8080 rancher/server

(3)在浏览器输入地址:http://192.168.233.130:9090 即可看到高端大气的欢迎页
在这里插入图片描述
点击Got It 进入主界面
在这里插入图片描述
切换后我们就可以看到亲切的中文界面啦~
在这里插入图片描述

3.3 Rancher初始化

3.3.1 添加环境

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

在这里插入图片描述
(3)按照上述步骤,添加十次方测试环境和生产环境
(4)你可以通过点击logo右侧的菜单在各种环境下切换
在这里插入图片描述

3.3.2 添加主机

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)拷贝脚本
在这里插入图片描述
(3)在服务器(虚拟机)上运行脚本
在这里插入图片描述
在这里插入图片描述
如果网速慢, 一直下不来, 可以等晚点再试
(4)点击关闭按钮后,会看到界面中显示此主机。我们可以很方便地管理主机的每个容器的开启和关闭

在这里插入图片描述
在这里插入图片描述

3.3.3 添加应用

点击应用-->全部(或用户) ,点击“添加应用”按钮
在这里插入图片描述
在这里插入图片描述
点击创建

3.4 应用部署

3.4.1 MySQL部署

镜像:centos/mysql-57-centos7 增加数据库服务
点击添加服务,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击创建
在这里插入图片描述
可以看到已经创建成功,
点击创建按钮,完成创建 上述操作相当于以下docker命令

docker run -di --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-
centos7

3.4.2 RabbitMQ部署

镜像:rabbitmq:management
端口映射5671 5672 4369 15671 15672 25672
在这里插入图片描述
这里可以看到目前并无rabbitMq的镜像
在这里插入图片描述

在这里插入图片描述
这次事件会长一些, 因为docker中并无该镜像, 这里需要先下载镜像,
在这里插入图片描述
浏览器访问 http://192.168.233.132:15672/

在这里插入图片描述

3.4.3 Redis部署

进入应用,点击添加服务,名称redis ,镜像redis ,端口映射6379
在这里插入图片描述
在这里插入图片描述

测试连接

在这里插入图片描述
测试成功

3.4.4 微服务部署

(1)搭建私有仓库
启动私有仓库容器

docker run -di --name=registry -p 5000:5000 registry

在这里插入图片描述

打开浏览器 输入地址http://192.168.233.132:5000/v2/_catalog看到{“repositories”:[]} 表示私有仓库搭建
成功并且内容为空
在这里插入图片描述
修改daemon.json

vi /etc/docker/daemon.json

添加以下内容,保存退出。

{"insecure-registries":["192.168.233.132:5000"]}

(2)修改docker配置,允许远程访问

vi /lib/systemd/system/docker.service

其中ExecStart=后添加配置-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
其中0.0.0.0表示任何ip都可以访问, 如果想指定ip访问, 可以替换
修改后刷新配置,重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

在这里插入图片描述
(3)修改微服务工程,添加DockerMaven插件

<build>
        <finalName>app</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- docker的maven插件,官网:https://github.com/spotify/docker-maven-plugin
            -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                    <imageName>192.168.233.132:5000/${project.artifactId}:${project.version}
                    </imageName>
                    <baseImage>jdk1.8</baseImage>
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]
                    </entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <dockerHost>http://192.168.233.132:2375</dockerHost>
                </configuration>
            </plugin>
        </plugins>
    </build>

在这里插入图片描述
这里如果没有配置docker的jdk1.8镜像, 会报错误

详情配置参考


步骤:
(1)创建目录

mkdir –p /usr/local/dockerjdk8

(2)下载jdk-8u171-linux-x64.tar.gz并上传到服务器(虚拟机)中 的/usr/local/dockerjdk8目录

(3)创建文件Dockerfile vi Dockerfile

#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER chen
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk‐8u171‐linux‐x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH
$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

(4)执行命令构建镜像

docker build ‐t='jdk1.8' .

注意后边的空格和点,不要省略


在这里插入图片描述
在这里插入图片描述

上传完成
(4)连接mysql数据库,执行建库脚本
(5)添加服务base-service 镜像192.168.233.132:5000/tensquare_base:1.0-SNAPSHOT 端口映射9001
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
微服务部署成功, 访问成功
在这里插入图片描述

3.6 扩容与缩容

3.6.1 扩容

(1)在Rancher将创建的base-service-test(基础信息微服务)删除
(2)重新创建base-service ,不设置端口映射

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)在选择菜单API -->WebHooks ,点击“添加接收器”按钮
在这里插入图片描述
(4)填写名称等信息,选择要扩容的服务,点击创建按钮
在这里插入图片描述

(5)接收器列表中新增了一条记录 ,点击触发地址将地址复制到剪切板
在这里插入图片描述
(6)使用postman测试:
在这里插入图片描述
测试后,发现容器由原来的1个变为了3个
在这里插入图片描述

3.6.2 缩容

刚才我们实现了扩容,那么如何减少容器数量呢?我们来试试如何缩容
(1)添加接收器 ,选择缩容,步长为1表示每次递减1个 ,点击创建按钮
在这里插入图片描述

(2)创建成功后,复制触发地址
在这里插入图片描述

在这里插入图片描述
发送请求, base-service从三个容器变成了两个容器
在这里插入图片描述
如果想要访问base-service这两个容器中的服务, 则需要用到rancher中的负载均衡器, 服务会轮询访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
值得注意的是: 如果只有两个容器, 有可能会创建失败, 所以我又再次扩容了一下, 使得base-service中有三个容器
测试一下:
在这里插入图片描述
访问成功

4 influxDB

4.1 什么是influxDB

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

4.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.233.133:8083
在这里插入图片描述

4.3 influxDB常用操作

4.3.1 创建数据库

在这里插入图片描述
回车创建数据库
在这里插入图片描述
在这里插入图片描述
查询有哪些数据库
在这里插入图片描述
在这里插入图片描述

4.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  //赋予这个用户读的权限

4.3.3 查看采集的数据

切换到cadvisor数据库,使用以下命令查看采集的数据

SHOW MEASUREMENTS

现在我们还没有数据,如果想采集系统的数据,我们需要使用Cadvisor软件来实现

5 cAdvisor

5.1 什么是cAdvisor

Google开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置就可以通过运行在Docker主机上的容器来监控Docker容器,而且可以监控Docker主机。更多详细操作和配置选项可以查看Github上的cAdvisor项目文档。

5.2 cAdvisor安装

(1)下载镜像

docker pull google/cadvisor

(2)创建容器

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

在这里插入图片描述

WEB前端访问地址
http://192.168.233.133:8080/containers/
在这里插入图片描述

性能指标含义参照如下地址
https://blog.youkuaiyun.com/ZHANG_H_A/article/details/53097084
再次查看influxDB,发现已经有很多数据被采集进去了。

在这里插入图片描述
如果想查看具体数据
在这里插入图片描述

6 Grafana

6.1 什么是Grafana

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

6.2 Grafana安装

(1)下载镜像

docker pull grafana/grafana

(2)创建容器

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.233.133:3001

用户名密码均为admin
在这里插入图片描述
(4)登录后提示你修改密码

在这里插入图片描述
这里设为123456
(5)之后进入主页面
在这里插入图片描述

6.3 Grafana的使用

6.3.1 添加数据源

(1)点击设置,DataSource

在这里插入图片描述
在这里插入图片描述

(3)为数据源起个名称,指定类型、地址、以及连接的数据库名、用户名和密码
在这里插入图片描述
在这里插入图片描述

6.3.2 添加仪表盘

(1)选择Dashboards --Manager

在这里插入图片描述
在这里插入图片描述
(2)点击“添加”按钮
(3)点击Graph 图标
在这里插入图片描述
(4)出现下面图表的界面 ,点击Panel Title 选择Edit (编辑)
在这里插入图片描述
(5)定义标题等基础信息
在这里插入图片描述
在这里插入图片描述
(6)设置查询的信息为内存,指定容器名称
这里可以设置监控数据库的时间间隔
在这里插入图片描述
设置查询的信息为内存
在这里插入图片描述
在这里插入图片描述
(7)指定y轴的单位 为M

在这里插入图片描述

(8)保存
在这里插入图片描述
填写名称
在这里插入图片描述
在这里插入图片描述

6.4.3 预警通知设置

(1)选择菜单 alerting--> Notification channels
在这里插入图片描述
(2)点击Add channel 按钮
在这里插入图片描述
(3)填写名称,选择类型为webhook ,填写钩子地址
在这里插入图片描述
这个钩子地址是之前对base微服务扩容的地址
在这里插入图片描述
(4)点击SendTest 测试 观察基础微服务是否增加容器

在这里插入图片描述

发现容器增加了两个, 测试成功
在这里插入图片描述
(5)点击save保存
(6)按照同样的方法添加缩容地址

6.4.4 仪表盘预警设置

(1)再次打开刚刚编辑的仪表盘
在这里插入图片描述
(2)点击 Create Alert
在这里插入图片描述
设置预警线
(3)选择通知

在这里插入图片描述
保存更改

Centos7安装docker、mysql、gitlab、Jenkins、Rancher、influxDB、cAdvisor、Grafana、springboot项目部署 centos7安装完成后没网 cd /etc/sysconfig/network-scripts/ 找到文件 : ifcfg-ens33 vi ifcfg-ens33 ONBOOT 修改为true,保存后退出[shift + ZZ] # 重启网络或者重启系统 service network restart ping www.baidu.com 命令: 按 i 键后 进入insert模式... 阅读详情

相关推荐

CMOS锁相环核心:四种鉴频鉴相器(PFD)结构深度剖析与选型指南

本文深入剖析了CMOS锁相环中四种鉴频鉴相器(PFD)的结构与性能,包括传统RS触发器型、非时钟型、预充电型和边沿触发型PFD。通过详细的电路分析、实测数据和工程案例,提供了PFD选型的实用指南,帮助工程师根据速度、功耗和精度需求选择最优方案,提升锁相环设计效率。

weixin_42530458的博客 586

第十四(平台):Prometheus+Grafana搭建Jenkins监控

本文简要介绍了如何配置Prometheus和Grafana监控Jenkins的步骤:首先通过Homebrew安装Prometheus和Grafana,并配置Prometheus的YAML文件设置抓取间隔。在Jenkins中安装并配置Prometheus插件,修改路径后更新Prometheus配置文件以监控Jenkins指标。启动服务后,在Grafana中配置数据源并导入ID为9524的监控模板,最终实现Jenkins性能指标的可视化展示。

欢迎来到本博客! 653

别再只用线性回归了!用sklearn的核岭回归搞定非线性数据(附RBF核调参实战)

本文详细介绍了如何使用sklearn的核岭回归处理非线性数据,特别是RBF核的应用与调参实战。通过网格搜索找到最佳参数组合,核岭回归能有效捕捉数据中的复杂波动,显著提升模型性能。适合需要解决非线性问题的数据科学家和机器学习工程师。

weixin_34246529的博客 336

Jenkins influxdb结合Grafana分析展示

我们通过Jenkins的influxdb插件,可以把jenkins job和Sonarqube的相关信息和构建结果存库。然后通过Grafana进行视图展现,这样就实现了对jenkins的Job监控和分析。 步骤如下: 1、在服务器上安装influxdb(可以连grafana一起安装,写个批处理同时启动grafana和influxdb) #!/bin/bash # Author:smooth...

smooth的博客 1万+

大模型-CLIP 详细介绍

最先进的计算机视觉系统通常被训练来预测一组预定义的对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为要指定任何其他视觉概念,就需要额外的标注数据。比如,它们可以识别“猫”、“狗”、“汽车”等。但是,这种做法有一个明显的局限性:如果你想让系统识别一个新的类别,比如说“独角兽”,你就必须提供大量带有“独角兽”标签的图片来训练系统。这不仅耗时费力,而且限制了系统的灵活性和广泛适用性。直接从原始文本中学习关于图像的信息是一种很有前途的替代方案,因为它利用了更广泛的监督来源。

晓的博客 9706

grafana展示jenkins生成的多个测试报告

jenkins上多个测试项目生成的测试报告数据,汇总到grafana上展示

weixin_39246324的博客 1475

【PX4学习笔记】3. PX4 固件烧写(1 探索过程)

飞控型号:cube orange【PX4官方用户指南中关于cube orange的描述】 飞控载板型号:Mini Carrier Board【迷你载板说明文档】 固件安装参考:The Cube User Manual V1.0

【人工智障 | 计算鸡视觉 | 机器孩】 7675

Jenkins监控:Prometheus+Grafana实战指南

在现代 DevOps 实践中,持续集成和持续交付(CI/CD)工具如 Jenkins 的性能监控至关重要。通过结合 Prometheus 和 Grafana,可以实现对 Jenkins 的实时监控、告警和可视化分析。以下是具体实现方法。插件以暴露监控指标。在 Jenkins 管理界面中,进入。通过 Prometheus Web UI(默认地址。)验证是否成功抓取数据。在 Prometheus 的配置文件。,应能看到 Jenkins 相关指标。安装完成后,插件会默认在。Jenkins 需要安装。

yiK_wh7c的博客 497

STM32 实现 4*4 矩阵键盘扫描(HAL库、标准库 都适用)

本文实现的代码是基于STM32HAL库的基础上的,不过标准库也可以用,只是调用的库函数不同,逻辑跟配置是一样的,按我这里的逻辑来配置即可。 1、键盘原理图: 原理举例:先把 F0-F7 内部拉高,这样这个8个引脚都是高电平,然后就进行列扫描。例如:假如按下3按钮,Y3 列扫描,把F4先拉低,然后读取F0-F3的状态,就会读出为1110,这就可 以知道是F3行拉低了,同时这时候是程序控制F4拉低的,这样就可以知道是F4列导致它转态变化了的,这样就可以定位出是F4列F3行的按键按下了;其他的列也是这样子扫描

lhh_qrsly的博客 7058

基于BP神经网络PID控制的电机转速控制器设计复现

摘要:本文提出了一种基于BP神经网络PID控制的永磁同步电机转速控制方法,通过MATLAB/Simulink平台实现了算法复现。系统采用三层BP神经网络在线调整PID参数,包含输入层(误差、误差变化率、误差积分)、5节点隐含层和输出层(Kp、Ki、Kd)。仿真结果表明,相比传统PID控制,该方案具有更快的响应速度(上升时间减少约40%)、更小的超调量(降低约60%)和更强的抗干扰能力,在电动汽车电机驱动等复杂工况下表现优异。文中详细给出了PMSM数学模型建立、BP网络设计、权值更新算法及Simulink仿真

max500600的博客 306

在Grafana中可视化Jenkins管道结果

这次我描述了一些稍微轻松的话题,与之前的一些帖子相比。就个人而言,我认为Grafana是一个非常酷的工具,用于可视化任何时间轴数据。事实证明,使用InfluxDB插件存储和可视化Jenkins构建结果非常容易。 1.启动码头工人集装箱 让我们从使用Grafana,InfluxDB和Jenkins开始所需的docker容器开始。 1 2 3 docke...

weixin_30657999的博客 2088

基于SpringBoot 3 + Vue 3的全栈民宿预约管理系统设计与实现

文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、房源管理、订单流程、支付集成等),并提供关键代码片段,最后对系统进行总结与展望。.requestMatchers("/api/admin/**").hasRole("ADMIN") // 管理员接口。.requestMatchers("/api/auth/**").permitAll() // 认证接口公开。.requestMatchers("/api/public/**").permitAll() // 公开资源。

2201_76125393的博客 271

持续集成与容器管理 DockerMaven Jenkins Rancher influxD

学习目标: 掌握DockerMaven插件的使用 掌握持续集成工具Jenkins的安装与使用 掌握容器管理工具Rancher的安装与使用 掌握时间序列数据库influxDB的安装与使用 掌握容器监控工具cAdvisor的安装与使用掌握图表工具Grafana的使用 1DockerMaven插件 微服务部署有两种方法: (1)手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包...

kai46385076的专栏 959

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

持续集成与容器管理

持续集成与容器管理1DockerMaven插件2持续集成工具-Jenkins2.1什么是持续集成2.2Jenkins简介2.3Jenkins安装2.3.1JDK安装2.3.2Jenkins安装与启动2.4Jenkins插件安装2.5全局工具配置2.5.1安装Maven与本地仓库2.5.2全局工具配置2.6代码上传至Git服务器2.6.1Gogs搭建与配置2.6.2提交代码2.7任务的创建与执行3容器管理工具Rancher3.1什么是Rancher3.2Rancher安装3.3Rancher初始化3.3.1添

hu_zhi_chao的博客 1228

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Docker容器化(2):持续集成与容器管理

Docker容器化(2):持续集成与容器管理1 DockerMaven插件2 持续集成工具-Jenkins2.1 什么是持续集成2.2 Jenkins简介2.3 Jenkins安装2.3.1 JDK安装2.3.2 Jenkins安装与启动2.4 Jenkins插件安装2.5 全局工具配置2.5.1 安装Maven与本地仓库2.5.2 全局工具配置2.6 代码上传至Git服务器2.6.1 Gogs搭...

rnang0的博客 1178

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

项目持续集成与容器管理

持续集成与容器管理 学习目标: 掌握DockerMaven插件的使用 掌握持续集成工具Jenkins的安装与使用 掌握容器管理工具Rancher的安装与使用 掌握时间序列数据库influxDB的安装与使用 掌握容器监控工具cAdvisor的安装与使用 掌握图表工具Grafana的使用 1 DockerMaven插件 微服务部署有两种方法: (1)手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器。 (2)通过Maven插件自动部署

liuerchong的博客 556

持续集成(CI)和容器管理 学习笔记

文章目录1. DockerMaven插件1.1 Maven插件自动部署步骤:2. 持续集成与Jenkins2.1 什么是持续集成2.2 Jenkins简介 1. DockerMaven插件 微服务部署方式: 手动部署:基于源码打包生成jar,上传到服务器。 通过Maven插件自动部署。 1.1 Maven插件自动部署步骤: 修改宿主机docker配置,让其可以远程访问。在docker.service文件的ExecStart=后添加-H tcp://0.0.0.0:2375 -H unix:///var

Huathy的博客 1178

Docker ( 二 )持续集成与容器管理

文章目录1 DockerMaven插件2 持续集成工具-Jenkins2.1 什么是持续集成2.2 Jenkins简介2.3 Jenkins安装2.3.1 JDK安装2.3.2 Jenkins安装与启动2.4 Jenkins插件安装2.5 全局工具配置2.5.1 安装Maven与本地仓库2.5.2 全局工具配置2.6 代码上传至Git服务器2.6.1 Gogs搭建与配置2.6.2 提交代码2.7 任务的创建与执行3 容器管理工具Rancher3.1 什么是Rancher3.2 Rancher安装3.3 Ra

林彬的专栏 261

【转】持续集成与容器管理 DockerMaven Jenkins Rancher influxD

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

youyu_16的博客 411

【十次方微服务后台开发】Day02:加密与JWT鉴权、微服务注册中心、配置中心、熔断器、网关、消息总线、部署与持续集成、容器管理与监控Rancher、influxDB、grafana...

一、密码加密与微服务鉴权JWT 1、BCrypt密码加密 Spring Security 提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强 哈希方法来加密密码,每次的密码均不同 匹配方式:encoder.matches(password,admin.getPassword()) 2、常见的认证机制 Basic Auth是...

USTSD的博客 236

# 持续集成与容器管理

持续集成与容器管理 学习目标: 掌握DockerMaven插件的使用 掌握持续集成工具Jenkins的安装与使用 掌握容器管理工具Rancher的安装与使用 掌握时间序列数据库influxDB的安装与使用 掌握容器监控工具cAdvisor的安装与使用 掌握图表工具Grafana的使用 1 DockerMaven插件 微服务部署有两种方法: (1)手动部署:首先基于源码打包生成jar包(或war...

weixin_42989990的博客 997

微服务持续集成与容器管理

微服务持续集成与容器管理

CodeAries的博客 306

Docker 项目持续集成 docker+gogs+jenkins+rancher+influxDB+cAdvisor+grafana

gogs 1. docker pull gogs/gogs 2. docker run -di --nam=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs jenkins docker pull jenkins/jenkins:lts https://www.jianshu.com/p/5f671aca2b5a jenKins详情教程 rancher 1.docker pull rancher/server 2.dock

axbbest的博客 383

Docker之基础认识学习笔记和常用的一些Docker容器

docker: 依赖于主机操作系统 linux是创建并分配内存空间 c/s模式 client/server 镜像/容器 基于镜像运行容器,如下载一个mysql镜像,运行多个mysql容器 类似于: 类==镜像 new出来的对象==容器 rigister:注册中心 类似于github 私有/公共 dockerhub 文件目录:宿主机映射 dockerfiles:脚本 创建容器两种方式: 1:d...

Seven71111的博客 457

k8s-152习题【内含k8s、docker、prometheus、ELK、Jenkins等面试内容】

常用资源介绍:Pod、最早的控制器RS、deployment(RS的升级)、daemonSet、statefulSet、service、IngressIngress-controller、configmap、secret 、serviceAccount(服务账号)Pod:运行服务器部署中的最小工作单元,pod里运行服务的容器,可以运行一个或者多个容器,一般运行一个一个容器。RS控制器/ReplicaSet,是Pod的控制器,维护pod的副本数,更新pod时候,手动删除pod才能更新。

Nightwish5的博客 422
上一篇: 查询结果为空, 却返回All elements are null,spring boot+mybatis
下一篇: 将枚举类转化为map集合或者list集合
意田天
博客等级 码龄7年 41粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

意田天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值