1.服务监控服务监控主要查看springboot应用的健康状况、JVM信息、环境熟悉配置、JMX、线程信息、http-traces、auditevents、Downloadheapdump等等在wallboard可以查看被监控的应用和实例数;在Applications也可以查看到被监控的应用和地址。1.1.查看详细信息选择应用点击进入details页面:如点击或者。然后可以查看到信息、健康状况、进程、垃圾收集信息、线程信息、内存的堆区和非堆区下面均以publics-oauth应用为例:1.2.查看metrics根据类型可以查看对应的metrics,如:查看http.client.requests的post方法,且clientName是icloud-monitor-release度量,可以查看到执行数量、总共耗费的时间和最耗费时间数1.3.查看环境Environment可以查看激活的配置文件,配置文件名称,内容等等:1.4.查看日志进入页面可以查看到系统使用的日志1.5.查看JMX1.6.查看线程1.7.查看http_trace1.8.查看auditlog1.9.下载dump2.链路监控2.1.简述SpringCloudSleuth主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了zipkin,zipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。随着微服务数量不断增长,它们之间的关系会越来越复杂,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败,需要跟踪一个请求从一个微服务到下一个微服务的传播过程分布式服务跟踪可以:提供链路追踪,故障快速定位:可以通过调用链结合业务日志快速定位错误信息可视化各个阶段耗时,进行性能分析各个调用环节的可用性、梳理服务依赖关系以及优化数据分析,优化链路:可以得到用户的行为路径,汇总分析应用在很多业务场景2.2.概念2.2.1.SpanSpan是基本工作单元,一次链路调用(可以是RPC,DB等没有特定的限制)创建一个span,通过一个64位ID标识它,span通过还有其他的数据,例如描述信息,时间戳,key-value对的(Annotation)tag信息,parent-id等,其中parent-id,可以表示span调用链路来源,通俗的理解span就是一次请求信息2.2.2.Trace类似于树结构的Span集合,表示一条调用链路,存在唯一标识2.2.3.Annotation注解,用来记录请求特定事件相关信息(例如时间),通常包含四个注解信息:cs-ClientStart,表示客户端发起请求sr-ServerReceive,表示服务端收到请求ss-ServerSend,表示服务端完成处理,并将结果发送给客户端cr-ClientReceived,表示客户端获取到服务端返回信息2.3.查看调用链2.3.1.常规条件查找调用链例如:查看最近3小时内,服务名是publics-oauth,跨度是post,AnnotationsQuery是http.path=/oauth/check_token,持续时间大于300000微秒,最多显示10条记录,按时间最长排序的结果如下:2.3.2.根据ID查找调用链如:查找traceID为63de79acce6c531e2.3.3.根据json文件查看选择json文件上传2.4.依赖分析依赖分析可以查看服务调用的依赖:3.日志监控主要介绍如何查看日志。其他更多详细操作请参考kibana操作手册:查看微服务日志3.1.1.创建indexpatterns依次点击:、、3.1.1.1.定义indexpattern根据展示的indexpattern选择一个输入,然后点击下一步。如:输入log4j-2019.02.27,下一步选择@timestamp3.1.2.查看日志点击,便可以查看到日志信息3.1.2.1.筛选查看展示信息可以根据选择的列查看:如我选择application、message、level根据时间查看:比如我查看15分钟的日志3.2.配置可视化指定数据来源,选择图形类型,在视图编辑器中为视图的Y轴选择指标聚合,为视图X轴选择一个桶聚合。比如:正在索引微服务服务日志,就可以构建一个条形图,通过指定timestamp字段上的一个term聚合,来展示日志的请求分布:Y轴表示来自每个时间段的应用请求数量,而X轴则表示要显示的时间。图、线或区域图的可视化都是使用度量指标作为Y轴,使用桶作为X轴。桶类似于SQL中的GROUPBY语句。还可以进一步根据指定的子聚合来划分数据。第一个聚合决定任何子序列聚合的数据集。子聚合是有顺序的,可以通过拖拽聚合来改变。比如,可以在application.keyword字段增加一个term子聚合到条形图,来查看这些请求对应的位置。3.3.仪表盘点击添加,把创建的图添加进来即可3.4.监控监控可以查看kibana的各项信息,包括请求数、最大响应时间、实例数和内存使用情况。还能监控Elasticsearch的信息4.容器管理4.1.dashboard简介仪表板主要展示的是主机上的stacks、services、containers、images、volumes、networks等等的整体信息。点击展示的面板即可进入相应的管理页面。4.2.apptemplates简介4.3.stacksstatcks是docker定义的一簇服务。4.3.1.查看点击左侧菜单栏stacks即可查看所有的stack点击portainer4.3.2.增加点击AddTask按钮,进入编辑页面:填写名称选择构建方式部署如:4.3.3.删除选择stackremove4.4.ServicesService是docker定义的提供某种服务,可以有一个或多个容器组成。4.4.1.查看点击左侧栏service,可以查看到services的名称,所属stack,image,调度模式,端口,更新时间。展开可以查看任务的详细信息(日志,监控,控制台,inspect,节点)等等4.4.2.添加点击添加按钮进入添加页面,必填:name,image,Registry,Scheduling选填:端口映射,卷,网络,标签,等等4.4.3.更新当我们更新服务的时候,需要把镜像事先拉取下来,然后选中服务,点击4.4.4.删除4.5.Containers进入容器页面会可以看到主机上容器的相关信息比如:状态,镜像,ip,主机,映射端口等4.5.1.操作按钮Start:启动容器Stop:发送终止信号,再一段时候后再发送kill信号,可以做退出前工作,比如保存状态、处理当前请求等Kill:强行终止容器Restart:重启容器Pause:暂停容器Resume:恢复容器Remove:删除容器4.5.2.日志查看容器日志查看是比较重要的内容。假如部署的微服务应用容器出现问题,这个时候查看日志就是必须的。点对应容器的日志按钮即可查看日志。比如我要查看elk容器的日志:4.5.3.容器监控容器监控可以查看容器使用的内存,cpu,网络等信息。4.5.4.容器详情容器详情查看inspect也是比较重要的。可以查看容器的网络,端口映射,挂载目录,环境变量,标签,镜像等等4.5.5.容器终端容器终端主要进入容器的linux系统进行操作,比如修改时间,修改文件等等4.5.6.容器创建点击,进入编辑页面。比如创建一个nginx容器:访问:端口其他高级设置:命令,卷,网络,环境变量,标签,重启策略,资源限制,系统能力根据自己需要设置4.5.7.容器其他操作创建镜像:修改重启策略:加入网络:4.6.imagesimages是创建容器的模板,在镜像页面可以管理各个主机节点的镜像,包括镜像信息,拉取镜像,删除镜像,构建镜像,导入导出镜像4.6.1.镜像信息4.6.2.拉取镜像填写镜像名选择仓库选择主机节点拉取4.6.3.构建镜像点击,进入编辑页面,填写镜像名选择构建方式选择节点;点击,如:4.6.4.删除镜像选择镜像删除即可4.7.networks4.7.1.查看4.7.2.创建必填:名称、drvier类型、节点选填:标签,子网地址,网关,ip范围,是否对外网限制,容器是否可以手动加入等等如:创建test网络4.7.3.删除网络中删除容器:删除网络:删除网络前确保容器已从该网络中移除4.8.Volumes卷主要是管理容器中数据,在主机的/var/lib/docker/volumes/目录下4.8.1.查看点击可以查看文件的详细信息,如下:4.8.2.添加点击,填写名称,选择主机,创建。如:创建一个testvolumes4.8.3.删除删除上面创建的卷:4.9.ConfigConfig主要用于swarm,dockerAPI版本1.30+;config可以为springboot应用在不同环境、不同应用创建不同的配置dockerservicecreate\--nameServiceName\--configsource=dev-spring-boot,target=/application.yaml\--publishpublished=8080,target=8080\Image\--spring.config.location=file:/application.yaml4.9.1.创建4.9.2.删除4.10.SecretsSecrets用来存放一些敏感数据如:用户密码、TLScertificatesandkeys、SSHkeys、数据库名等等,存放在swarm管理节点的raft的databases里面4.10.1.创建点击,编辑4.10.2.删除4.11.Swarm主要查看集群状态和节点信息