openc3-cosmos-tool-docs 5.14.2 → 5.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/tools/staticdocs/404.html +2 -2
- data/tools/staticdocs/assets/js/019369f3.3a124fd7.js +1 -0
- data/tools/staticdocs/assets/js/058ffc22.c85ad785.js +1 -0
- data/tools/staticdocs/assets/js/0686a885.4d6b8154.js +1 -0
- data/tools/staticdocs/assets/js/{07876b9c.bcadf7df.js → 07876b9c.b8d12431.js} +1 -1
- data/tools/staticdocs/assets/js/078dbab0.45ea4593.js +1 -0
- data/tools/staticdocs/assets/js/0f5d161c.dda04dbb.js +1 -0
- data/tools/staticdocs/assets/js/0ff569c9.317b47d0.js +1 -0
- data/tools/staticdocs/assets/js/103cc3be.a946540f.js +1 -0
- data/tools/staticdocs/assets/js/13196248.d8f8ef9f.js +1 -0
- data/tools/staticdocs/assets/js/13c1b4e4.50ee3d02.js +1 -0
- data/tools/staticdocs/assets/js/1b2b4b61.2556cd65.js +1 -0
- data/tools/staticdocs/assets/js/2047b354.75fe47dd.js +1 -0
- data/tools/staticdocs/assets/js/22b3ac48.77516494.js +1 -0
- data/tools/staticdocs/assets/js/2601.ca992ab9.js +1 -0
- data/tools/staticdocs/assets/js/26b8abb2.dcdf815e.js +1 -0
- data/tools/staticdocs/assets/js/{2923e883.779dc8d3.js → 2923e883.ed90d0a7.js} +1 -1
- data/tools/staticdocs/assets/js/2bb7bf90.c642620c.js +1 -0
- data/tools/staticdocs/assets/js/3dd7ef3b.f84c6956.js +1 -0
- data/tools/staticdocs/assets/js/{3df159b4.edd6dd5f.js → 3df159b4.ff98bfab.js} +1 -1
- data/tools/staticdocs/assets/js/40365d27.c318f801.js +1 -0
- data/tools/staticdocs/assets/js/411898ad.e29e2db3.js +1 -0
- data/tools/staticdocs/assets/js/42170351.15f2f1e3.js +1 -0
- data/tools/staticdocs/assets/js/43652efd.4e7d6a97.js +1 -0
- data/tools/staticdocs/assets/js/53ca7c5b.3f1245d5.js +1 -0
- data/tools/staticdocs/assets/js/54d0d530.769f5473.js +1 -0
- data/tools/staticdocs/assets/js/{55cdbca5.e73bdb1a.js → 55cdbca5.695875ea.js} +1 -1
- data/tools/staticdocs/assets/js/5723.f6123e37.js +1 -0
- data/tools/staticdocs/assets/js/{9142.cab356f2.js → 5778.7d36f1c2.js} +1 -1
- data/tools/staticdocs/assets/js/5b233ba7.0029b2f5.js +1 -0
- data/tools/staticdocs/assets/js/5bc719f6.84f6ce9e.js +1 -0
- data/tools/staticdocs/assets/js/5c6ce5ec.8667906a.js +1 -0
- data/tools/staticdocs/assets/js/5e3ed378.91d6735f.js +1 -0
- data/tools/staticdocs/assets/js/{5fe211ef.debbddaa.js → 5fe211ef.1d991947.js} +1 -1
- data/tools/staticdocs/assets/js/{64630c4f.81b3c47d.js → 64630c4f.a229ae1d.js} +1 -1
- data/tools/staticdocs/assets/js/6831b732.a77e4761.js +1 -0
- data/tools/staticdocs/assets/js/696b4199.2700ad91.js +1 -0
- data/tools/staticdocs/assets/js/{6b210247.b50441ee.js → 6b210247.074332a1.js} +1 -1
- data/tools/staticdocs/assets/js/6b65133b.109a6bef.js +1 -0
- data/tools/staticdocs/assets/js/6f92e431.67f5a7a4.js +1 -0
- data/tools/staticdocs/assets/js/72c6d8a8.5fca8d68.js +1 -0
- data/tools/staticdocs/assets/js/{75373ac0.f35aa5aa.js → 75373ac0.6a0a4fa2.js} +1 -1
- data/tools/staticdocs/assets/js/{75e64983.9153c043.js → 75e64983.e31793e1.js} +1 -1
- data/tools/staticdocs/assets/js/7760.7f593c4f.js +2 -0
- data/tools/staticdocs/assets/js/7918.25ec42db.js +1 -0
- data/tools/staticdocs/assets/js/867640d5.a8f59357.js +1 -0
- data/tools/staticdocs/assets/js/89e76475.de702714.js +1 -0
- data/tools/staticdocs/assets/js/8f7843ee.0f25fdc3.js +1 -0
- data/tools/staticdocs/assets/js/9424f0b3.66b19930.js +1 -0
- data/tools/staticdocs/assets/js/{97535711.14f1644d.js → 97535711.ddc0f5af.js} +1 -1
- data/tools/staticdocs/assets/js/{99581c43.de6d7078.js → 99581c43.0767018a.js} +1 -1
- data/tools/staticdocs/assets/js/99b59eea.d4dd9989.js +1 -0
- data/tools/staticdocs/assets/js/9d6e81d0.c31feabc.js +1 -0
- data/tools/staticdocs/assets/js/9fb6059a.30085d79.js +1 -0
- data/tools/staticdocs/assets/js/a507c363.198e9246.js +1 -0
- data/tools/staticdocs/assets/js/a677c089.48b6c791.js +1 -0
- data/tools/staticdocs/assets/js/a9987364.cfb3492e.js +1 -0
- data/tools/staticdocs/assets/js/aa6b6c1b.065a8213.js +1 -0
- data/tools/staticdocs/assets/js/b4596165.b4c6c1b8.js +1 -0
- data/tools/staticdocs/assets/js/b6d70f94.66d95cb7.js +1 -0
- data/tools/staticdocs/assets/js/b9f60ba6.655a4097.js +1 -0
- data/tools/staticdocs/assets/js/{bd0034eb.ca5c64eb.js → bd0034eb.ff7f6265.js} +1 -1
- data/tools/staticdocs/assets/js/c24eae19.db62873a.js +1 -0
- data/tools/staticdocs/assets/js/cb8c3f08.f669adda.js +1 -0
- data/tools/staticdocs/assets/js/cd879be4.6ee752c7.js +1 -0
- data/tools/staticdocs/assets/js/{d1b923aa.c606e06a.js → d1b923aa.e7ee188a.js} +1 -1
- data/tools/staticdocs/assets/js/d1bfc316.963c2477.js +1 -0
- data/tools/staticdocs/assets/js/d24bf9b6.31d82456.js +1 -0
- data/tools/staticdocs/assets/js/d57a4b5d.905988ec.js +1 -0
- data/tools/staticdocs/assets/js/d5d77c37.80e1a28b.js +1 -0
- data/tools/staticdocs/assets/js/{d797a795.b35ee94f.js → d797a795.5725bf2b.js} +1 -1
- data/tools/staticdocs/assets/js/d8ca4191.56c22a69.js +1 -0
- data/tools/staticdocs/assets/js/d9b92eba.16d983a0.js +1 -0
- data/tools/staticdocs/assets/js/db8fa1d0.c35b153c.js +1 -0
- data/tools/staticdocs/assets/js/dc5f7beb.88b0f00b.js +1 -0
- data/tools/staticdocs/assets/js/e501b0d1.3aa571ae.js +1 -0
- data/tools/staticdocs/assets/js/ebec1ccb.a801549e.js +1 -0
- data/tools/staticdocs/assets/js/f15615f1.0b19ae07.js +1 -0
- data/tools/staticdocs/assets/js/fd886806.57eeb84b.js +1 -0
- data/tools/staticdocs/assets/js/main.a6fe34c0.js +2 -0
- data/tools/staticdocs/assets/js/runtime~main.256dc9a2.js +1 -0
- data/tools/staticdocs/docs/configuration/command.html +168 -74
- data/tools/staticdocs/docs/configuration/format.html +51 -22
- data/tools/staticdocs/docs/configuration/interfaces.html +78 -23
- data/tools/staticdocs/docs/configuration/plugins.html +162 -113
- data/tools/staticdocs/docs/configuration/protocols.html +86 -46
- data/tools/staticdocs/docs/configuration/ssl-tls.html +102 -31
- data/tools/staticdocs/docs/configuration/table.html +113 -48
- data/tools/staticdocs/docs/configuration/target.html +29 -21
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +441 -183
- data/tools/staticdocs/docs/configuration/telemetry.html +175 -75
- data/tools/staticdocs/docs/configuration.html +2 -2
- data/tools/staticdocs/docs/development/curl.html +54 -11
- data/tools/staticdocs/docs/development/developing.html +78 -27
- data/tools/staticdocs/docs/development/host-install.html +20 -7
- data/tools/staticdocs/docs/development/json-api.html +30 -18
- data/tools/staticdocs/docs/development/log-structure.html +11 -11
- data/tools/staticdocs/docs/development/roadmap.html +11 -11
- data/tools/staticdocs/docs/development/streaming-api.html +81 -9
- data/tools/staticdocs/docs/development/testing.html +23 -14
- data/tools/staticdocs/docs/development.html +2 -2
- data/tools/staticdocs/docs/getting-started/generators.html +107 -33
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +70 -22
- data/tools/staticdocs/docs/getting-started/installation.html +33 -22
- data/tools/staticdocs/docs/getting-started/key_concepts.html +33 -33
- data/tools/staticdocs/docs/getting-started/podman.html +54 -23
- data/tools/staticdocs/docs/getting-started/requirements.html +18 -18
- data/tools/staticdocs/docs/getting-started/upgrading.html +14 -9
- data/tools/staticdocs/docs/getting-started.html +2 -2
- data/tools/staticdocs/docs/guides/bridges.html +61 -17
- data/tools/staticdocs/docs/guides/cfs.html +182 -42
- data/tools/staticdocs/docs/guides/custom-widgets.html +44 -17
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +12 -3
- data/tools/staticdocs/docs/guides/local-mode.html +18 -13
- data/tools/staticdocs/docs/guides/logging.html +10 -10
- data/tools/staticdocs/docs/guides/monitoring.html +135 -20
- data/tools/staticdocs/docs/guides/performance.html +24 -15
- data/tools/staticdocs/docs/guides/raspberrypi.html +22 -7
- data/tools/staticdocs/docs/guides/script-writing.html +387 -82
- data/tools/staticdocs/docs/guides/scripting-api.html +1339 -476
- data/tools/staticdocs/docs/guides.html +2 -2
- data/tools/staticdocs/docs/meta/contributing.html +17 -12
- data/tools/staticdocs/docs/meta/licenses.html +28 -10
- data/tools/staticdocs/docs/meta/philosophy.html +2 -2
- data/tools/staticdocs/docs/meta/xtce.html +14 -12
- data/tools/staticdocs/docs/meta.html +2 -2
- data/tools/staticdocs/docs/privacy.html +17 -17
- data/tools/staticdocs/docs/tools/autonomic.html +20 -20
- data/tools/staticdocs/docs/tools/bucket-explorer.html +11 -11
- data/tools/staticdocs/docs/tools/calendar.html +19 -19
- data/tools/staticdocs/docs/tools/cmd-sender.html +13 -13
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +21 -21
- data/tools/staticdocs/docs/tools/data-extractor.html +24 -24
- data/tools/staticdocs/docs/tools/data-viewer.html +11 -11
- data/tools/staticdocs/docs/tools/handbooks.html +4 -4
- data/tools/staticdocs/docs/tools/limits-monitor.html +17 -17
- data/tools/staticdocs/docs/tools/packet-viewer.html +13 -13
- data/tools/staticdocs/docs/tools/script-runner.html +72 -33
- data/tools/staticdocs/docs/tools/table-manager.html +46 -11
- data/tools/staticdocs/docs/tools/tlm-grapher.html +20 -20
- data/tools/staticdocs/docs/tools/tlm-viewer.html +15 -15
- data/tools/staticdocs/docs/tools.html +2 -2
- data/tools/staticdocs/docs.html +12 -12
- data/tools/staticdocs/index.html +2 -2
- data/tools/staticdocs/lunr-index-1710043920959.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +3 -3
- data/tools/staticdocs/search-doc-1710043920959.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- metadata +86 -86
- data/tools/staticdocs/assets/js/019369f3.4c70e0f5.js +0 -1
- data/tools/staticdocs/assets/js/058ffc22.9fe67269.js +0 -1
- data/tools/staticdocs/assets/js/0686a885.bec3d8d0.js +0 -1
- data/tools/staticdocs/assets/js/078dbab0.21af6e8e.js +0 -1
- data/tools/staticdocs/assets/js/0f5d161c.821a434d.js +0 -1
- data/tools/staticdocs/assets/js/0ff569c9.b7b2f0e7.js +0 -1
- data/tools/staticdocs/assets/js/103cc3be.69ac319c.js +0 -1
- data/tools/staticdocs/assets/js/13196248.50c46920.js +0 -1
- data/tools/staticdocs/assets/js/13c1b4e4.cd1ff3e4.js +0 -1
- data/tools/staticdocs/assets/js/1b2b4b61.bc9d9dae.js +0 -1
- data/tools/staticdocs/assets/js/2047b354.a81749f4.js +0 -1
- data/tools/staticdocs/assets/js/22b3ac48.8087c066.js +0 -1
- data/tools/staticdocs/assets/js/2684.36b8c775.js +0 -1
- data/tools/staticdocs/assets/js/26b8abb2.b69bce6b.js +0 -1
- data/tools/staticdocs/assets/js/2bb7bf90.615ed3e3.js +0 -1
- data/tools/staticdocs/assets/js/3dd7ef3b.4ee9bb2b.js +0 -1
- data/tools/staticdocs/assets/js/40365d27.4c276089.js +0 -1
- data/tools/staticdocs/assets/js/411898ad.dba1dcf4.js +0 -1
- data/tools/staticdocs/assets/js/42170351.7de5b38a.js +0 -1
- data/tools/staticdocs/assets/js/43652efd.817db236.js +0 -1
- data/tools/staticdocs/assets/js/53ca7c5b.7c5b0f91.js +0 -1
- data/tools/staticdocs/assets/js/54d0d530.5600c9b0.js +0 -1
- data/tools/staticdocs/assets/js/5640.603af822.js +0 -2
- data/tools/staticdocs/assets/js/5b233ba7.816cf3c7.js +0 -1
- data/tools/staticdocs/assets/js/5bc719f6.832101d0.js +0 -1
- data/tools/staticdocs/assets/js/5c6ce5ec.29713d16.js +0 -1
- data/tools/staticdocs/assets/js/5e3ed378.2a1df40b.js +0 -1
- data/tools/staticdocs/assets/js/6624.7d23f967.js +0 -1
- data/tools/staticdocs/assets/js/6831b732.cb28ec2a.js +0 -1
- data/tools/staticdocs/assets/js/696b4199.3f5260ea.js +0 -1
- data/tools/staticdocs/assets/js/6b65133b.3e207b70.js +0 -1
- data/tools/staticdocs/assets/js/6f92e431.f39c2a82.js +0 -1
- data/tools/staticdocs/assets/js/72c6d8a8.9247374f.js +0 -1
- data/tools/staticdocs/assets/js/80.7f39c110.js +0 -1
- data/tools/staticdocs/assets/js/867640d5.1ad7ba44.js +0 -1
- data/tools/staticdocs/assets/js/89e76475.ed8629f4.js +0 -1
- data/tools/staticdocs/assets/js/8f7843ee.1efba1e7.js +0 -1
- data/tools/staticdocs/assets/js/9424f0b3.05020154.js +0 -1
- data/tools/staticdocs/assets/js/99b59eea.ff86d64b.js +0 -1
- data/tools/staticdocs/assets/js/9d6e81d0.118681ad.js +0 -1
- data/tools/staticdocs/assets/js/9fb6059a.d3e03463.js +0 -1
- data/tools/staticdocs/assets/js/a507c363.a5cb92f5.js +0 -1
- data/tools/staticdocs/assets/js/a677c089.1e72219d.js +0 -1
- data/tools/staticdocs/assets/js/a9987364.5e9c5fba.js +0 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.bae800c5.js +0 -1
- data/tools/staticdocs/assets/js/b4596165.ca25b65e.js +0 -1
- data/tools/staticdocs/assets/js/b6d70f94.52733814.js +0 -1
- data/tools/staticdocs/assets/js/b9f60ba6.026c925c.js +0 -1
- data/tools/staticdocs/assets/js/c24eae19.94275d3c.js +0 -1
- data/tools/staticdocs/assets/js/cb8c3f08.bd1deb3f.js +0 -1
- data/tools/staticdocs/assets/js/cd879be4.6f45475a.js +0 -1
- data/tools/staticdocs/assets/js/d1bfc316.65307471.js +0 -1
- data/tools/staticdocs/assets/js/d24bf9b6.1233a5c6.js +0 -1
- data/tools/staticdocs/assets/js/d57a4b5d.d43ffea3.js +0 -1
- data/tools/staticdocs/assets/js/d5d77c37.32ff5b2f.js +0 -1
- data/tools/staticdocs/assets/js/d8ca4191.5c73f3e4.js +0 -1
- data/tools/staticdocs/assets/js/d9b92eba.694c3ff3.js +0 -1
- data/tools/staticdocs/assets/js/db8fa1d0.95630ed9.js +0 -1
- data/tools/staticdocs/assets/js/dc5f7beb.d4658c69.js +0 -1
- data/tools/staticdocs/assets/js/e501b0d1.83046007.js +0 -1
- data/tools/staticdocs/assets/js/ebec1ccb.6f1d3fbf.js +0 -1
- data/tools/staticdocs/assets/js/f15615f1.b8e79235.js +0 -1
- data/tools/staticdocs/assets/js/fd886806.a07830ee.js +0 -1
- data/tools/staticdocs/assets/js/main.4510cb33.js +0 -2
- data/tools/staticdocs/assets/js/runtime~main.87667807.js +0 -1
- data/tools/staticdocs/lunr-index-1707604600660.json +0 -1
- data/tools/staticdocs/search-doc-1707604600660.json +0 -1
- /data/tools/staticdocs/assets/js/{5640.603af822.js.LICENSE.txt → 7760.7f593c4f.js.LICENSE.txt} +0 -0
- /data/tools/staticdocs/assets/js/{main.4510cb33.js.LICENSE.txt → main.a6fe34c0.js.LICENSE.txt} +0 -0
@@ -4,49 +4,164 @@
|
|
4
4
|
<meta charset="UTF-8">
|
5
5
|
<meta name="generator" content="Docusaurus v3.1.0">
|
6
6
|
<title data-rh="true">Monitoring | OpenC3 Docs</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:url" content="https://docs.openc3.com/tools/staticdocs/docs/guides/monitoring"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Monitoring | OpenC3 Docs"><meta data-rh="true" name="description" content="Monitoring and observability"><meta data-rh="true" property="og:description" content="Monitoring and observability"><link data-rh="true" rel="icon" href="/tools/staticdocs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/staticdocs/docs/guides/monitoring"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/monitoring" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/monitoring" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.a4426211.css">
|
7
|
-
<script src="/tools/staticdocs/assets/js/runtime~main.
|
8
|
-
<script src="/tools/staticdocs/assets/js/main.
|
7
|
+
<script src="/tools/staticdocs/assets/js/runtime~main.256dc9a2.js" defer="defer"></script>
|
8
|
+
<script src="/tools/staticdocs/assets/js/main.a6fe34c0.js" defer="defer"></script>
|
9
9
|
</head>
|
10
10
|
<body class="navigation-with-keyboard">
|
11
|
-
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" 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="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Collapse sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/bridges">Bridges</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/cfs">COSMOS and NASA cFS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/custom-widgets">Custom Widgets</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/little-endian-bitfields">Little Endian Bitfields</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/local-mode">Local Mode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/logging">Logging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/guides/monitoring">Monitoring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/performance">Performance</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/raspberrypi">Raspberry Pi</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/script-writing">Script Writing Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/scripting-api">Scripting API Guide</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Expand sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/guides"><span itemprop="name">Guides</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Monitoring</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Monitoring</h1></header><h3
|
12
|
-
<p>With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about <a href="https://sre.google/sre-book/monitoring-distributed-systems/"
|
13
|
-
<h3
|
11
|
+
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" 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="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Collapse sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/bridges">Bridges</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/cfs">COSMOS and NASA cFS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/custom-widgets">Custom Widgets</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/little-endian-bitfields">Little Endian Bitfields</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/local-mode">Local Mode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/logging">Logging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/guides/monitoring">Monitoring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/performance">Performance</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/raspberrypi">Raspberry Pi</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/script-writing">Script Writing Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/scripting-api">Scripting API Guide</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Expand sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/guides"><span itemprop="name">Guides</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Monitoring</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Monitoring</h1></header><h3 id="monitoring-and-observability">Monitoring and observability</h3>
|
12
|
+
<p>With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about <a href="https://sre.google/sre-book/monitoring-distributed-systems/">Monitoring Distributed Systems</a></p>
|
13
|
+
<h3 id="fluentfluentd"><a href="https://www.fluentd.org/guides/recipes/docker-logging">Fluent/Fluentd</a></h3>
|
14
14
|
<blockquote>
|
15
15
|
<p>Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data.</p>
|
16
16
|
</blockquote>
|
17
|
-
<h4
|
17
|
+
<h4 id="notes">Notes</h4>
|
18
18
|
<p>in_docker.conf</p>
|
19
|
-
<
|
19
|
+
<pre><code><source>
|
20
|
+
@type forward
|
21
|
+
port 24224
|
22
|
+
bind 0.0.0.0
|
23
|
+
</source>
|
24
|
+
<match *.metric>
|
25
|
+
@type copy
|
26
|
+
<store>
|
27
|
+
@type elasticsearch
|
28
|
+
host openc3-elasticsearch
|
29
|
+
port 9200
|
30
|
+
logstash_format true
|
31
|
+
logstash_prefix metric
|
32
|
+
logstash_dateformat %Y%m%d
|
33
|
+
include_tag_key true
|
34
|
+
type_name access_log
|
35
|
+
tag_key @log_name
|
36
|
+
flush_interval 1s
|
37
|
+
</store>
|
38
|
+
<store>
|
39
|
+
@type stdout
|
40
|
+
</store>
|
41
|
+
</match>
|
42
|
+
<match *__openc3.log>
|
43
|
+
@type copy
|
44
|
+
<store>
|
45
|
+
@type elasticsearch
|
46
|
+
host openc3-elasticsearch
|
47
|
+
port 9200
|
48
|
+
logstash_format true
|
49
|
+
logstash_prefix openc3
|
50
|
+
logstash_dateformat %Y%m%d
|
51
|
+
include_tag_key true
|
52
|
+
type_name access_log
|
53
|
+
tag_key @log_name
|
54
|
+
flush_interval 1s
|
55
|
+
</store>
|
56
|
+
<store>
|
57
|
+
@type stdout
|
58
|
+
</store>
|
59
|
+
</match>
|
60
|
+
<match *.**>
|
61
|
+
@type copy
|
62
|
+
<store>
|
63
|
+
@type elasticsearch
|
64
|
+
host openc3-elasticsearch
|
65
|
+
port 9200
|
66
|
+
logstash_format true
|
67
|
+
logstash_prefix fluentd
|
68
|
+
logstash_dateformat %Y%m%d
|
69
|
+
include_tag_key true
|
70
|
+
type_name access_log
|
71
|
+
tag_key @log_name
|
72
|
+
flush_interval 1s
|
73
|
+
</store>
|
74
|
+
<store>
|
75
|
+
@type stdout
|
76
|
+
</store>
|
77
|
+
</match>
|
78
|
+
</code></pre>
|
20
79
|
<p>Dockerfile</p>
|
21
|
-
<
|
22
|
-
|
80
|
+
<pre><code>FROM fluent/fluentd:v1.10.3-1.0
|
81
|
+
|
82
|
+
COPY ./in_docker.conf /fluentd/etc/fluent.conf
|
83
|
+
USER root
|
84
|
+
RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \
|
85
|
+
&& gem install fluent-plugin-prometheus --no-document --version 1.8.5
|
86
|
+
USER fluent
|
87
|
+
</code></pre>
|
88
|
+
<h3 id="opendistro"><a href="https://opendistro.github.io/for-elasticsearch-docs/">OpenDistro</a></h3>
|
23
89
|
<blockquote>
|
24
90
|
<p>Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts.</p>
|
25
91
|
</blockquote>
|
26
92
|
<ul>
|
27
|
-
<li><a href="https://opendistro.github.io/for-elasticsearch-docs/docs/install/docker/"
|
93
|
+
<li><a href="https://opendistro.github.io/for-elasticsearch-docs/docs/install/docker/">Docker</a></li>
|
28
94
|
</ul>
|
29
|
-
<h4
|
95
|
+
<h4 id="notes-1">Notes</h4>
|
30
96
|
<p>When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file.</p>
|
31
97
|
<p>Dockerfile</p>
|
32
|
-
<
|
33
|
-
|
98
|
+
<pre><code>FROM amazon/opendistro-for-elasticsearch:1.12.0
|
99
|
+
|
100
|
+
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security
|
101
|
+
</code></pre>
|
102
|
+
<h3 id="prometheus"><a href="https://prometheus.io/">Prometheus</a></h3>
|
34
103
|
<blockquote>
|
35
104
|
<p>Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data.</p>
|
36
105
|
</blockquote>
|
37
|
-
<h4
|
106
|
+
<h4 id="notes-2">Notes</h4>
|
38
107
|
<p>prometheus.yaml</p>
|
39
|
-
<
|
108
|
+
<pre><code>global:
|
109
|
+
scrape_interval: 15s
|
110
|
+
evaluation_interval: 15s
|
111
|
+
|
112
|
+
rule_files:
|
113
|
+
# - "first.rules"
|
114
|
+
# - "second.rules"
|
115
|
+
|
116
|
+
scrape_configs:
|
117
|
+
- job_name: prometheus
|
118
|
+
static_configs:
|
119
|
+
- targets: ["localhost:9090"]
|
120
|
+
|
121
|
+
- job_name: openc3-internal-metrics
|
122
|
+
metrics_path: "/openc3-api/internal/metrics"
|
123
|
+
static_configs:
|
124
|
+
- targets: ["openc3-cmd-tlm-api:2901"]
|
125
|
+
|
126
|
+
- job_name: openc3-cmd-tlm-api
|
127
|
+
metrics_path: "/openc3-api/metrics"
|
128
|
+
static_configs:
|
129
|
+
- targets: ["openc3-cmd-tlm-api:2901"]
|
130
|
+
|
131
|
+
- job_name: openc3-script-runner-api
|
132
|
+
metrics_path: "/script-api/metrics"
|
133
|
+
static_configs:
|
134
|
+
- targets: ["openc3-script-runner-api:2902"]
|
135
|
+
|
136
|
+
- job_name: minio-job
|
137
|
+
metrics_path: /minio/v2/metrics/cluster
|
138
|
+
scheme: http
|
139
|
+
static_configs:
|
140
|
+
- targets: ['openc3-minio:9000']
|
141
|
+
</code></pre>
|
40
142
|
<p>Dockerfile</p>
|
41
|
-
<
|
42
|
-
|
143
|
+
<pre><code>FROM prom/prometheus:v2.24.1
|
144
|
+
ADD prometheus.yaml /etc/prometheus/
|
145
|
+
</code></pre>
|
146
|
+
<h3 id="grafana"><a href="https://grafana.com/">Grafana</a></h3>
|
43
147
|
<blockquote>
|
44
148
|
<p>Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources.</p>
|
45
149
|
</blockquote>
|
46
|
-
<h4
|
150
|
+
<h4 id="notes-3">Notes</h4>
|
47
151
|
<p>datasource.yaml</p>
|
48
|
-
<
|
152
|
+
<pre><code>apiVersion: 1
|
153
|
+
|
154
|
+
datasources:
|
155
|
+
- name: Prometheus
|
156
|
+
type: prometheus
|
157
|
+
# Access mode - proxy (server in the UI) or direct (browser in the UI).
|
158
|
+
access: proxy
|
159
|
+
url: http://openc3-prometheus:9090
|
160
|
+
</code></pre>
|
49
161
|
<p>Dockerfile</p>
|
50
|
-
<
|
162
|
+
<pre><code>FROM grafana/grafana
|
163
|
+
|
164
|
+
COPY datasource.yaml /etc/grafana/provisioning/datasources/
|
165
|
+
</code></pre></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/monitoring.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/staticdocs/docs/guides/logging"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Logging</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/staticdocs/docs/guides/performance"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Performance</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#monitoring-and-observability" class="table-of-contents__link toc-highlight">Monitoring and observability</a></li><li><a href="#fluentfluentd" class="table-of-contents__link toc-highlight">Fluent/Fluentd</a><ul><li><a href="#notes" class="table-of-contents__link toc-highlight">Notes</a></li></ul></li><li><a href="#opendistro" class="table-of-contents__link toc-highlight">OpenDistro</a><ul><li><a href="#notes-1" class="table-of-contents__link toc-highlight">Notes</a></li></ul></li><li><a href="#prometheus" class="table-of-contents__link toc-highlight">Prometheus</a><ul><li><a href="#notes-2" class="table-of-contents__link toc-highlight">Notes</a></li></ul></li><li><a href="#grafana" class="table-of-contents__link toc-highlight">Grafana</a><ul><li><a href="#notes-3" class="table-of-contents__link toc-highlight">Notes</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs">Documentation</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://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><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></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" 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_awgD"><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="/tools/staticdocs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
|
51
166
|
</body>
|
52
167
|
</html>
|
@@ -4,26 +4,26 @@
|
|
4
4
|
<meta charset="UTF-8">
|
5
5
|
<meta name="generator" content="Docusaurus v3.1.0">
|
6
6
|
<title data-rh="true">Performance | OpenC3 Docs</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:url" content="https://docs.openc3.com/tools/staticdocs/docs/guides/performance"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Performance | OpenC3 Docs"><meta data-rh="true" name="description" content="The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only COSMOS Enterprise Edition supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance."><meta data-rh="true" property="og:description" content="The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only COSMOS Enterprise Edition supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance."><link data-rh="true" rel="icon" href="/tools/staticdocs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/staticdocs/docs/guides/performance"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/performance" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/guides/performance" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.a4426211.css">
|
7
|
-
<script src="/tools/staticdocs/assets/js/runtime~main.
|
8
|
-
<script src="/tools/staticdocs/assets/js/main.
|
7
|
+
<script src="/tools/staticdocs/assets/js/runtime~main.256dc9a2.js" defer="defer"></script>
|
8
|
+
<script src="/tools/staticdocs/assets/js/main.a6fe34c0.js" defer="defer"></script>
|
9
9
|
</head>
|
10
10
|
<body class="navigation-with-keyboard">
|
11
|
-
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" 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="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Collapse sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/bridges">Bridges</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/cfs">COSMOS and NASA cFS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/custom-widgets">Custom Widgets</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/little-endian-bitfields">Little Endian Bitfields</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/local-mode">Local Mode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/logging">Logging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/monitoring">Monitoring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/guides/performance">Performance</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/raspberrypi">Raspberry Pi</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/script-writing">Script Writing Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/scripting-api">Scripting API Guide</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Expand sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/guides"><span itemprop="name">Guides</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Performance</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><p>The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only <a href="https://openc3.com/enterprise"
|
12
|
-
<h1>COSMOS Hardware Requirements</h1>
|
13
|
-
<h2
|
11
|
+
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" 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="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Collapse sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/bridges">Bridges</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/cfs">COSMOS and NASA cFS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/custom-widgets">Custom Widgets</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/little-endian-bitfields">Little Endian Bitfields</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/local-mode">Local Mode</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/logging">Logging</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/monitoring">Monitoring</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/guides/performance">Performance</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/raspberrypi">Raspberry Pi</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/script-writing">Script Writing Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/guides/scripting-api">Scripting API Guide</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Expand sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/guides"><span itemprop="name">Guides</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Performance</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><p>The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only <a href="https://openc3.com/enterprise">COSMOS Enterprise Edition</a> supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance.</p>
|
12
|
+
<h1 id="cosmos-hardware-requirements">COSMOS Hardware Requirements</h1>
|
13
|
+
<h2 id="memory">Memory</h2>
|
14
14
|
<p>COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM).</p>
|
15
15
|
<ul>
|
16
16
|
<li>Base RAM MB Calculator = 800 + (num targets) * 300</li>
|
17
17
|
</ul>
|
18
|
-
<p>In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to <code>docker stats</code>. Installing the COSMOS <a href="https://github.com/OpenC3/openc3-cosmos-load-sim"
|
19
|
-
<h2
|
18
|
+
<p>In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to <code>docker stats</code>. Installing the COSMOS <a href="https://github.com/OpenC3/openc3-cosmos-load-sim">LoadSim</a> with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB.</p>
|
19
|
+
<h2 id="cpu">CPU</h2>
|
20
20
|
<p>Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling.</p>
|
21
21
|
<p>The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with <code>htop</code> to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur.</p>
|
22
|
-
<h2
|
23
|
-
<p>Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per <a href="https://docs.docker.com/desktop/vm-vdi/#turn-on-nested-virtualization-on-microsoft-hyper-v"
|
22
|
+
<h2 id="performance-comparison">Performance Comparison</h2>
|
23
|
+
<p>Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per <a href="https://docs.docker.com/desktop/vm-vdi/#turn-on-nested-virtualization-on-microsoft-hyper-v">Docker</a>. COSMOS <a href="https://github.com/OpenC3/cosmos-enterprise/releases/tag/v5.9.1">5.9.1</a> Enterprise Edition was installed on both Windows 11 Pro <sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="true" aria-describedby="footnote-label">1</a></sup> and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using <code>htop</code>:</p>
|
24
24
|
<table><thead><tr><th style="text-align:left">Platform</th><th style="text-align:left">Core CPU %</th><th style="text-align:left">RAM</th></tr></thead><tbody><tr><td style="text-align:left">Windows 11 Pro</td><td style="text-align:left">12% 12% 10% 10%</td><td style="text-align:left">3.9G / 7.7G</td></tr><tr><td style="text-align:left">Headless Ubuntu 22</td><td style="text-align:left">7% 7% 8% 6%</td><td style="text-align:left">3.2G / 15.6G</td></tr></tbody></table>
|
25
25
|
<ul>
|
26
|
-
<li>Windows was only allocated 8 GB of RAM due to the <a href="https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configuration-setting-for-wslconfig"
|
26
|
+
<li>Windows was only allocated 8 GB of RAM due to the <a href="https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configuration-setting-for-wslconfig">.wslconfig</a> settings.</li>
|
27
27
|
<li>Since Ubuntu was running headless, the screens and graphs were brought up on another machine.</li>
|
28
28
|
</ul>
|
29
29
|
<p><code>docker stats</code> was also run to show individual container cpu and memory usage:</p>
|
@@ -32,7 +32,7 @@
|
|
32
32
|
<li>memory profiles are similar between the two platforms</li>
|
33
33
|
<li>redis-ephemeral isn't using much memory on the base Demo with its small packets</li>
|
34
34
|
</ul>
|
35
|
-
<p>At this point the COSMOS <a href="https://github.com/OpenC3/openc3-cosmos-load-sim"
|
35
|
+
<p>At this point the COSMOS <a href="https://github.com/OpenC3/openc3-cosmos-load-sim">LoadSim</a> was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated:</p>
|
36
36
|
<table><thead><tr><th style="text-align:left">Platform</th><th style="text-align:left">Core CPU %</th><th style="text-align:left">RAM</th></tr></thead><tbody><tr><td style="text-align:left">Windows 11 Pro</td><td style="text-align:left">40% 35% 39% 42%</td><td style="text-align:left">4.64G / 7.7G</td></tr><tr><td style="text-align:left">Headless Ubuntu 22</td><td style="text-align:left">17% 20% 16% 18%</td><td style="text-align:left">3.74G / 15.6G</td></tr></tbody></table>
|
37
37
|
<p>The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant.</p>
|
38
38
|
<p><code>docker stats</code> was also run to show individual container cpu and memory usage:</p>
|
@@ -42,15 +42,24 @@
|
|
42
42
|
<li>redis-ephemeral is now using much more RAM as it is storing the large LoadSim packets</li>
|
43
43
|
<li>Windows is using much more CPU power running the operator, cmd-tlm, and redis</li>
|
44
44
|
</ul>
|
45
|
-
<h1>Conclusions</h1>
|
45
|
+
<h1 id="conclusions">Conclusions</h1>
|
46
46
|
<p>While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use <code>docker stats</code> and <code>htop</code> to judge the CPU and memory pressure on the given hardware.</p>
|
47
|
-
<p><a href="https://openc3.com/enterprise"
|
47
|
+
<p><a href="https://openc3.com/enterprise">COSMOS Enterprise Edition</a> on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out <a href="https://openc3.com/news/scaling">this recent talk</a> Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS.</p>
|
48
48
|
<hr>
|
49
|
-
<section data-footnotes="true" class="footnotes"><h2 class="
|
49
|
+
<section data-footnotes="true" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes</h2>
|
50
50
|
<ol>
|
51
51
|
<li id="user-content-fn-1">
|
52
52
|
<p>Full specs of the Windows Platform:</p>
|
53
|
-
<
|
53
|
+
<pre><code>Windows 11 Pro
|
54
|
+
Docker Desktop 4.22.0
|
55
|
+
WSL version: 1.2.5.0
|
56
|
+
Kernel version: 5.15.90.1
|
57
|
+
WSLg version: 1.0.51
|
58
|
+
MSRDC version: 1.2.3770
|
59
|
+
Direct3D version: 1.608.2-61064218
|
60
|
+
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
|
61
|
+
Windows version: 10.0.22621.2134
|
62
|
+
</code></pre>
|
54
63
|
<a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref">↩</a>
|
55
64
|
</li>
|
56
65
|
</ol>
|