使用 Keepalived 实现 Ingress Controller 高可用
8373c169ded54a2da593c35aed9a0c85b7c83daac385bfc4ae41f504cad7f5c22ec129a73adfa8ead70b921abb2850bbccc17b496a174b4634ca33167167cfec89ccfb675a6d92f72500b7ed793b3e485e1653117bbf251437288a48670a539ddf9117d3dff1b08d02c00acf63db9ada321fbf99eaa2ac4f20f6fbdd5f6dc9e3af4833dc9193acd2933dc20443e61fb98009be8b55784975da1ec35277391cb8ba9b28f9e9191dee78da3bdb864f0c5ce847e7365c89ce206f646667600e64e9fcf35f6502f8664ac29907d637db44ed86f7aff158a51960c2e70b9533709085a055441a8bb10fff473002e18b706dff468d721a9cb0040b2 ...
K8S 中使用 Prometheus 监控JVM (二)
背景说明在上篇文章 K8S 中使用 Prometheus 监控 JVM (一) 中,我们基于 Kubernetes 的 Service 实现了监控 Pod 中java应用的 JVM 信息。但其实这并不适用于所有的环境,因为在实际环境中并不是所有的 Pod(微服务)都会有自己对应的 Service,所以那些没有使用到 Service 的 Pod 就无法通过上篇文章那种实现来监控 JVM 信息了。现在我们就来解决这个问题。
本篇文章会基于 Pod 控制器的方式来实现 JVM 信息的监控,下面以 Deployment 控制器为例。
操作步骤使用 JMX Exporter 暴露 JVM 监控指标使用 JVM 进程内启动(in-process)方式,启动 JVM 需指定 JMX Exporter 的 jar 包文件和配置文件。jar 包为二进制文件,不便通过 ConfigMap 挂载,建议直接将 JMX Exporter 的 jar 包和配置文件都打包到业务容器镜像中。
这里为了方便演示,jar 包就简单用 hostPath 的方式直接挂载进容器里,配置文件使用 ConfigMap ...
K8S 中使用 Prometheus 监控JVM (一)
操作场景Prometheus 社区开发了 JMX Exporter 用于导出 JVM 的监控指标,以便使用 Prometheus 来采集监控数据。当您的 Java 业务容器化至 Kubernetes 后,可通过本文了解如何使用 Prometheus 与 JMX Exporter 来监控 Java 应用。
JMX Exporter 简介Java Management Extensions,JMX 是管理 Java 的一种扩展框架,JMX Exporter 基于此框架读取 JVM 的运行时状态。JMX Exporter 利用 Java 的 JMX 机制来读取 JVM 运行时的监控数据,然后将其转换为 Prometheus 可辨识的 metrics 格式,以便让 Prometheus 对其进行监控采集。
JMX Exporter 提供启动独立进程及 JVM 进程内启动(in-process)两种方式暴露 JVM 监控指标:
启动独立进程JVM 启动时指定参数,暴露 JMX 的 RMI 接口。JMX Exporter 调用 RMI 获取 JVM 运行时状态数据,转换为 Prom ...