blob: 5a360288658d98ad965fe48e76f210bd8829bd18 [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/9"><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/9"><link data-rh="true" rel="alternate" href="https://hertzbeat.apache.org/zh-cn/blog/page/9" hreflang="zh-cn"><link data-rh="true" rel="alternate" href="https://hertzbeat.apache.org/blog/page/9" hreflang="en"><link data-rh="true" rel="alternate" href="https://hertzbeat.apache.org/blog/page/9" 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/9" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh-cn">中文(中国)</a></li><li><a href="/blog/page/9" 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/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></h2><div class="container_mt6G margin-vert--md"><time datetime="2023-05-11T00:00:00.000Z" itemprop="datePublished">May 11, 2023</time> · <!-- -->5 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="using-greptimedb-an-open-source-temporal-database-to-store-metrics-for-open-source-real-time-monitoring-hertzbeat">Using GreptimeDB, an open source temporal database, to store metrics for open source real-time monitoring HertzBeat<a href="#using-greptimedb-an-open-source-temporal-database-to-store-metrics-for-open-source-real-time-monitoring-hertzbeat" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-greptimedb">What is GreptimeDB?<a href="#what-is-greptimedb" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h3><blockquote><p><a href="https://github.com/GreptimeTeam/greptimedb" target="_blank" rel="noopener noreferrer">GreptimeDB</a> is an open source, distributed, cloud-native temporal database that fuses temporal data processing and analytics.</p></blockquote><ul><li>Complete ecosystem, support a large number of open protocols, compatible with MySQL/PostreSQL/PromQL/OpenTSDB, etc., low learning cost, out-of-the-box.</li><li>Mixed load of timing and analytics, support for highly concurrent read/write; native support for PromQL, support for SQL/Python for powerful in-library analytics.</li><li>Efficient storage and computation, with object storage and high data compression rate to achieve ultra-low storage costs. Built-in data analytics solution to avoid replicating data to external data warehouses.</li><li>Distributed, Highly Reliable &amp; Highly Available, easily scale each module independently with decoupled cloud-native architecture. Ensure data reliability and availability with configurable replicas and automated failover mechanisms.</li></ul><p>Cloud: <strong><a href="https://greptime.com/playground" target="_blank" rel="noopener noreferrer">GreptimePlay</a></strong></p><h3 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></h3><blockquote><p><a href="https://github.com/dromara/hertzbeat" target="_blank" rel="noopener noreferrer">HertzBeat</a> is an open source real-time monitoring and alerting tool with powerful customizable monitoring capabilities and no Agent required.</p></blockquote><ul><li>HertzBeat is an open source real-time monitoring and alerting tool with powerful customizable monitoring capabilities without the need for an agent. It integrates <strong>Monitoring+Alerting+Notification</strong> All in one, supports monitoring of application services, applications, databases, caching, operating systems, big data, middleware, web servers, cloud native, network, customization, etc., and notifies you of thresholds and alerts all in one step.</li><li>More liberalized threshold rules (calculation expressions), <code>Email</code> <code>Discord</code> <code>Slack</code> <code>Telegram</code> <code>Pinned</code> <code>Dingtalk</code> <code>WeChat</code> <code>Flybook</code> <code>SMS</code> <code>Webhook</code> and other ways to deliver in time.</li><li>Configurable <code>Http, Jmx, Ssh, Snmp, Jdbc, Prometheus</code> and other protocol specifications, just configure the <code>YML</code> monitoring template in the browser to use these protocols to customize the collection of desired metrics.</li></ul><blockquote><p>With <code>HertzBeat</code>&#x27;s powerful customization, multi-type support, easy scalability and low coupling, we hope to help developers and small and medium-sized teams to quickly build their own monitoring system.</p></blockquote><p>Cloud: <strong><a href="https://console.tancloud.cn/" target="_blank" rel="noopener noreferrer">TanCloud</a></strong></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="greptimedb--hertzbeat">GreptimeDB &amp; HertzBeat<a href="#greptimedb--hertzbeat" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h3><blockquote><p>In the following section, we will demonstrate step-by-step how HertzBeat can be combined with GreptimeDB as a storage to store the collected metrics data.</p></blockquote><h4 class="anchor anchorWithStickyNavbar_LWe7" id="installing-and-deploying-greptimedb">Installing and Deploying GreptimeDB<a href="#installing-and-deploying-greptimedb" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><p>You can refer to the <a href="https://docs.greptime.com/getting-started/overview#docker" target="_blank" rel="noopener noreferrer">official documentation</a> for more details.</p><ol><li>Docker installation of GreptimeDB</li></ol><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker</span><span class="token plain"> run -p </span><span class="token number" style="color:#36acaa">4000</span><span class="token plain">-4004:4000-4004 </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"> -p </span><span class="token number" style="color:#36acaa">4242</span><span class="token plain">:4242 -v </span><span class="token string" style="color:#e3116c">&quot;</span><span class="token string variable" style="color:#36acaa">$(</span><span class="token string variable builtin class-name" style="color:#36acaa">pwd</span><span class="token string variable" style="color:#36acaa">)</span><span class="token string" style="color:#e3116c">/greptimedb:/tmp/greptimedb&quot;</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"> --name greptime </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"> greptime/greptimedb:0.2.0 standalone start </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"> --http-addr </span><span class="token number" style="color:#36acaa">0.0</span><span class="token plain">.0.0.0:4000 </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"> --rpc-addr </span><span class="token number" style="color:#36acaa">0.0</span><span class="token plain">.0.0:4001</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><ul><li><code>-v &quot;$(pwd)/greptimedb:/tmp/greptimedb&quot;</code> is the local persistent mount for the greptimeDB data directory, it is recommended to replace <code>$(pwd)/greptimedb</code> with the actual local directory you want to specify for storage.</li></ul><ol start="2"><li>Use <code>$ docker ps | grep greptime</code> to see if GreptimeDB started successfully.</li></ol><h4 class="anchor anchorWithStickyNavbar_LWe7" id="installing-and-deploying-hertzbeat">Installing and Deploying HertzBeat<a href="#installing-and-deploying-hertzbeat" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><p>See the <a href="https://hertzbeat.com/zh-cn/docs/start/docker-deploy" target="_blank" rel="noopener noreferrer">official documentation</a> for details.</p><ol><li>Docker installs HertzBeat.</li></ol><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker</span><span class="token plain"> run -d -p </span><span class="token number" style="color:#36acaa">1157</span><span class="token plain">:1157 </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"> -e </span><span class="token assign-left variable environment constant" style="color:#36acaa">LANG</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">zh_CN.UTF-8 </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"> -e </span><span class="token assign-left variable" style="color:#36acaa">TZ</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">Asia/Shanghai </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"> -v /opt/data:/opt/hertzbeat/data </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"> -v /opt/application.yml:/opt/hertzbeat/config/application.yml </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"> --restart</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">always </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"> --name hertzbeat tancloud/hertzbeat</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><ul><li><p><code>-v /opt/data:/opt/hertzbeat/data</code> : (Optional, data persistence) Important ⚠️ Mount the H2 database files to the local host to ensure that the data will not be lost due to the creation and deletion of the container</p></li><li><p><code>-v /opt/application.yml:/opt/hertzbeat/config/application.yml</code> : Mount customized local configuration files to the container, i.e. use local configuration files to overwrite the container configuration files.</p></li></ul><p>Note that the ⚠️ local mount configuration file <code>application.yml</code> needs to exist in advance, and the full contents of the file can be found in the project repository <!-- -->[/script/application.yml]<!-- -->(<a href="https://github.com/dromara/hertzbeat/raw/master/script/" target="_blank" rel="noopener noreferrer">https://github.com/dromara/hertzbeat/raw/master/script/</a> application.yml)</p><ol start="2"><li>Go to http://ip:1157/ with the default account and password admin/hertzbeat to see if HertzBeat starts successfully.</li></ol><h4 class="anchor anchorWithStickyNavbar_LWe7" id="configure-to-use-greptimedb-to-store-hertzbeat-monitoring-metrics-metrics-data">Configure to use GreptimeDB to store HertzBeat monitoring metrics metrics data<a href="#configure-to-use-greptimedb-to-store-hertzbeat-monitoring-metrics-metrics-data" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><ol><li>Modify the HertzBeat configuration file.</li></ol><p>Modify the locally mounted HertzBeat configuration file <a href="https://github.com/dromara/hertzbeat/raw/master/script/application.yml" target="_blank" rel="noopener noreferrer">application.yml</a>, in package mode modify `hertzbeat/ config/application.yml</p><p><strong>Modify the <code>warehouse.store.jpa.enabled</code> parameter in there to <code>false</code>, configure the <code>warehouse.store.greptime</code> datasource parameter in there, the URL account password, and enable <code>enabled</code> to <code>true</code></strong>.</p><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">warehouse</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">store</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">jpa</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">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean important" 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 key atrule" style="color:#00a4db">greptime</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">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean important" 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 key atrule" style="color:#00a4db">endpoint</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> localhost</span><span class="token punctuation" style="color:#393A34">:</span><span class="token number" style="color:#36acaa">4001</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>Restart HertzBeat.</li></ol><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">docker</span><span class="token plain"> restart hertzbeat</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="observe-the-authentication-effect">Observe the authentication effect<a href="#observe-the-authentication-effect" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h4><ol><li>visit HertzBeat in your browser http://ip:1157/ default account password admin/hertzbeat</li><li>Use HertzBeat to add application monitors, such as website monitors, Linux monitors, Mysql monitors, and so on.</li><li>After monitoring and collecting several cycles, check whether GreptimeDB database stores the metrics data and whether HertzBeat metrics data graph data is displayed normally.</li></ol><p>Here&#x27;s the picture: !</p><p><img loading="lazy" alt="1" src="/assets/images/greptime-1-d2ba51f5163374602e1a0643db6edbcc.png" width="4064" height="2166" class="img_ev3q"></p><p><img loading="lazy" alt="1" src="/assets/images/greptime-2-264d43273a7cfe3bda1112db315c6f1c.png" width="4064" height="2166" class="img_ev3q"></p><p><img loading="lazy" alt="1" src="/assets/images/greptime-3-7640c67312e8c1db060284867b78d65e.png" width="2764" height="1664" class="img_ev3q"></p><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><p>This article took us to experience how to use the open source time-series database GreptimeDB to store the metrics data of the open source real-time monitoring HertzBeat, in general, the two open source products is very simple to get started, the key is that if it is too much trouble do not want to deploy both of them still have cloud services 😂 let you toss.<br>
<!-- -->As one of the developers of the feature <a href="https://github.com/dromara/hertzbeat/pull/834" target="_blank" rel="noopener noreferrer">HertzBeat supports GreptimeDB</a>, in the actual adaptation process, GreptimeDB&#x27;s silky-smooth native SDK and relational database-like SQL, let us from other GreptimeDB native SDK and relational database-like SQL make it very easy to switch from other time-series databases like <code>TDengine, IotDB, InfluxDB</code> to GreptimeDB, and the experience is very smooth.</p><p>GreptimeDB Github: <a href="https://github.com/GreptimeTeam/greptimedb" target="_blank" rel="noopener noreferrer">https://github.com/GreptimeTeam/greptimedb</a><br>
<!-- -->HertzBeat Github: <a href="https://github.com/dromara/hertzbeat" target="_blank" rel="noopener noreferrer">https://github.com/dromara/hertzbeat</a></p><p><strong> Finally, you are welcome to be more understanding, more use, more comments, more ISSUE, more PR, more Star support these two did not come out for a long time hope to get care of open source cattle are not afraid of difficulties a small star oh! Do open source, we are sincere, love 💗</strong></p><p>Thanks to the contributors of this feature <a href="https://github.com/dromara/hertzbeat/pull/834" target="_blank" rel="noopener noreferrer">HertzBeat support GreptimeDB</a> @zqr10159, @fengjiachun, @killme2008, @tomsun28</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/8"><div class="pagination-nav__label">Newer Entries</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/blog/page/10"><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>