cadvisor

How to monitor java application memory usage in Docker

邮差的信 提交于 2019-11-30 05:09:59
I run the java web application on tomcat in the Docker container. Is there any way to monitor the memory usage of the java application? I try to use jconsole with the process id of the docker, but it tells me Invalidate process id I also enable JMX in tomcat, but don't know how to bind to it. I can use visualvm from my local to bind the host machine, but can not find way to bind to the docker inner the host. Is there any good way to achieve this? Thanks To connect to a java process running in a docker container running in boot2docker with visualvm you can try the following: Start your java

Kubernetes监控实践

懵懂的女人 提交于 2019-11-30 02:45:10
一、Kubernetes介绍 Kubernetes(K8s)是一个开源平台,能够有效简化应用管理、应用部署和应用扩展环节的手动操作流程,让用户更加灵活地部署管理云端应用。 作为可扩展的容错平台,K8s几乎能够部署在所有基础设施中,与Google Cloud、MS Azure及AWS等公有云、私有云、混合云、服务器集群、数据中心等完美兼容。Kubernetes最大的亮点在于支持容器自动部署和自动复制。这也是大量云端微服务基础设施部署在K8s上的原因。 二、K8s由来 K8s最初是由Google工程师设计开发的,于2014年上线并开源,目前由来自微软、红帽、IBM及Docker等软件巨头的社区贡献者维护升级。 Google不仅开源了公司整个基础设施在容器中的运行方式,还积极开发Linux容器技术,支撑Google所有云服务。K8s是基于云平台15年的生产工作负载运行经验设计出来的,用于处理成千上万个容器。Google每周部署20多亿个容器。在K8s上线前,Google主要通过内部开发平台Borg进行容器部署。Borg是大型内部集群管理系统,运行了无数应用和集群任务,多年的开发经验奠定了K8s技术的基础。 三、K8s工作原理 K8s本质上是分部在不同机器上的容器化应用的协调系统,目的是帮助开发人员通过K8s的可预测性、可扩展性和高可用性管理容器化应用和服务的整个生命周期

【运维】K8S集群部署系列之Kubelet参数说明

落花浮王杯 提交于 2019-11-28 20:10:56
KUBELETE 参数说明 参数名 类型 默认值 参数说明 –address strings 0.0.0.0 Kubelet要使用的IP地址, \ 对于所有IPv4接口设置为 0.0.0.0 ,对于所有IPv6接口设置为 :: ,默认值 0.0.0.0 。\ 不推荐:该参数应该通过Kubelet的 --config 标志指定的配置文件设置。 见https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/获取更多信息 –allowed-unsafe-sysctls strings enabled 不安全的sysctl或不安全的sysctl模式(以*结尾),用逗号分隔。\ 风险自担。默认开启Sysctls功能。 –alsologtostderr boolean false 记录标准错误和文件 –anonymous-auth boolean true 启用对Kubelet服务器的匿名请求(未被其他身份验证方法拒绝的请求被视为匿名请求),默认true。\ 匿名请求拥有用户名 system:anonymous 和组 system:unauthenticated 。\ 不推荐:这个参数应该通过Kubelet的 --config 标志指定的配置文件来设置。\ 见https://kubernetes.io/docs

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

一笑奈何 提交于 2019-11-28 10:40:31
https://www.cnblogs.com/Detector/p/10104254.html 前言 在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率。 但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试,而且它自带的监视器效果实在一般:在Windows下渲染效果不好,在linux环境(非GUI环境)下更是无法使用,这一点我在 如何选择性能测试工具 中有过简单的描述。 所以,在做性能测试时,为 Jmeter 构建一个可视化的监控环境平台是非常有价值的。这也是这篇博客的目的。 首先我们来看一下最后的成品, 监控了TPS、并发、请求成功率、失败率、请求&接收数据大小、平均响应时长、95%的请求平均响应时长等等。 (这里面的各个板块都是可自定义配置的,无论多花里花哨都可以[奸笑脸]) 业务服务监控:精确到具体的接口 Mysql监控:精确到具体的查询函数 Redis监控:精确到具体的cache操作 组件简介 首先我们一起来简单了解下今天需要用到的这几个工具。 InfluxDB 一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。 cAdvisor Google用来监测单节点的资源信息的监控工具。Kubernetes中也缺省地将其作为单节点的资源监控工具

6. 使用cadvisor监控docker容器

℡╲_俬逩灬. 提交于 2019-11-27 10:18:14
Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行。这里我们可以服务端和客户端都使用cadvisor 客户端 1.下载镜像 [root@localhost opt]# docker pull google/cadvisor 2.运行 [root@localhost opt]# docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --volume=/cgroup:/cgroup:ro \ --privileged=true \ --publish=9101:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor 注意: 这里是把容器8080端口映射到主机9101,cadvisor有web界面地址:http://IP:9101 服务端 1.安装cadvisor,同客户端 2.配置 Prometheus 添加docker容器监控目标 [root