blob: 67580182243b96cc227ee6a9c20b71b3643c7e2c [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Blog | HertzBeat</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://hertzbeat.apache.org/img/hertzbeat-logo.svg"><meta data-rh="true" name="twitter:image" content="https://hertzbeat.apache.org/img/hertzbeat-logo.svg"><meta data-rh="true" property="og:url" content="https://hertzbeat.apache.org/blog/page/11"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="monitor, apm, 监控, 开源, uptime, opensource"><meta data-rh="true" property="og:title" content="Blog | HertzBeat"><meta data-rh="true" name="description" content="Blog"><meta data-rh="true" property="og:description" content="Blog"><meta data-rh="true" name="docusaurus_tag" content="blog_posts_list"><meta data-rh="true" name="docsearch:docusaurus_tag" content="blog_posts_list"><link data-rh="true" rel="icon" href="/img/hertzbeat-logo.svg"><link data-rh="true" rel="canonical" href="https://hertzbeat.apache.org/blog/page/11"><link data-rh="true" rel="alternate" href="https://hertzbeat.apache.org/zh-cn/blog/page/11" hreflang="zh-cn"><link data-rh="true" rel="alternate" href="https://hertzbeat.apache.org/blog/page/11" hreflang="en"><link data-rh="true" rel="alternate" href="https://hertzbeat.apache.org/blog/page/11" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://JMM99UL1H5-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="HertzBeat RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="HertzBeat Atom Feed">
<link rel="alternate" type="application/json" href="/blog/feed.json" title="HertzBeat JSON Feed">
<link rel="search" type="application/opensearchdescription+xml" title="HertzBeat" href="/opensearch.xml">
<link rel="icon" href="/img/hertzbeat-logo.svg">
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="rgb(234, 90, 7)">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="#000">
<link rel="apple-touch-icon" href="/img/hertzbeat-logo.svg">
<link rel="mask-icon" href="/img/hertzbeat-logo.svg" color="rgb(234, 90, 7)">
<meta name="msapplication-TileImage" content="/img/hertzbeat-logo.svg">
<meta name="msapplication-TileColor" content="#000">
<script src="https://hm.baidu.com/hm.js?77fb03ed1c6c1267119fec6d84dd88f3" async></script><link rel="stylesheet" href="/assets/css/styles.d9b7538f.css">
<link rel="preload" href="/assets/js/runtime~main.45bcddf9.js" as="script">
<link rel="preload" href="/assets/js/main.0727f393.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/hertzbeat-brand.svg" alt="An open source, real-time monitoring tool with custom-monitor and agentLess." class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/hertzbeat-brand.svg" alt="An open source, real-time monitoring tool with custom-monitor and agentLess." class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">HertzBeat</b></a><a class="navbar__item navbar__link" href="/docs/">Docs</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog/">Blog</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Others</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/others/contact">Discuss</a></li><li><a class="dropdown__link" href="/docs/others/developer">Contributors</a></li><li><a class="dropdown__link" href="/docs/others/contributing">Contributor Guide</a></li><li><a href="https://github.com/orgs/apache/projects/6" target="_blank" rel="noopener noreferrer" class="dropdown__link">Kanban<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a class="dropdown__link" href="/docs/others/sponsor">Sponsor</a></li><li><a class="dropdown__link" href="/docs/others/resource">Resource</a></li></ul></div></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/docs/">v1.5.x</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/">v1.5.x</a></li><li><a class="dropdown__link" href="/docs/v1.4.x/">v1.4.x</a></li><li><a class="dropdown__link" href="/docs/v1.3.x/">v1.3.x</a></li><li><a class="dropdown__link" href="/docs/v1.1.x/">v1.1.x</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>English</a><ul class="dropdown__menu"><li><a href="/zh-cn/blog/page/11" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh-cn">中文(中国)</a></li><li><a href="/blog/page/11" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="en">English</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2024/01/18/hertzbeat-v1.4.4">HertzBeat v1.4.4 released now!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2024/01/11/new-committer">Welcome to HertzBeat Community Committer!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/12/11/hertzbeat-v1.4.3">HertzBeat v1.4.3 released, prometheus-compatible!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/11/12/hertzbeat-v1.4.2">HertzBeat v1.4.2 released, custom notice template!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/09/26/hertzbeat-v1.4.1">HertzBeat v1.4.1 released, better experience!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/08/28/new-committer">Welcome to HertzBeat Community Committer!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/08/14/hertzbeat-v1.4.0">HertzBeat v1.4.0 released, cluster is coming!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/07/05/hertzbeat-v1.3.2">Open source monitoring HertzBeat v1.3.2 released, Easier to use</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/05/11/greptimedb-store">GreptimeDB &amp; HertzBeat, using the open source temporal database GreptimeDB to store metrics for the open source real-time monitoring HertzBeat</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/05/09/hertzbeat-v1.3.1">Open source real-time monitoring tool HertzBeat v1.3.1 released</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/03/22/monitor-springboot2">Monitoring SpringBoot2 Metrics with HertzBeat in 5 minutes</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/03/15/hertzbeat-v1.3.0">Open source real-time monitoring tool HertzBeat v1.3.0 released, online customization is coming</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/02/15/monitor-linux">Monitoring Linux Operating Systems Using Open Source Real-Time Monitoring HertzBeat</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/02/11/monitor-mysql">Use the open source real-time monitoring tool HertzBeat to monitor and alert Mysql database</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/02/10/new-committer">Welcome two new Committers from HertzBeat</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/02/02/monitor-dynamic-tp">Monitoring Practices for DynamicTp Thread Pooling Framework with HertzBeat</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/01/08/monitor-shenyu">HertzBeat&#x27;s Monitoring Practice for API Gateway Apache ShenYu</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2023/01/05/monitor-iotdb">Use HertzBeat Monitoring IoTDB</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/12/28/hertzbeat-v1.2.3">HertzBeat v1.2.3!Support Prometheus,ShenYu and IotDb</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/12/19/new-committer">恭喜 HertzBeat 迎来了两位新晋社区Committer</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/11/28/hertzbeat-v1.2.2">HertzBeat v1.2.2!Support K8S Monitor And More.</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/10/08/hertzbeat-v1.2.0">HertzBeat v1.2.0 Released! Easy-to-use and friendly open source real-time monitoring tool</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/09/10/ssl-practice">Best Practices for SSL Certificate Expiration Monitoring</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/09/04/hertzbeat-v1.1.3">Cloud monitoring system HertzBeat v1.1.3 released!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/07/10/hertzbeat-v1.1.1">HertzBeat v1.1.1 is Publish!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/06/22/one-step-up">HertzBeat Monitoring System v1.1.0 Released! Start Your Monitoring Journey with Just One Command!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/06/19/hertzbeat-v1.1.0">Cloud Monitoring System HertzBeat v1.1.0 Released! Start Your Monitoring Journey with Just One Command!</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/blog/2022/06/01/hertzbeat-v1.0">Cloud Monitoring System HertzBeat v1.0 Officially Released</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/blog/2023/03/22/monitor-springboot2">Monitoring SpringBoot2 Metrics with HertzBeat in 5 minutes</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-03-22T00:00:00.000Z" itemprop="datePublished">March 22, 2023</time> · <!-- -->7 min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/tomsun28" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://avatars.githubusercontent.com/u/24788200?s=400&amp;v=4" alt="tom"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/tomsun28" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">tom</span></a></div><small class="avatar__subtitle" itemprop="description">tom</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><h2 class="anchor anchorWithStickyNavbar_LWe7" id="use-the-open-source-real-time-monitoring-tool-hertzbeat-to-monitor-and-alarm-the-springboot2-application-and-it-will-be-done-in-5-minutes">Use the open source real-time monitoring tool HertzBeat to monitor and alarm the SpringBoot2 application, and it will be done in 5 minutes!<a href="#use-the-open-source-real-time-monitoring-tool-hertzbeat-to-monitor-and-alarm-the-springboot2-application-and-it-will-be-done-in-5-minutes" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="hertzbeat-intro">HertzBeat Intro<a href="#hertzbeat-intro" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h3><blockquote><p>HertzBeat is an open source, real-time monitoring tool with custom-monitor and agentLess. | 易用友好的开源实时监控告警工具,无需Agent,强大自定义监控能力.</p></blockquote><blockquote><p><strong>Monitor+Alerter+Notify</strong> all in one. Support monitoring web service, database, os, middleware, cloud-native, network and more.<br>
<!-- -->More flexible threshold rule(calculation expression), timely notification delivery by <code>Discord</code> <code>Slack</code> <code>Telegram</code> <code>Email</code> <code>DingDing</code> <code>WeChat</code> <code>FeiShu</code> <code>Webhook</code> <code>SMS</code>.</p></blockquote><blockquote><p>We make protocols such as <code>Http, Jmx, Ssh, Snmp, Jdbc, Prometheus</code> configurable, and you only need to configure <code>YML</code> online to collect any metrics you want.<br>
<!-- -->Do you believe that you can immediately adapt a new monitoring type such as K8s or Docker just by configuring online?</p></blockquote><blockquote><p><code>HertzBeat</code>&#x27;s powerful custom-define, multi-type support, easy expansion, low coupling, hope to help developers and micro teams to quickly build their own monitoring system. </p></blockquote><p>Github: <a href="https://github.com/dromara/hertzbeat" target="_blank" rel="noopener noreferrer">https://github.com/dromara/hertzbeat</a></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="monitoring-springboot2-metrics-with-hertzbeat-in-5-minutes">Monitoring SpringBoot2 Metrics with HertzBeat in 5 minutes<a href="#monitoring-springboot2-metrics-with-hertzbeat-in-5-minutes" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h3><h4 class="anchor anchorWithStickyNavbar_LWe7" id="prerequisite-you-already-have-springboot2-application-environment-and-hertzbeat-environment">Prerequisite, you already have SpringBoot2 application environment and HertzBeat environment.<a href="#prerequisite-you-already-have-springboot2-application-environment-and-hertzbeat-environment" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><ul><li>HertzBeat <a href="https://hertzbeat.com/docs/start/docker-deploy" target="_blank" rel="noopener noreferrer">Installation and deployment documentation</a></li></ul><h4 class="anchor anchorWithStickyNavbar_LWe7" id="1-the-actuator-metric-endpoint-is-exposed-on-the-springboot2-application-side-which-will-provide-metrics-endpoints-data">1. The <code>actuator</code> metric endpoint is exposed on the SpringBoot2 application side, which will provide metrics endpoints data.<a href="#1-the-actuator-metric-endpoint-is-exposed-on-the-springboot2-application-side-which-will-provide-metrics-endpoints-data" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><ol><li>Open SpringBoot Actuator Endpoint to expose <code>metrics health env</code> metric interface</li></ol><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">management</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">endpoints</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">web</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">exposure</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">include</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;metrics&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;health&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;env&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">enabled-by-default</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> on</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ol start="2"><li>After restarting, test whether the access metric interface <code>ip:port/actuator</code> has response json data as follows:</li></ol><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;_links&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;self&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;href&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://localhost:1157/actuator&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;templated&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">false</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;health-path&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;href&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://localhost:1157/actuator/health/{*path}&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;templated&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;health&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;href&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://localhost:1157/actuator/health&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;templated&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">false</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;env&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;href&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://localhost:1157/actuator/env&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;templated&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">false</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;env-toMatch&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;href&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://localhost:1157/actuator/env/{toMatch}&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;templated&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;metrics-requiredMetricName&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;href&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://localhost:1157/actuator/metrics/{requiredMetricName}&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;templated&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;metrics&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;href&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://localhost:1157/actuator/metrics&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;templated&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">false</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h4 class="anchor anchorWithStickyNavbar_LWe7" id="add-springboot2-application-monitoring-in-the-hertzbeat-monitoring-ui">Add SpringBoot2 application monitoring in the HertzBeat monitoring ui<a href="#add-springboot2-application-monitoring-in-the-hertzbeat-monitoring-ui" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><ol><li>Click to add SpringBoot2 monitoring</li></ol><p>Path: Menu -&gt; Application Service Monitoring -&gt; SpringBoot2 -&gt; Add SpringBoot2 Monitoring</p><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-1-78e4eac4f6430c8747cc7297f87bcc08.png" width="4064" height="2166" class="img_ev3q"></p><ol start="2"><li>Configure the parameters required for new monitoring SpringBoot2</li></ol><p>Fill in the SpringBoot2 application <strong>peer IP</strong>, <strong>service port</strong> (default 8080), <strong>account password, etc.</strong> on the monitoring page, and finally click OK to add.
For other parameters such as <strong>collection interval</strong>, <strong>timeout period</strong>, etc., please refer to the help document <a href="https://hertzbeat.com/docs/help/" target="_blank" rel="noopener noreferrer">https://hertzbeat.com/docs/help/</a></p><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-2-fa4385fb54fb702a0d08163f4fbe198c.png" width="4064" height="2166" class="img_ev3q"></p><ol start="3"><li>Complete ✅, now we have added the monitoring of the SpringBoot2 application, check the monitoring list to see our additions.</li></ol><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-3-374e72a1a6cd9da11c7f4e04772484f1.png" width="4064" height="2166" class="img_ev3q"></p><ol start="4"><li>Click <strong>Operation</strong>-&gt;<strong>Monitoring Details Icon</strong> of the monitoring list item to browse the real-time monitoring metric data of the SpringBoot2 application.</li></ol><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-4-ac24d94ab16c267de2e8970f8854b5c9.png" width="4064" height="2166" class="img_ev3q"></p><ol start="5"><li>Click <strong>Monitoring History Details TAB</strong> to browse the historical monitoring metric data chart of the SpringBoot2 application📈.</li></ol><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-5-fcb5903d7a7d44d7ab9bcc1edd9add6e.png" width="4064" height="2166" class="img_ev3q"></p><p><strong>DONE! Done! It doesn&#x27;t require us to deploy agents or various cumbersome operations, isn&#x27;t it very simple</strong></p><ul><li><strong>Just one step to configure the IP port on the HertzBeat monitoring page and add SpringBoot2 application monitoring</strong></li></ul><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_S0QG"><p>Through the above, we have completed the monitoring of the SpringBoot2 application. We can check the status and availability of various metrics of the SpringBoot2 application at any time in HertzBeat.<br>
<!-- -->Of course, it is impossible to manually check the metrics in real time. Monitoring is often accompanied by alarm thresholds. When the performance metrics of the SpringBoot2 application exceed our threshold or the SpringBoot2 application itself is abnormal, we can promptly notify our corresponding person in charge. The person in charge receives the notification and handles it. , this is a complete monitoring and alarm process.</p></div></div><p><strong>Next, we will demonstrate step by step how to configure the threshold alarm notification in the HertzBeat system. When the metrics of the SpringBoot2 application are abnormal, we will be notified in time</strong> </p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="3-add-springboot2-application-metric-threshold-alarm-in-hertzbeat-system">3. Add SpringBoot2 application metric threshold alarm in HertzBeat system<a href="#3-add-springboot2-application-metric-threshold-alarm-in-hertzbeat-system" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><ol><li>Configure an alarm threshold for an important metric</li></ol><p>Path: Menu -&gt; Threshold Rules -&gt; Add Threshold</p><ul><li>Select the configured metric object. SpringBoot2 application monitoring mainly focuses on stack memory threads and other related metrics. For example, we set the threshold for the metric <code>threads</code> -&gt; <code>threads</code>. When the number of threads in the <code>runnable</code> state is greater than At 300 an alert is issued.</li><li>Here we configure to send an alarm when <code>size</code>, <code>state</code> of <code>equals(state, &quot;runnable&quot;&quot;) &amp;&amp; size&gt;300</code> of this metric, the alarm level is <strong>warning alarm</strong>, which will be triggered three times, specifically As shown below.</li></ul><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-6-daaea06167a79dbf6bf73bd004c60c98.png" width="4064" height="2166" class="img_ev3q"></p><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-7-7a4ec6564ba9615353b68c19779752af.png" width="4064" height="2166" class="img_ev3q"></p><ol start="2"><li>Add message notification recipients</li></ol><blockquote><p>Configure the receiver to let the alarm message know who to send and how to send it.</p></blockquote><p>Path: Menu -&gt; Alarm Notification -&gt; Alarm Recipient -&gt; Add New Recipient</p><p>Message notification methods support <strong>email, DingTalk, WeChat Work, Feishu, WebHook, SMS</strong>, etc. Here we take the commonly used DingTalk as an example.</p><ul><li>Refer to this <a href="https://hertzbeat.com/docs/help/alert_dingtalk" target="_blank" rel="noopener noreferrer">Help Documentation</a> <a href="https://hertzbeat.com/docs/help/alert_dingtalk" target="_blank" rel="noopener noreferrer">https://hertzbeat.com/docs/help/alert_dingtalk</a> to configure the robot on DingTalk and set the security custom keyword <code>HertzBeat </code>, get the corresponding <code>access_token</code> value.</li><li>Configure the receiver parameters in HertzBeat as follows.</li></ul><p>【Alarm Notification】-&gt;【New Recipient】-&gt;【Select DingTalk Robot Notification Method】-&gt;【Set DingTalk Robot ACCESS_TOKEN】-&gt;【OK】</p><p><img loading="lazy" alt="hertzbeat" src="/assets/images/alert-notice-1-3bad6e06e2c870849bc656a2092d59ac.png" width="3436" height="890" class="img_ev3q"></p><ol start="3"><li>Configure the associated alarm notification strategy ⚠️ <!-- -->[Add notification strategy]<!-- --> -&gt; <!-- -->[Associate the recipient just set]<!-- --> -&gt; <!-- -->[OK]</li></ol><blockquote><p>Configure the alarm notification policy to bind the alarm message with the receiver, so that you can decide which alarms to send to whom.</p></blockquote><p><img loading="lazy" alt="hertzbeat" src="/assets/images/alert-notice-2-8025b90624873463fe0a3f75bd7efafa.png" width="3436" height="1088" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="finished-now-wait-for-the-warning-message-to-come-ding-ding-ding-ding">Finished, now wait for the warning message to come. ding ding ding ding<a href="#finished-now-wait-for-the-warning-message-to-come-ding-ding-ding-ding" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h3><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[HertzBeat warning notification]</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Alarm target object: springboot2.threads.size</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Affiliated monitoring ID: 483783444839322</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Belonging monitoring name: SPRINGBOOT2_localhost</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Alarm level: warning alarm</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Alarm trigger time: 2023-03-22 21:13:44</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Content details: The springboot2 service&#x27;s runnable state threads num is over 300, now is 444.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_S0QG"><p>This practical article took us to experience how to use the open source real-time monitoring tool HertzBeat to monitor SpringBoot2 application metric data. We can find that HertzBeat, which integrates <code>monitoring-alarm-notification</code>, is more convenient in operation and use, just click a little on the page The SpringBoot2 application can be included in the monitoring and alarm notification, and the tedious operations of deploying multiple components and writing configuration files are no longer needed.</p></div></div><blockquote><p>Only one docker command is needed to install and experience heartbeat:</p></blockquote><p><code>docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat</code></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="more-powerful">More powerful<a href="#more-powerful" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><blockquote><p>Through the simple steps above, we have realized the monitoring of SpringBoot2, but the built-in metrics in it do not meet the needs. Can we customize and monitor more metrics of SpringBoot2? The answer is of course yes, through <strong>Monitoring Definition</strong>-&gt;<strong>SpringBoot2</strong> on the page, you can customize and modify the performance metrics you want to monitor by editing the following YML configuration file at any time.</p></blockquote><p><img loading="lazy" alt="hertzbeat" src="/assets/images/monitor-springboot2-8-ee4e189a96d0d0a81cf163a3b7b1902a.png" width="4064" height="2166" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-hertzbeat">What is HertzBeat?<a href="#what-is-hertzbeat" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><blockquote><p><a href="https://github.com/dromara/hertzbeat" target="_blank" rel="noopener noreferrer">HertzBeat</a> is an open source, real-time monitoring tool with custom-monitor and agentless.<br>
<strong>Monitor+Alerter+Notify</strong> all in one. Support monitoring web service, database, os, middleware, cloud-native, network and more.<br>
<!-- -->More flexible threshold rule(calculation expression), timely notification delivery by <code>Discord</code> <code>Slack</code> <code>Telegram</code> <code>Email</code> <code>DingDing</code> <code>WeChat</code> <code>FeiShu</code> <code>Webhook</code> <code>SMS</code>.</p></blockquote><blockquote><p>We make protocols such as <code>Http, Jmx, Ssh, Snmp, Jdbc, Prometheus</code> configurable, and you only need to configure <code>YML</code> online to collect any metrics you want.<br>
<!-- -->Do you believe that you can immediately adapt a new monitoring type such as K8s or Docker just by configuring online?</p></blockquote><blockquote><p><code>HertzBeat</code>&#x27;s powerful custom-define, multi-type support, easy expansion, low coupling, hope to help developers and micro teams to quickly build their own monitoring system. </p></blockquote><hr><h2 class="anchor anchorWithStickyNavbar_LWe7" id="-supported">⛄ Supported<a href="#-supported" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><ul><li>Site Monitor, Port Availability, Http Api, Ping Connectivity, Jvm, SiteMap Full Site, Ssl Certificate, SpringBoot, FTP Server</li><li>Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, Damon, OpenGauss, ClickHouse, IoTDB, Redis Cluster</li><li>Linux, Ubuntu, CentOS, Windows</li><li>Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ</li><li>Kubernetes, Docker</li><li>Huawei Switch, HPE Switch, TP-LINK Switch, Cisco Switch</li><li>and more for your custom monitoring.</li><li>Notifications support <code>Discord</code> <code>Slack</code> <code>Telegram</code> <code>Mail</code> <code>Pinning</code> <code>WeChat</code> <code>FlyBook</code> <code>SMS</code> <code>Webhook</code>.</li></ul><hr><p><strong>Github: <a href="https://github.com/dromara/hertzbeat" target="_blank" rel="noopener noreferrer">https://github.com/dromara/hertzbeat</a></strong><br>
<strong>Gitee: <a href="https://gitee.com/dromara/hertzbeat" target="_blank" rel="noopener noreferrer">https://gitee.com/dromara/hertzbeat</a></strong></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/opensource">opensource</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/blog/tags/practice">practice</a></li></ul></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/blog/page/10"><div class="pagination-nav__label">Newer Entries</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/blog/page/12"><div class="pagination-nav__label">Older Entries</div></a></nav></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Introduction</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/start/quickstart">Quickstart</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/help/guide">Help Doc</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/apache/hertzbeat/discussions/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discussion<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/docs/others/contact">Contact</a></li></ul></div><div class="col footer__col"><div class="footer__title">Resource</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/apache/hertzbeat" target="_blank" rel="noopener noreferrer" class="footer__link-item">Github<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/docs/others/resource">Others</a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://github.com/apache/hertzbeat" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/img/hertzbeat-brand.svg" alt="HertzBeat" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/hertzbeat-brand.svg" alt="HertzBeat" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></a></div><div class="footer__copyright">Copyright © 2024 Apache HertzBeat</div></div></div></footer></div>
<script src="/assets/js/runtime~main.45bcddf9.js"></script>
<script src="/assets/js/main.0727f393.js"></script>
</body>
</html>