openc3-cosmos-tool-docs 5.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (432) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +729 -0
  3. data/README.md +42 -0
  4. data/Rakefile +42 -0
  5. data/plugin.txt +7 -0
  6. data/tools/docs/404.html +16 -0
  7. data/tools/docs/CNAME +1 -0
  8. data/tools/docs/assets/css/styles.7bc79028.css +1 -0
  9. data/tools/docs/assets/images/add_packet-f318d0e92e8a13bd56331350aa341c88c8b12f2c54a4424f6e287817f22fb327.png +0 -0
  10. data/tools/docs/assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png +0 -0
  11. data/tools/docs/assets/images/autonomic-3d6d152f700c8fc1878d0f952d013ace31fccd7872d28587dc761610a0959e9c.png +0 -0
  12. data/tools/docs/assets/images/bucket_explorer-983c087ee3bdcf8626219e782620b6c580fd82bfe2e8b0c662a0f90cdca43838.png +0 -0
  13. data/tools/docs/assets/images/calendar-9fbd635cf3df1ba684bb0c1ebc4f6ad34991efc582e9fd07820c8b74cbb66aa1.png +0 -0
  14. data/tools/docs/assets/images/checks_rb-a6049cdd99613cea2ee12d76fcfe798ff05270e39d208e93d37da7347049b2b3.png +0 -0
  15. data/tools/docs/assets/images/cmd_tlm_server-313e3f64afc0e374d9d28b46364235d7b793001f84690fc0ae90e1eefdd9142d.png +0 -0
  16. data/tools/docs/assets/images/command_sender-a0b113b65368263529d0f8f2d93276a0a44ed81af0d0100f56379346ba592928.png +0 -0
  17. data/tools/docs/assets/images/commands-3608d5c856fd34e771d1f9e69f9f449f52929249bdf4f0e7feed0aa2bd2d9fd7.png +0 -0
  18. data/tools/docs/assets/images/connecting-6e453f3d99800d4cb8fdc78f5b8fce1e8cf1bb04840a29dec7c5caefd07c004f.png +0 -0
  19. data/tools/docs/assets/images/data_extractor-62c5b1743ba9dfdff2e393bcbdf863c36effc5ef5319d845cfd17186bd757bca.png +0 -0
  20. data/tools/docs/assets/images/data_viewer-8c547cb5ad2ebd179aac5e46c2f4c147889ebad53a5359a5e6b6c580de7184fe.png +0 -0
  21. data/tools/docs/assets/images/date_chooser-10f7b740b9acc76604e5dc86fe409b6b777abe0fb3fa5ebf8f47cb1ac58b9676.png +0 -0
  22. data/tools/docs/assets/images/debug-04088348cc04bb8e1a1063fc44920dc8e39616840ef4b09a36c823f185c28669.png +0 -0
  23. data/tools/docs/assets/images/delete_all_mouseover-06083f3d3d712d39f21bc5eda45adbfff449732a2061e53cb1a0baf6c5f5d4b8.png +0 -0
  24. data/tools/docs/assets/images/delete_modified-a7ec0ceb61c37398d57fcecf11ebe2453ebd0110be6cfc960a5073a13a557638.png +0 -0
  25. data/tools/docs/assets/images/edit_all_items-2c57aff19d3b1ce52149c37f50dcaad8c30baa0c9931fdc629f1d163bb56ce96.png +0 -0
  26. data/tools/docs/assets/images/edit_all_mouseover-f6646df5320045ee10d4c0a15d0349fed6ede075f9cea6f9e449b3785c4f4f8d.png +0 -0
  27. data/tools/docs/assets/images/edit_graph-4ca61635376fae26cf5eb82fb9fd803f1a51c4d3584aaf9833a270b7916bf531.png +0 -0
  28. data/tools/docs/assets/images/edit_screen-5724ae13958c1631b3c187cf7cdb6dc9672ecd71f8b0786ac17c0266001edac3.png +0 -0
  29. data/tools/docs/assets/images/edit_temp1-7446e7c5b7869ccc9ddd467779fa86f44301a5e5896751b016a527587c483cb2.png +0 -0
  30. data/tools/docs/assets/images/file_menu-2fe13872737c0f3fef84ba5b58b80b609082733acce536ec1f56910c36f68299.png +0 -0
  31. data/tools/docs/assets/images/file_open-319761fd383fc513b3689ef0a7498c73ce9459a3967c8a395cc2da07c89240d0.png +0 -0
  32. data/tools/docs/assets/images/file_save_as-44468ed6a48bea3bc4fdd8f50d802569e4582b453e5bf946bfdcba400030d499.png +0 -0
  33. data/tools/docs/assets/images/four_graphs-826cf8145338fa46e037556df94c59aeb4448330b601953daa94c89de8494cfd.png +0 -0
  34. data/tools/docs/assets/images/graph_min_max-80a2bd83230c71b00ba9d6da24b8c32a09e4983976cdbf32c33d2680b534b106.png +0 -0
  35. data/tools/docs/assets/images/graph_temp1-de937a79b314cf856b783c936d2460a6c942bdd45e4d9b3fe488957df5bfa9bc.png +0 -0
  36. data/tools/docs/assets/images/graph_temp1_temp2-e96370f7d73a6cb68beaa92bcaaf18b72e6619ce948fe835762cca1048efbd18.png +0 -0
  37. data/tools/docs/assets/images/graph_temp1_time-fec5e99e3cc05ea87208abe9c4b66b63b7497bbefee55f65d034417e966b1c46.png +0 -0
  38. data/tools/docs/assets/images/handbooks-1d301c83c80a7cb96c548006f5139fe8ec967ed10a49df0142b37328cd987f33.png +0 -0
  39. data/tools/docs/assets/images/ignored-1e20d4ffe7fd88ffab610340957b1176294269f985e8fdb20a9af07d7a78215f.png +0 -0
  40. data/tools/docs/assets/images/inst_clear-5ecb859f06f14d91d2ebba27e5a7848d6393db5ad2357f95c12e776c45f6bc64.png +0 -0
  41. data/tools/docs/assets/images/inst_collect-4f4e453a6521b779e10c4d2be6a8b1acf15fcb083af0164b0df1de27ca250132.png +0 -0
  42. data/tools/docs/assets/images/inst_collect_hazardous-3aeabedb96bf114b4eb56b6b2ee7bcc601302ec8905a82a16c47ae7870f97978.png +0 -0
  43. data/tools/docs/assets/images/inst_collect_hazardous_history-952a6e6ff2fb1b5fdf2c6b3d84a3ccf9e303eeb310f35514dc4a6e95f2a7420e.png +0 -0
  44. data/tools/docs/assets/images/inst_collect_sent-0de429f724264ce8c52a6cb22d4bbb96f14e22b559c091ff4375bb59f124a7a2.png +0 -0
  45. data/tools/docs/assets/images/inst_collect_sent_3-91cf4e053d246917964330ab93534a0a5eb878b652e7ea879effca7c4eaefbea.png +0 -0
  46. data/tools/docs/assets/images/interface_read_logic-0deef27c1d2fec9de2a3720a3c9ecedb21a00dca7aabd13da0b8815c037e4c26.png +0 -0
  47. data/tools/docs/assets/images/interface_write_logic-3360afe1b4af20b10dafba848a21e09baccaacc06e2ec8b6c132ac7a3c99e994.png +0 -0
  48. data/tools/docs/assets/images/interfaces-5622abf50e3df63980661a48216bf71187f38cb636bd512f48917ca4a425f083.png +0 -0
  49. data/tools/docs/assets/images/items_table-2fc1bb4d03a2348c4af7df442e13cee2f310cf455228005d76cbfda7a706aa53.png +0 -0
  50. data/tools/docs/assets/images/items_table_raw-c4d454679c4503ec35710dcee6be5cd1940984595145b333d8604bc505dfe291.png +0 -0
  51. data/tools/docs/assets/images/items_table_temp1-ea091eaf8005cea839800f4514f72f94e9664993111b935f33e7c5aa3061ca64.png +0 -0
  52. data/tools/docs/assets/images/limits_monitor-c58d70daea7586b93d5069b9df068a90cea5f7cf2e51a445f3162bf3f66db3d0.png +0 -0
  53. data/tools/docs/assets/images/list_view-926f42bc1e43283c61616b0cd8fd630cad8e15c9b7298acd98536842472e673b.png +0 -0
  54. data/tools/docs/assets/images/log-ba64fd307e53adafae55fcea7eb31829ee1aacdf4aafe8b40b270b793be3aa27.png +0 -0
  55. data/tools/docs/assets/images/log_messages-19c3ce9c7ff86e43d459cb6591df8c05d25e1390d857728cb462a57b9d3ccc69.png +0 -0
  56. data/tools/docs/assets/images/log_messages-2cfad0fd6f6f980f69b5564a4b7ecfecf3331c6256c78bcfb2b084970db305ca.png +0 -0
  57. data/tools/docs/assets/images/minimized-59d0d8d8a179ff0475787e87237b77b24d59d78826d43dbc1a554a51380eb37f.png +0 -0
  58. data/tools/docs/assets/images/minimized-a658bd8f2115d3f9a386844e886de770b23bbf9c0c8c55a4ca587cea67ec320e.png +0 -0
  59. data/tools/docs/assets/images/minio-150460ac77a50711835de6f0150d019000e5515afae0f3adfcdda8e891484f47.png +0 -0
  60. data/tools/docs/assets/images/mouseover-95b774047b3c2ca23a3bc645caf75d90511c378729dd9cfb781510a1452e09fe.png +0 -0
  61. data/tools/docs/assets/images/new_screen-295720ec60219194c8c8dd64c755e8a188cc4a68c2b6cf66197b54514644d52a.png +0 -0
  62. data/tools/docs/assets/images/notifications-5b32d6619542431027ddd67491eb445469fa2d16fa8352a2b0917b9298b7bbb2.png +0 -0
  63. data/tools/docs/assets/images/open_config-2e61415a3c2d7a4ce427cf325f3708dd4a761092b7dd0c869279c4354dc34ae4.png +0 -0
  64. data/tools/docs/assets/images/open_config-3cd3be1ce4560d9e72bb37b83dc830149091dec9a088c36187e0e72660c6ec34.png +0 -0
  65. data/tools/docs/assets/images/open_config-55ef2f241d02047b252bb8201742f99cffed5680d0e9eb46b3cb53a644ca3dc9.png +0 -0
  66. data/tools/docs/assets/images/open_config-f848a8b371ae0ec31776834148e9f978d9be94efef03534e5ca3a59c0ae3847f.png +0 -0
  67. data/tools/docs/assets/images/packet_viewer-19c1015cc704a98d1f6d90dd0dadc13188d25f1d5d2e838b7cfb226e8c173c7b.png +0 -0
  68. data/tools/docs/assets/images/plugin-variables-5bc00c744182c9a9591e84cb3bbb1c4deb53ff22e05f62ce1b807c26bed782e5.png +0 -0
  69. data/tools/docs/assets/images/processing-b0c50908284739a76e1bbcfcb3eb34dc9446f8716117cb0e9089ad9df53ebed6.png +0 -0
  70. data/tools/docs/assets/images/project-fe7ac90f3e45971fca8f1be94be9dbabe494bafe705e7f8f485676e9d96e47ea.png +0 -0
  71. data/tools/docs/assets/images/project_update-8e7de3b0658b95d4d9931eb52ff8bf339d633cbdc273ce096eb11ceb357c009e.png +0 -0
  72. data/tools/docs/assets/images/raw_command-759d93759a73a6a3dd7e30f89fc4d1a544dfb6f7355abfed03897d404279161d.png +0 -0
  73. data/tools/docs/assets/images/raw_telemetry-ffeb6b603f9a9abbe0cb77afaaeb4b4f07dfee479682a5c9661f85589a679049.png +0 -0
  74. data/tools/docs/assets/images/raw_tlm_logs-8dcba4f020b36f8efbb793271b70d40d9cad627196afaeb5bf6f3931ed53fa52.png +0 -0
  75. data/tools/docs/assets/images/reactions-dd4a8ebf22eed921a82a5478d23178c62e2cf944d295c2b9e3f4d7ce555b0fcc.png +0 -0
  76. data/tools/docs/assets/images/reload_file-8e26cd3e1bc1eab7bb6c046d9a6a8231fcd76e56682d819b1e549182890c6486.png +0 -0
  77. data/tools/docs/assets/images/reloaded-9effa15527244928ee503eb0c3a48cc5e82c07cfb5d5c4300eacfcab913069d1.png +0 -0
  78. data/tools/docs/assets/images/running_scripts-78bfd36a6c8c7167234e03bd188e974927c2beea1f730498583169a81639e7a3.png +0 -0
  79. data/tools/docs/assets/images/save_config-0ae36ac1f8114665f2558e936ba3b30e5cba2a16cc01d3494e14ed689b4637f7.png +0 -0
  80. data/tools/docs/assets/images/save_config-8b028134b07c70d6de019825cbb328623fc485d72aad9ba5b1980246b316fec2.png +0 -0
  81. data/tools/docs/assets/images/save_config-e4ed80276ebdc2c4eaf9aaeb859cff8aecb380b22da8c659741c31ca66914098.png +0 -0
  82. data/tools/docs/assets/images/save_config-e748a338526ffd8f9e49def5c0d15f8a80cd987f40d210ff6c6d4b61b713555c.png +0 -0
  83. data/tools/docs/assets/images/script_error-ce060b3086e7b466e51a276fb6b27245b4d042f07a60fe121b0071dd65a42075.png +0 -0
  84. data/tools/docs/assets/images/script_runner-7d7f01b90be962b4de46c20568727c55488eec5d9844823b53a262c9cfc470fa.png +0 -0
  85. data/tools/docs/assets/images/script_suite-42832d936f91417740b76a39841996c8e4a7cf5391dbb19abe9d7b31ab07dd7d.png +0 -0
  86. data/tools/docs/assets/images/select_item-f063106a8d836656496ba81e7e7428f51bd8ab95aebab0aa4eb6ad41ed42e026.png +0 -0
  87. data/tools/docs/assets/images/select_packet-0b6d5a2b012445ab2bf0fd3e1545f015cd7787280d05d2bccb0a9c9220102529.png +0 -0
  88. data/tools/docs/assets/images/select_packet-be9d63c49f898cccb73f9e4b2b39c4b5879cead34a8ab2ede0bb08e953498e95.png +0 -0
  89. data/tools/docs/assets/images/select_target-71ebcab6cbefafd8958939130861a75f7544e99a043d90fa0734ec2f983d835f.png +0 -0
  90. data/tools/docs/assets/images/simple_screen-3c9d6d2366c716c03a301396a4ce0ea418532890f349d9bc9ebb8be90983a6e6.png +0 -0
  91. data/tools/docs/assets/images/status-80010882300d2f1c453fbc4cb35bdb1f06d3db578266dda95c56ea7ec230ac72.png +0 -0
  92. data/tools/docs/assets/images/table_manager-9a5357ce536102bc1bb0c859be552f4ac82f62e538935a3c45a8e76d4f9744db.png +0 -0
  93. data/tools/docs/assets/images/targets-d15296b133787be4997c3d5e7d43eec9030831f1758508a8f6a71d40d04478ce.png +0 -0
  94. data/tools/docs/assets/images/telemetry-3f1169fc67b3d2427047ba66a9b2f3ddf71f61edf498ee70d14e78f0ef3c1e3c.png +0 -0
  95. data/tools/docs/assets/images/telemetry_grapher-a96b7e0101f5e377a73a186683e967e79d748c5dff2dfed6ec0afcea5694d7c8.png +0 -0
  96. data/tools/docs/assets/images/telemetry_viewer-be6ee576f1efceb39c2f744889deb4c18f571c4922c69d5d0e5f49a653776a46.png +0 -0
  97. data/tools/docs/assets/images/temp1_details-f0b6e62bc28da18febacc936112735e1dbd5718ef675668f04d8b3e060d7f87a.png +0 -0
  98. data/tools/docs/assets/images/time_chooser-e4ca0705d5b97c3056b0de3ab7f71f8091482b9b2e8904e69866a43ce4e616f2.png +0 -0
  99. data/tools/docs/assets/images/timeline_lifecycle-0bd916dee06bf67936b043abfdbc4d5fdec7cc5a32a889ee6c05e9faf74f4c6a.png +0 -0
  100. data/tools/docs/assets/images/triggers-0b0b3f9cc2850c1b83b9a7aab6f8a936626fd847c3158e993e4baa0e64b38096.png +0 -0
  101. data/tools/docs/assets/images/two_full_height-7cf9d0bbdf0269ad85e312f6dcb77930e1e3c4319f9750968a9347fafcf26084.png +0 -0
  102. data/tools/docs/assets/images/two_full_width-db2d88c0e2e6fc417016f47e3bac0bf68374957d8fc014220f53870429ea1ef3.png +0 -0
  103. data/tools/docs/assets/images/view_portal-b2e5fef00be80f1551b965d170fc3cd8ed95597f0a1e475a8177ab2d306215f5.png +0 -0
  104. data/tools/docs/assets/images/view_portal_add-56f06135fc56f1fa85cbc22ea3b7ad52f311641aad25df08b6f4a6f979b30e3f.png +0 -0
  105. data/tools/docs/assets/js/019369f3.bb600de8.js +1 -0
  106. data/tools/docs/assets/js/058ffc22.ce27f074.js +1 -0
  107. data/tools/docs/assets/js/0686a885.5fe3bfd4.js +1 -0
  108. data/tools/docs/assets/js/078dbab0.0a98e0c9.js +1 -0
  109. data/tools/docs/assets/js/0f5d161c.3a7b00e4.js +1 -0
  110. data/tools/docs/assets/js/0ff569c9.930bab08.js +1 -0
  111. data/tools/docs/assets/js/103cc3be.451dd416.js +1 -0
  112. data/tools/docs/assets/js/1131.f9e1547d.js +1 -0
  113. data/tools/docs/assets/js/13196248.1be5ac81.js +1 -0
  114. data/tools/docs/assets/js/13c1b4e4.ad24c4f6.js +1 -0
  115. data/tools/docs/assets/js/15a39a64.4138456c.js +1 -0
  116. data/tools/docs/assets/js/2029.9e268a82.js +1 -0
  117. data/tools/docs/assets/js/2047b354.7995865f.js +1 -0
  118. data/tools/docs/assets/js/22b3ac48.73a6c979.js +1 -0
  119. data/tools/docs/assets/js/2846.a87f3fc4.js +1 -0
  120. data/tools/docs/assets/js/2923e883.0cbdcbc5.js +1 -0
  121. data/tools/docs/assets/js/3477.783e2e37.js +2 -0
  122. data/tools/docs/assets/js/3477.783e2e37.js.LICENSE.txt +61 -0
  123. data/tools/docs/assets/js/3dd7ef3b.8f77876c.js +1 -0
  124. data/tools/docs/assets/js/3df159b4.dded3e78.js +1 -0
  125. data/tools/docs/assets/js/40365d27.9322abd8.js +1 -0
  126. data/tools/docs/assets/js/411898ad.a1d949a2.js +1 -0
  127. data/tools/docs/assets/js/42170351.46c774f8.js +1 -0
  128. data/tools/docs/assets/js/43652efd.cbac4bc0.js +1 -0
  129. data/tools/docs/assets/js/5109.6a372217.js +1 -0
  130. data/tools/docs/assets/js/54d0d530.e9c8193b.js +1 -0
  131. data/tools/docs/assets/js/5bc719f6.fce76244.js +1 -0
  132. data/tools/docs/assets/js/5c6ce5ec.f909714f.js +1 -0
  133. data/tools/docs/assets/js/5e3ed378.cdfe0362.js +1 -0
  134. data/tools/docs/assets/js/5fe211ef.809c3f96.js +1 -0
  135. data/tools/docs/assets/js/6831b732.735c11e9.js +1 -0
  136. data/tools/docs/assets/js/696b4199.ff9185d0.js +1 -0
  137. data/tools/docs/assets/js/6b210247.248680ef.js +1 -0
  138. data/tools/docs/assets/js/6b65133b.2144fb1b.js +1 -0
  139. data/tools/docs/assets/js/6f92e431.608f28e7.js +1 -0
  140. data/tools/docs/assets/js/72c6d8a8.062b7650.js +1 -0
  141. data/tools/docs/assets/js/75e64983.d42f03f8.js +1 -0
  142. data/tools/docs/assets/js/7efc9fb0.6164fbad.js +1 -0
  143. data/tools/docs/assets/js/867640d5.28196e2c.js +1 -0
  144. data/tools/docs/assets/js/89e76475.5131b624.js +1 -0
  145. data/tools/docs/assets/js/8f7843ee.69e537b0.js +1 -0
  146. data/tools/docs/assets/js/9424f0b3.73086bed.js +1 -0
  147. data/tools/docs/assets/js/97535711.c7556831.js +1 -0
  148. data/tools/docs/assets/js/99581c43.30aef54d.js +1 -0
  149. data/tools/docs/assets/js/9d6e81d0.84fe3bb3.js +1 -0
  150. data/tools/docs/assets/js/9fb6059a.dc4760ab.js +1 -0
  151. data/tools/docs/assets/js/a182b3b3.25afec82.js +1 -0
  152. data/tools/docs/assets/js/a507c363.71a89240.js +1 -0
  153. data/tools/docs/assets/js/a677c089.2ec103f7.js +1 -0
  154. data/tools/docs/assets/js/a9987364.de63d165.js +1 -0
  155. data/tools/docs/assets/js/aa6b6c1b.6b24256f.js +1 -0
  156. data/tools/docs/assets/js/ada50b5c.1c75d3de.js +1 -0
  157. data/tools/docs/assets/js/b4596165.ab1c689f.js +1 -0
  158. data/tools/docs/assets/js/b6d70f94.ec27318b.js +1 -0
  159. data/tools/docs/assets/js/b9f60ba6.bb514133.js +1 -0
  160. data/tools/docs/assets/js/bd0034eb.0c60929d.js +1 -0
  161. data/tools/docs/assets/js/c24eae19.12176204.js +1 -0
  162. data/tools/docs/assets/js/cb8c3f08.762bb287.js +1 -0
  163. data/tools/docs/assets/js/cd879be4.3641a5cb.js +1 -0
  164. data/tools/docs/assets/js/d1b923aa.bf4b0c9e.js +1 -0
  165. data/tools/docs/assets/js/d24bf9b6.6ed3b576.js +1 -0
  166. data/tools/docs/assets/js/d370d7a7.28ef1aad.js +1 -0
  167. data/tools/docs/assets/js/d57a4b5d.017675ee.js +1 -0
  168. data/tools/docs/assets/js/d5d77c37.f472b18b.js +1 -0
  169. data/tools/docs/assets/js/d5f295fb.e008c3ec.js +1 -0
  170. data/tools/docs/assets/js/d797a795.9243eac2.js +1 -0
  171. data/tools/docs/assets/js/d7c988eb.2670948e.js +1 -0
  172. data/tools/docs/assets/js/d8ca4191.717db664.js +1 -0
  173. data/tools/docs/assets/js/d9b92eba.5eff70b2.js +1 -0
  174. data/tools/docs/assets/js/db8fa1d0.85784608.js +1 -0
  175. data/tools/docs/assets/js/dc5f7beb.120c148d.js +1 -0
  176. data/tools/docs/assets/js/e501b0d1.ae564e73.js +1 -0
  177. data/tools/docs/assets/js/f15615f1.3126a842.js +1 -0
  178. data/tools/docs/assets/js/fd886806.d2d0bdf4.js +1 -0
  179. data/tools/docs/assets/js/main.b5a535c2.js +2 -0
  180. data/tools/docs/assets/js/main.b5a535c2.js.LICENSE.txt +70 -0
  181. data/tools/docs/assets/js/runtime~main.e3a6c705.js +1 -0
  182. data/tools/docs/docs/configuration/command.html +40 -0
  183. data/tools/docs/docs/configuration/format.html +16 -0
  184. data/tools/docs/docs/configuration/interfaces.html +16 -0
  185. data/tools/docs/docs/configuration/plugins.html +17 -0
  186. data/tools/docs/docs/configuration/protocols.html +23 -0
  187. data/tools/docs/docs/configuration/ssl-tls.html +17 -0
  188. data/tools/docs/docs/configuration/table.html +30 -0
  189. data/tools/docs/docs/configuration/target.html +16 -0
  190. data/tools/docs/docs/configuration/telemetry-screens.html +36 -0
  191. data/tools/docs/docs/configuration/telemetry.html +16 -0
  192. data/tools/docs/docs/configuration.html +16 -0
  193. data/tools/docs/docs/development/curl.html +16 -0
  194. data/tools/docs/docs/development/developing.html +19 -0
  195. data/tools/docs/docs/development/host-install.html +16 -0
  196. data/tools/docs/docs/development/json-api.html +16 -0
  197. data/tools/docs/docs/development/log-structure.html +17 -0
  198. data/tools/docs/docs/development/roadmap.html +16 -0
  199. data/tools/docs/docs/development/streaming-api.html +18 -0
  200. data/tools/docs/docs/development/testing.html +16 -0
  201. data/tools/docs/docs/development.html +16 -0
  202. data/tools/docs/docs/getting-started/gettingstarted.html +16 -0
  203. data/tools/docs/docs/getting-started/installation.html +18 -0
  204. data/tools/docs/docs/getting-started/podman.html +18 -0
  205. data/tools/docs/docs/getting-started/requirements.html +16 -0
  206. data/tools/docs/docs/getting-started/upgrading.html +16 -0
  207. data/tools/docs/docs/getting-started.html +16 -0
  208. data/tools/docs/docs/guides/bridges.html +23 -0
  209. data/tools/docs/docs/guides/cfs.html +46 -0
  210. data/tools/docs/docs/guides/custom-widgets.html +16 -0
  211. data/tools/docs/docs/guides/little-endian-bitfields.html +16 -0
  212. data/tools/docs/docs/guides/local-mode.html +16 -0
  213. data/tools/docs/docs/guides/logging.html +16 -0
  214. data/tools/docs/docs/guides/monitoring.html +16 -0
  215. data/tools/docs/docs/guides/performance.html +16 -0
  216. data/tools/docs/docs/guides/raspberrypi.html +16 -0
  217. data/tools/docs/docs/guides/script-writing.html +18 -0
  218. data/tools/docs/docs/guides/scripting-api.html +17 -0
  219. data/tools/docs/docs/guides.html +16 -0
  220. data/tools/docs/docs/meta/contributing.html +20 -0
  221. data/tools/docs/docs/meta/philosophy.html +16 -0
  222. data/tools/docs/docs/meta/xtce.html +16 -0
  223. data/tools/docs/docs/meta.html +16 -0
  224. data/tools/docs/docs/privacy.html +23 -0
  225. data/tools/docs/docs/tools/autonomic.html +16 -0
  226. data/tools/docs/docs/tools/bucket-explorer.html +16 -0
  227. data/tools/docs/docs/tools/calendar.html +16 -0
  228. data/tools/docs/docs/tools/cmd-sender.html +16 -0
  229. data/tools/docs/docs/tools/cmd-tlm-server.html +17 -0
  230. data/tools/docs/docs/tools/data-extractor.html +16 -0
  231. data/tools/docs/docs/tools/data-viewer.html +16 -0
  232. data/tools/docs/docs/tools/handbooks.html +16 -0
  233. data/tools/docs/docs/tools/limits-monitor.html +16 -0
  234. data/tools/docs/docs/tools/packet-viewer.html +16 -0
  235. data/tools/docs/docs/tools/script-runner.html +16 -0
  236. data/tools/docs/docs/tools/table-manager.html +16 -0
  237. data/tools/docs/docs/tools/tlm-grapher.html +16 -0
  238. data/tools/docs/docs/tools/tlm-viewer.html +17 -0
  239. data/tools/docs/docs/tools.html +16 -0
  240. data/tools/docs/docs/v5/bridges/index.html +11 -0
  241. data/tools/docs/docs/v5/bucket-explorer/index.html +11 -0
  242. data/tools/docs/docs/v5/calendar/index.html +11 -0
  243. data/tools/docs/docs/v5/cfs/index.html +11 -0
  244. data/tools/docs/docs/v5/cmd-sender/index.html +11 -0
  245. data/tools/docs/docs/v5/cmd-tlm-server/index.html +11 -0
  246. data/tools/docs/docs/v5/command/index.html +11 -0
  247. data/tools/docs/docs/v5/contributing/index.html +11 -0
  248. data/tools/docs/docs/v5/custom-widgets/index.html +11 -0
  249. data/tools/docs/docs/v5/data-extractor/index.html +11 -0
  250. data/tools/docs/docs/v5/data-viewer/index.html +11 -0
  251. data/tools/docs/docs/v5/development/index.html +11 -0
  252. data/tools/docs/docs/v5/format/index.html +11 -0
  253. data/tools/docs/docs/v5/gettingstarted/index.html +11 -0
  254. data/tools/docs/docs/v5/handbooks/index.html +11 -0
  255. data/tools/docs/docs/v5/host-install/index.html +11 -0
  256. data/tools/docs/docs/v5/index.html +11 -0
  257. data/tools/docs/docs/v5/installation/index.html +11 -0
  258. data/tools/docs/docs/v5/interfaces/index.html +11 -0
  259. data/tools/docs/docs/v5/json-api/index.html +11 -0
  260. data/tools/docs/docs/v5/limits-monitor/index.html +11 -0
  261. data/tools/docs/docs/v5/little-endian-bitfields/index.html +11 -0
  262. data/tools/docs/docs/v5/local-mode/index.html +11 -0
  263. data/tools/docs/docs/v5/log-structure/index.html +11 -0
  264. data/tools/docs/docs/v5/logging/index.html +11 -0
  265. data/tools/docs/docs/v5/monitoring/index.html +11 -0
  266. data/tools/docs/docs/v5/packet-viewer/index.html +11 -0
  267. data/tools/docs/docs/v5/performance/index.html +11 -0
  268. data/tools/docs/docs/v5/philosophy/index.html +11 -0
  269. data/tools/docs/docs/v5/plugins/index.html +11 -0
  270. data/tools/docs/docs/v5/podman/index.html +11 -0
  271. data/tools/docs/docs/v5/protocols/index.html +11 -0
  272. data/tools/docs/docs/v5/raspberrypi/index.html +11 -0
  273. data/tools/docs/docs/v5/requirements/index.html +11 -0
  274. data/tools/docs/docs/v5/roadmap/index.html +11 -0
  275. data/tools/docs/docs/v5/script-runner/index.html +11 -0
  276. data/tools/docs/docs/v5/script-writing/index.html +11 -0
  277. data/tools/docs/docs/v5/scripting-api/index.html +11 -0
  278. data/tools/docs/docs/v5/ssl-tls/index.html +11 -0
  279. data/tools/docs/docs/v5/streaming-api/index.html +11 -0
  280. data/tools/docs/docs/v5/table/index.html +11 -0
  281. data/tools/docs/docs/v5/table-manager/index.html +11 -0
  282. data/tools/docs/docs/v5/target/index.html +11 -0
  283. data/tools/docs/docs/v5/telemetry/index.html +11 -0
  284. data/tools/docs/docs/v5/telemetry-screens/index.html +11 -0
  285. data/tools/docs/docs/v5/testing/index.html +11 -0
  286. data/tools/docs/docs/v5/tlm-grapher/index.html +11 -0
  287. data/tools/docs/docs/v5/tlm-viewer/index.html +11 -0
  288. data/tools/docs/docs/v5/tools/index.html +11 -0
  289. data/tools/docs/docs/v5/upgrading/index.html +11 -0
  290. data/tools/docs/docs/v5/xtce/index.html +11 -0
  291. data/tools/docs/docs.html +25 -0
  292. data/tools/docs/img/BCT.png +0 -0
  293. data/tools/docs/img/OpenC3.png +0 -0
  294. data/tools/docs/img/article-footer.png +0 -0
  295. data/tools/docs/img/ball.jpg +0 -0
  296. data/tools/docs/img/black_logo.svg +25 -0
  297. data/tools/docs/img/captech.gif +0 -0
  298. data/tools/docs/img/docusaurus-social-card.jpg +0 -0
  299. data/tools/docs/img/docusaurus.png +0 -0
  300. data/tools/docs/img/favicon.png +0 -0
  301. data/tools/docs/img/footer-logo.png +0 -0
  302. data/tools/docs/img/interface_read_logic.png +0 -0
  303. data/tools/docs/img/interface_write_logic.png +0 -0
  304. data/tools/docs/img/johnh.gif +0 -0
  305. data/tools/docs/img/lockheed.png +0 -0
  306. data/tools/docs/img/logo.svg +7 -0
  307. data/tools/docs/img/nasa.gif +0 -0
  308. data/tools/docs/img/sdlusu.gif +0 -0
  309. data/tools/docs/img/v5/architecture.png +0 -0
  310. data/tools/docs/img/v5/autonomic/autonomic.png +0 -0
  311. data/tools/docs/img/v5/autonomic/reactions.png +0 -0
  312. data/tools/docs/img/v5/autonomic/triggers.png +0 -0
  313. data/tools/docs/img/v5/bucket_explorer/bucket_explorer.png +0 -0
  314. data/tools/docs/img/v5/calendar/calendar.png +0 -0
  315. data/tools/docs/img/v5/calendar/list_view.png +0 -0
  316. data/tools/docs/img/v5/calendar/timeline_lifecycle.png +0 -0
  317. data/tools/docs/img/v5/cmd_tlm_server/cmd_tlm_server.png +0 -0
  318. data/tools/docs/img/v5/cmd_tlm_server/commands.png +0 -0
  319. data/tools/docs/img/v5/cmd_tlm_server/file_menu.png +0 -0
  320. data/tools/docs/img/v5/cmd_tlm_server/interfaces.png +0 -0
  321. data/tools/docs/img/v5/cmd_tlm_server/log_messages.png +0 -0
  322. data/tools/docs/img/v5/cmd_tlm_server/raw_command.png +0 -0
  323. data/tools/docs/img/v5/cmd_tlm_server/raw_telemetry.png +0 -0
  324. data/tools/docs/img/v5/cmd_tlm_server/routers.png +0 -0
  325. data/tools/docs/img/v5/cmd_tlm_server/status.png +0 -0
  326. data/tools/docs/img/v5/cmd_tlm_server/targets.png +0 -0
  327. data/tools/docs/img/v5/cmd_tlm_server/telemetry.png +0 -0
  328. data/tools/docs/img/v5/command_sender/command_sender.png +0 -0
  329. data/tools/docs/img/v5/command_sender/inst_clear.png +0 -0
  330. data/tools/docs/img/v5/command_sender/inst_collect.png +0 -0
  331. data/tools/docs/img/v5/command_sender/inst_collect_hazardous.png +0 -0
  332. data/tools/docs/img/v5/command_sender/inst_collect_hazardous_history.png +0 -0
  333. data/tools/docs/img/v5/command_sender/inst_collect_sent.png +0 -0
  334. data/tools/docs/img/v5/command_sender/inst_collect_sent_3.png +0 -0
  335. data/tools/docs/img/v5/command_sender/mode_menu.png +0 -0
  336. data/tools/docs/img/v5/contact/jason.png +0 -0
  337. data/tools/docs/img/v5/contact/ryan.jpeg +0 -0
  338. data/tools/docs/img/v5/data_extractor/data_extractor.png +0 -0
  339. data/tools/docs/img/v5/data_extractor/date_chooser.png +0 -0
  340. data/tools/docs/img/v5/data_extractor/delete_all_mouseover.png +0 -0
  341. data/tools/docs/img/v5/data_extractor/download.png +0 -0
  342. data/tools/docs/img/v5/data_extractor/edit_all_items.png +0 -0
  343. data/tools/docs/img/v5/data_extractor/edit_all_mouseover.png +0 -0
  344. data/tools/docs/img/v5/data_extractor/edit_temp1.png +0 -0
  345. data/tools/docs/img/v5/data_extractor/file_menu.png +0 -0
  346. data/tools/docs/img/v5/data_extractor/items_table.png +0 -0
  347. data/tools/docs/img/v5/data_extractor/items_table_raw.png +0 -0
  348. data/tools/docs/img/v5/data_extractor/items_table_temp1.png +0 -0
  349. data/tools/docs/img/v5/data_extractor/mode_menu.png +0 -0
  350. data/tools/docs/img/v5/data_extractor/open_config.png +0 -0
  351. data/tools/docs/img/v5/data_extractor/processing.png +0 -0
  352. data/tools/docs/img/v5/data_extractor/save_config.png +0 -0
  353. data/tools/docs/img/v5/data_extractor/select_item.png +0 -0
  354. data/tools/docs/img/v5/data_extractor/select_packet.png +0 -0
  355. data/tools/docs/img/v5/data_extractor/select_target.png +0 -0
  356. data/tools/docs/img/v5/data_extractor/time_chooser.png +0 -0
  357. data/tools/docs/img/v5/data_viewer/add_packet.png +0 -0
  358. data/tools/docs/img/v5/data_viewer/data_viewer.png +0 -0
  359. data/tools/docs/img/v5/data_viewer/file_menu.png +0 -0
  360. data/tools/docs/img/v5/data_viewer/open_config.png +0 -0
  361. data/tools/docs/img/v5/data_viewer/rename_tab.png +0 -0
  362. data/tools/docs/img/v5/data_viewer/save_config.png +0 -0
  363. data/tools/docs/img/v5/data_viewer/tab_right_click.png +0 -0
  364. data/tools/docs/img/v5/data_viewer/view_portal.png +0 -0
  365. data/tools/docs/img/v5/data_viewer/view_portal_add.png +0 -0
  366. data/tools/docs/img/v5/guides/local_mode/delete_modified.png +0 -0
  367. data/tools/docs/img/v5/guides/local_mode/minio.png +0 -0
  368. data/tools/docs/img/v5/guides/local_mode/project.png +0 -0
  369. data/tools/docs/img/v5/guides/local_mode/project_update.png +0 -0
  370. data/tools/docs/img/v5/guides/local_mode/reload_file.png +0 -0
  371. data/tools/docs/img/v5/guides/local_mode/reloaded.png +0 -0
  372. data/tools/docs/img/v5/guides/logging/browser.png +0 -0
  373. data/tools/docs/img/v5/guides/logging/log_messages.png +0 -0
  374. data/tools/docs/img/v5/guides/logging/notifications.png +0 -0
  375. data/tools/docs/img/v5/guides/logging/raw_tlm_logs.png +0 -0
  376. data/tools/docs/img/v5/guides/plugin-variables.png +0 -0
  377. data/tools/docs/img/v5/guides/simple_screen.png +0 -0
  378. data/tools/docs/img/v5/handbooks/handbooks.png +0 -0
  379. data/tools/docs/img/v5/limits_monitor/ignored.png +0 -0
  380. data/tools/docs/img/v5/limits_monitor/limits_monitor.png +0 -0
  381. data/tools/docs/img/v5/limits_monitor/log.png +0 -0
  382. data/tools/docs/img/v5/limits_monitor/mouseover.png +0 -0
  383. data/tools/docs/img/v5/navigation.png +0 -0
  384. data/tools/docs/img/v5/packet_viewer/file_menu.png +0 -0
  385. data/tools/docs/img/v5/packet_viewer/packet_viewer.png +0 -0
  386. data/tools/docs/img/v5/packet_viewer/select_packet.png +0 -0
  387. data/tools/docs/img/v5/packet_viewer/temp1_details.png +0 -0
  388. data/tools/docs/img/v5/packet_viewer/view_menu.png +0 -0
  389. data/tools/docs/img/v5/script_runner/checks_rb.png +0 -0
  390. data/tools/docs/img/v5/script_runner/connecting.png +0 -0
  391. data/tools/docs/img/v5/script_runner/debug.png +0 -0
  392. data/tools/docs/img/v5/script_runner/file_menu.png +0 -0
  393. data/tools/docs/img/v5/script_runner/file_open.png +0 -0
  394. data/tools/docs/img/v5/script_runner/file_save_as.png +0 -0
  395. data/tools/docs/img/v5/script_runner/running_scripts.png +0 -0
  396. data/tools/docs/img/v5/script_runner/script_error.png +0 -0
  397. data/tools/docs/img/v5/script_runner/script_menu.png +0 -0
  398. data/tools/docs/img/v5/script_runner/script_runner.png +0 -0
  399. data/tools/docs/img/v5/script_runner/script_suite.png +0 -0
  400. data/tools/docs/img/v5/table_manager/file_menu.png +0 -0
  401. data/tools/docs/img/v5/table_manager/table_manager.png +0 -0
  402. data/tools/docs/img/v5/telemetry_grapher/edit_graph.png +0 -0
  403. data/tools/docs/img/v5/telemetry_grapher/file_menu.png +0 -0
  404. data/tools/docs/img/v5/telemetry_grapher/four_graphs.png +0 -0
  405. data/tools/docs/img/v5/telemetry_grapher/graph_menu.png +0 -0
  406. data/tools/docs/img/v5/telemetry_grapher/graph_min_max.png +0 -0
  407. data/tools/docs/img/v5/telemetry_grapher/graph_temp1.png +0 -0
  408. data/tools/docs/img/v5/telemetry_grapher/graph_temp1_temp2.png +0 -0
  409. data/tools/docs/img/v5/telemetry_grapher/graph_temp1_time.png +0 -0
  410. data/tools/docs/img/v5/telemetry_grapher/grapher_controls.png +0 -0
  411. data/tools/docs/img/v5/telemetry_grapher/minimized.png +0 -0
  412. data/tools/docs/img/v5/telemetry_grapher/open_config.png +0 -0
  413. data/tools/docs/img/v5/telemetry_grapher/save_config.png +0 -0
  414. data/tools/docs/img/v5/telemetry_grapher/stop_start.png +0 -0
  415. data/tools/docs/img/v5/telemetry_grapher/telemetry_grapher.png +0 -0
  416. data/tools/docs/img/v5/telemetry_grapher/two_full_height.png +0 -0
  417. data/tools/docs/img/v5/telemetry_grapher/two_full_width.png +0 -0
  418. data/tools/docs/img/v5/telemetry_viewer/edit_screen.png +0 -0
  419. data/tools/docs/img/v5/telemetry_viewer/file_menu.png +0 -0
  420. data/tools/docs/img/v5/telemetry_viewer/minimized.png +0 -0
  421. data/tools/docs/img/v5/telemetry_viewer/new_screen.png +0 -0
  422. data/tools/docs/img/v5/telemetry_viewer/open_config.png +0 -0
  423. data/tools/docs/img/v5/telemetry_viewer/save_config.png +0 -0
  424. data/tools/docs/img/v5/telemetry_viewer/telemetry_viewer.png +0 -0
  425. data/tools/docs/index.html +16 -0
  426. data/tools/docs/lunr-index-1699630949575.json +1 -0
  427. data/tools/docs/lunr-index.json +1 -0
  428. data/tools/docs/markdown-page.html +16 -0
  429. data/tools/docs/search-doc-1699630949575.json +1 -0
  430. data/tools/docs/search-doc.json +1 -0
  431. data/tools/docs/sitemap.xml +1 -0
  432. metadata +477 -0
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-guides/local-mode" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
6
+ <title data-rh="true">Local Mode | 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/docs/docs/guides/local-mode"><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="Local Mode | OpenC3 Docs"><meta data-rh="true" name="description" content="Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions."><meta data-rh="true" property="og:description" content="Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions."><link data-rh="true" rel="icon" href="/tools/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/guides/local-mode"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/local-mode" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/local-mode" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <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/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></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/docs/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="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" 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 docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><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/docs/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/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" 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/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" 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/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" 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/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" 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/docs/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/docs/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/docs/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/docs/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 menu__link--active" aria-current="page" tabindex="0" href="/tools/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" 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/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" 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/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><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/docs/"><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/docs/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">Local Mode</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>Local Mode</h1></header><p>Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="using-local-mode">Using Local Mode<a href="#using-local-mode" class="hash-link" aria-label="Direct link to Using Local Mode" title="Direct link to Using Local Mode">​</a></h2><p>In this tutorial we will use the COSMOS Demo as configured by the <a href="/tools/docs/docs/getting-started/installation">Installation Guide</a>. You should have cloned a <a href="https://github.com/OpenC3/cosmos-project" target="_blank" rel="noopener noreferrer">cosmos-project</a> and started it using <code>openc3.sh run</code>.</p><p>If you check the project directory you should see a <code>plugins/DEFAULT/openc3-cosmos-demo</code> directory. This will contain both the gem that was installed and a <code>plugin_instance.json</code> file. The <code>plugin_instance.json</code> file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later.</p><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="editing-scripts">Editing scripts<a href="#editing-scripts" class="hash-link" aria-label="Direct link to Editing scripts" title="Direct link to Editing scripts">​</a></h3><div class="theme-admonition theme-admonition-info alert alert--info admonition_qNG0"><div class="admonitionHeading_l909"><span class="admonitionIcon_UNbs"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Visual Studio Code</div><div class="admonitionContent_oUmQ"><p>This tutorial will use <a href="https://code.visualstudio.com" target="_blank" rel="noopener noreferrer">VS Code</a> which is the editor used by the COSMOS developers.</p></div></div><p>The most common use case for Local Mode is script development. Launch Script Runner and open the <code>INST/procedures/checks.rb</code> file. If you run this script you&#x27;ll notice that it has a few errors (by design) which prevent it from running to completion. Let&#x27;s fix it! Comment out the second and fourth lines and save the script. You should now notice that Local Mode has saved a copy of the script to <code>plugins/targets_modified/INST/procedures/checks.rb</code>.</p><p><img loading="lazy" alt="Project Layout" src="/tools/docs/assets/images/project-fe7ac90f3e45971fca8f1be94be9dbabe494bafe705e7f8f485676e9d96e47ea.png" width="926" height="325" class="img__Ss2"></p><p>At this point Local Mode keeps these scripts in sync so we can edit in either place. Let&#x27;s edit the local script by adding a simple comment at the top: <code># This is a script</code>. Now if we go back to Script Runner the changes have not <em>automatically</em> appeared. However, there is a Reload button next to the filename that will refresh the file from the backend.</p><p><img loading="lazy" alt="Project Layout" src="/tools/docs/assets/images/reload_file-8e26cd3e1bc1eab7bb6c046d9a6a8231fcd76e56682d819b1e549182890c6486.png" width="845" height="360" class="img__Ss2"></p><p>Clicking this reloads the file which has been synced into COSMOS and now we see our comment.</p><p><img loading="lazy" alt="Project Layout" src="/tools/docs/assets/images/reloaded-9effa15527244928ee503eb0c3a48cc5e82c07cfb5d5c4300eacfcab913069d1.png" width="536" height="102" class="img__Ss2"></p><p>It&#x27;s important not to delete this local file while in Local Mode or COSMOS will display a server error 500. If this happens you can open the Minio Console at http://localhost:2900/minio/ and browse to the file in question to download and restore it.</p><p><img loading="lazy" alt="Project Layout" src="/tools/docs/assets/images/minio-150460ac77a50711835de6f0150d019000e5515afae0f3adfcdda8e891484f47.png" width="1312" height="442" class="img__Ss2"></p><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="disabling-local-mode">Disabling Local Mode<a href="#disabling-local-mode" class="hash-link" aria-label="Direct link to Disabling Local Mode" title="Direct link to Disabling Local Mode">​</a></h3><p>If you want to disable Local Mode you can edit the .env file and delete the setting <code>OPENC3_LOCAL_MODE=1</code>.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="configuration-management">Configuration Management<a href="#configuration-management" class="hash-link" aria-label="Direct link to Configuration Management" title="Direct link to Configuration Management">​</a></h2><p>It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory.</p><p>At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI.</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> Successfully built RubyGem</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> Name: openc3-cosmos-demo</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> Version: 1.0.1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> File: openc3-cosmos-demo-1.0.1.gem</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL.</p><p><img loading="lazy" alt="Project Layout" src="/tools/docs/assets/images/delete_modified-a7ec0ceb61c37398d57fcecf11ebe2453ebd0110be6cfc960a5073a13a557638.png" width="1057" height="583" class="img__Ss2"></p><p>When the new plugin is installed, the project&#x27;s <code>plugins</code> directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install.</p><p><img loading="lazy" alt="Project Layout" src="/tools/docs/assets/images/project_update-8e7de3b0658b95d4d9931eb52ff8bf339d633cbdc273ce096eb11ceb357c009e.png" width="353" height="305" class="img__Ss2"></p><p>Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS.</p></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/local-mode.md" target="_blank" rel="noreferrer noopener" 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/docs/docs/guides/little-endian-bitfields"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Little Endian Bitfields</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/guides/logging"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Logging</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="#using-local-mode" class="table-of-contents__link toc-highlight">Using Local Mode</a><ul><li><a href="#editing-scripts" class="table-of-contents__link toc-highlight">Editing scripts</a></li><li><a href="#disabling-local-mode" class="table-of-contents__link toc-highlight">Disabling Local Mode</a></li></ul></li><li><a href="#configuration-management" class="table-of-contents__link toc-highlight">Configuration Management</a></li></ul></div></div></div></div></main></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/docs/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/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-guides/logging" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
6
+ <title data-rh="true">Logging | 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/docs/docs/guides/logging"><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="Logging | OpenC3 Docs"><meta data-rh="true" name="description" content="The COSMOS Bucket Explorer tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to http2900/tools/bucketexplorer and you should see the list of buckets at the top:"><meta data-rh="true" property="og:description" content="The COSMOS Bucket Explorer tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to http2900/tools/bucketexplorer and you should see the list of buckets at the top:"><link data-rh="true" rel="icon" href="/tools/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/guides/logging"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/logging" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/logging" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <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/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></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/docs/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="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" 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 docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><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/docs/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/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" 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/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" 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/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" 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/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" 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/docs/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/docs/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/docs/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/docs/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/docs/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 menu__link--active" aria-current="page" tabindex="0" href="/tools/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" 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/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" 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/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><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/docs/"><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/docs/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">Logging</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>Logging</h1></header><p>The COSMOS <a href="/tools/docs/docs/tools/bucket-explorer">Bucket Explorer</a> tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to http://localhost:2900/tools/bucketexplorer and you should see the list of buckets at the top:</p><p><img loading="lazy" alt="Bucket Explorer" src="/tools/docs/assets/images/bucket_explorer-983c087ee3bdcf8626219e782620b6c580fd82bfe2e8b0c662a0f90cdca43838.png" width="1818" height="1498" class="img__Ss2"></p><p>Note the config and logs buckets are organized by scopes of which there initially is just one: DEFAULT. Clicking the DEFAULT folder in the logs bucket shows the decom_logs, raw_logs, reduced_xxx_logs, text_logs and tool_logs.</p><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="decom_logs--raw_logs">decom_logs &amp; raw_logs<a href="#decom_logs--raw_logs" class="hash-link" aria-label="Direct link to decom_logs &amp; raw_logs" title="Direct link to decom_logs &amp; raw_logs">​</a></h3><p>The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/ directory:</p><p><img loading="lazy" alt="raw_tlm_logs" src="/tools/docs/assets/images/raw_tlm_logs-8dcba4f020b36f8efbb793271b70d40d9cad627196afaeb5bf6f3931ed53fa52.png" width="1098" height="743" class="img__Ss2"></p><p>Note the presence of both gzipped .bin files and .idx files. The .bin files contain the raw binary data while the idx files are index files designed to allow quick binary searches on the corresponding packet logs. For more information about the structure of these files see the <a href="/tools/docs/docs/development/log-structure">Log Structure</a> developer documentation.</p><p>The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first.</p><p>To change the logging settings add the various CYCLE_TIME <a href="/tools/docs/docs/configuration/plugins#target-modifiers">Target Modifiers</a> under the declared <a href="/tools/docs/docs/configuration/plugins#target-1">TARGET</a> name in your plugin.txt.</p><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="text_logs">text_logs<a href="#text_logs" class="hash-link" aria-label="Direct link to text_logs" title="Direct link to text_logs">​</a></h3><p>The text_logs folder contains openc3_log_messages and openc3_notifications.</p><h4 class="anchor anchorWithStickyNavbar_fF9Z" id="openc3_log_messages">openc3_log_messages<a href="#openc3_log_messages" class="hash-link" aria-label="Direct link to openc3_log_messages" title="Direct link to openc3_log_messages">​</a></h4><p>The cosmos_log_messages folder contains text files which are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked.</p><h4 class="anchor anchorWithStickyNavbar_fF9Z" id="openc3_notifications">openc3_notifications<a href="#openc3_notifications" class="hash-link" aria-label="Direct link to openc3_notifications" title="Direct link to openc3_notifications">​</a></h4><p>The openc3_notifications folder contains all the notifications which are accessible from the Bell icon in the status bar.</p><p><img loading="lazy" alt="notifications" src="/tools/docs/assets/images/notifications-5b32d6619542431027ddd67491eb445469fa2d16fa8352a2b0917b9298b7bbb2.png" width="414" height="302" class="img__Ss2"></p><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="tool_logs">tool_logs<a href="#tool_logs" class="hash-link" aria-label="Direct link to tool_logs" title="Direct link to tool_logs">​</a></h3><p>The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new &#x27;sr&#x27; subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Log Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file.</p><p><img loading="lazy" alt="log_messages" src="/tools/docs/assets/images/log_messages-2cfad0fd6f6f980f69b5564a4b7ecfecf3331c6256c78bcfb2b084970db305ca.png" width="743" height="193" class="img__Ss2"></p></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/logging.md" target="_blank" rel="noreferrer noopener" 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/docs/docs/guides/local-mode"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Local Mode</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/guides/monitoring"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Monitoring</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="#decom_logs--raw_logs" class="table-of-contents__link toc-highlight">decom_logs &amp; raw_logs</a></li><li><a href="#text_logs" class="table-of-contents__link toc-highlight">text_logs</a></li><li><a href="#tool_logs" class="table-of-contents__link toc-highlight">tool_logs</a></li></ul></div></div></div></div></main></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/docs/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/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-guides/monitoring" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
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/docs/docs/guides/monitoring"><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/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/guides/monitoring"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/monitoring" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/monitoring" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <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/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></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/docs/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="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" 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 docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><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/docs/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/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" 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/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" 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/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" 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/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" 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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" 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/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" 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/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><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/docs/"><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/docs/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 class="anchor anchorWithStickyNavbar_fF9Z" id="monitoring-and-observability">Monitoring and observability<a href="#monitoring-and-observability" class="hash-link" aria-label="Direct link to Monitoring and observability" title="Direct link to Monitoring and observability">​</a></h3><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/" target="_blank" rel="noopener noreferrer">Monitoring Distributed Systems</a></p><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="fluentfluentd"><a href="https://www.fluentd.org/guides/recipes/docker-logging" target="_blank" rel="noopener noreferrer">Fluent/Fluentd</a><a href="#fluentfluentd" class="hash-link" aria-label="Direct link to fluentfluentd" title="Direct link to fluentfluentd">​</a></h3><blockquote><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></blockquote><h4 class="anchor anchorWithStickyNavbar_fF9Z" id="notes">Notes<a href="#notes" class="hash-link" aria-label="Direct link to Notes" title="Direct link to Notes">​</a></h4><p>in_docker.conf</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;source&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type forward</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> port 24224</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> bind 0.0.0.0</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;/source&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;match *.metric&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type copy</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type elasticsearch</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> host openc3-elasticsearch</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> port 9200</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_format true</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_prefix metric</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_dateformat %Y%m%d</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> include_tag_key true</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> type_name access_log</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> tag_key @log_name</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> flush_interval 1s</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;/store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type stdout</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;/store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;/match&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;match *__openc3.log&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type copy</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type elasticsearch</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> host openc3-elasticsearch</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> port 9200</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_format true</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_prefix openc3</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_dateformat %Y%m%d</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> include_tag_key true</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> type_name access_log</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> tag_key @log_name</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> flush_interval 1s</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;/store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type stdout</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;/store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;/match&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;match *.**&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type copy</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type elasticsearch</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> host openc3-elasticsearch</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> port 9200</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_format true</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_prefix fluentd</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> logstash_dateformat %Y%m%d</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> include_tag_key true</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> type_name access_log</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> tag_key @log_name</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> flush_interval 1s</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;/store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> @type stdout</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &lt;/store&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">&lt;/match&gt;</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Dockerfile</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">FROM fluent/fluentd:v1.10.3-1.0</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">COPY ./in_docker.conf /fluentd/etc/fluent.conf</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">USER root</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> &amp;&amp; gem install fluent-plugin-prometheus --no-document --version 1.8.5</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">USER fluent</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="opendistro"><a href="https://opendistro.github.io/for-elasticsearch-docs/" target="_blank" rel="noopener noreferrer">OpenDistro</a><a href="#opendistro" class="hash-link" aria-label="Direct link to opendistro" title="Direct link to opendistro">​</a></h3><blockquote><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></blockquote><ul><li><a href="https://opendistro.github.io/for-elasticsearch-docs/docs/install/docker/" target="_blank" rel="noopener noreferrer">Docker</a></li></ul><h4 class="anchor anchorWithStickyNavbar_fF9Z" id="notes-1">Notes<a href="#notes-1" class="hash-link" aria-label="Direct link to Notes" title="Direct link to Notes">​</a></h4><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><p>Dockerfile</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">FROM amazon/opendistro-for-elasticsearch:1.12.0</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="prometheus"><a href="https://prometheus.io/" target="_blank" rel="noopener noreferrer">Prometheus</a><a href="#prometheus" class="hash-link" aria-label="Direct link to prometheus" title="Direct link to prometheus">​</a></h3><blockquote><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></blockquote><h4 class="anchor anchorWithStickyNavbar_fF9Z" id="notes-2">Notes<a href="#notes-2" class="hash-link" aria-label="Direct link to Notes" title="Direct link to Notes">​</a></h4><p>prometheus.yaml</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">global:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> scrape_interval: 15s</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> evaluation_interval: 15s</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">rule_files:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> # - &quot;first.rules&quot;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> # - &quot;second.rules&quot;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">scrape_configs:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - job_name: prometheus</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> static_configs:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - targets: [&quot;localhost:9090&quot;]</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - job_name: openc3-internal-metrics</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> metrics_path: &quot;/openc3-api/internal/metrics&quot;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> static_configs:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - targets: [&quot;openc3-cmd-tlm-api:2901&quot;]</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - job_name: openc3-cmd-tlm-api</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> metrics_path: &quot;/openc3-api/metrics&quot;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> static_configs:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - targets: [&quot;openc3-cmd-tlm-api:2901&quot;]</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - job_name: openc3-script-runner-api</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> metrics_path: &quot;/script-api/metrics&quot;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> static_configs:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - targets: [&quot;openc3-script-runner-api:2902&quot;]</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - job_name: minio-job</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> metrics_path: /minio/v2/metrics/cluster</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> scheme: http</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> static_configs:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - targets: [&#x27;openc3-minio:9000&#x27;]</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Dockerfile</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">FROM prom/prometheus:v2.24.1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ADD prometheus.yaml /etc/prometheus/</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="grafana"><a href="https://grafana.com/" target="_blank" rel="noopener noreferrer">Grafana</a><a href="#grafana" class="hash-link" aria-label="Direct link to grafana" title="Direct link to grafana">​</a></h3><blockquote><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></blockquote><h4 class="anchor anchorWithStickyNavbar_fF9Z" id="notes-3">Notes<a href="#notes-3" class="hash-link" aria-label="Direct link to Notes" title="Direct link to Notes">​</a></h4><p>datasource.yaml</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">apiVersion: 1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">datasources:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> - name: Prometheus</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> type: prometheus</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> # Access mode - proxy (server in the UI) or direct (browser in the UI).</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> access: proxy</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> url: http://openc3-prometheus:9090</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Dockerfile</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">FROM grafana/grafana</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">COPY datasource.yaml /etc/grafana/provisioning/datasources/</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></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="noreferrer noopener" 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/docs/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/docs/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></li><li><a href="#opendistro" class="table-of-contents__link toc-highlight">OpenDistro</a></li><li><a href="#prometheus" class="table-of-contents__link toc-highlight">Prometheus</a></li><li><a href="#grafana" class="table-of-contents__link toc-highlight">Grafana</a></li></ul></div></div></div></div></main></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/docs/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/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-guides/performance" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
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/docs/docs/guides/performance"><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/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/guides/performance"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/performance" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/performance" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <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/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></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/docs/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="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" 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 docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><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/docs/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/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" 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/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" 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/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" 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/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" 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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" 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/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" 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/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><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/docs/"><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/docs/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"><header><h1>Performance</h1></header><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" target="_blank" rel="noopener noreferrer">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><h1>COSMOS Hardware Requirements</h1><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="memory">Memory<a href="#memory" class="hash-link" aria-label="Direct link to Memory" title="Direct link to Memory">​</a></h2><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 &amp; INST2) and two relatively simple (EXAMPLE &amp; TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM).</p><ul><li>Base RAM MB Calculator = 800 + (num targets) <!-- -->*<!-- --> 300</li></ul><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 &amp; 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" target="_blank" rel="noopener noreferrer">LoadSim</a> with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="cpu">CPU<a href="#cpu" class="hash-link" aria-label="Direct link to CPU" title="Direct link to CPU">​</a></h2><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><p>The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It&#x27;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><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="performance-comparison">Performance Comparison<a href="#performance-comparison" class="hash-link" aria-label="Direct link to Performance Comparison" title="Direct link to Performance Comparison">​</a></h2><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" target="_blank" rel="noopener noreferrer">Docker</a>. COSMOS <a href="https://github.com/OpenC3/cosmos-enterprise/releases/tag/v5.9.1" target="_blank" rel="noopener noreferrer">5.9.1</a> Enterprise Edition was installed on both Windows 11 Pro <sup id="fnref-1"><a href="#fn-1" class="footnote-ref">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><table><thead><tr><th align="left">Platform</th><th align="left">Core CPU %</th><th align="left">RAM</th></tr></thead><tbody><tr><td align="left">Windows 11 Pro</td><td align="left">12% 12% 10% 10%</td><td align="left">3.9G / 7.7G</td></tr><tr><td align="left">Headless Ubuntu 22</td><td align="left">7% 7% 8% 6%</td><td align="left">3.2G / 15.6G</td></tr></tbody></table><ul><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" target="_blank" rel="noopener noreferrer">.wslconfig</a> settings.</li><li>Since Ubuntu was running headless, the screens and graphs were brought up on another machine.</li></ul><p><code>docker stats</code> was also run to show individual container cpu and memory usage:</p><table><thead><tr><th align="left">NAME</th><th align="left">Windows CPU %</th><th>Ubuntu CPU %</th><th align="left">Windows MEM</th><th>Ubuntu MEM</th></tr></thead><tbody><tr><td align="left">cosmos-enterprise-project-openc3-traefik-1</td><td align="left">4.16%</td><td>1.32%</td><td align="left">43.54MiB</td><td>51.38MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1</td><td align="left">10.16%</td><td>6.14%</td><td align="left">401.6MiB</td><td>392MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-keycloak-1</td><td align="left">0.17%</td><td>0.13%</td><td align="left">476.8MiB</td><td>476.8MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-operator-1</td><td align="left">21.27%</td><td>13.91%</td><td align="left">1.214GiB</td><td>1.207GiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-cosmos-script-runner-api-1</td><td align="left">0.01%</td><td>0.01%</td><td align="left">127.4MiB</td><td>117.1MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-metrics-1</td><td align="left">0.01%</td><td>0.00%</td><td align="left">105.2MiB</td><td>83.87MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-redis-ephemeral-1</td><td align="left">4.05%</td><td>1.89%</td><td align="left">46.22MiB</td><td>69.84MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-redis-1</td><td align="left">1.56%</td><td>0.72%</td><td align="left">12.82MiB</td><td>9.484MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-minio-1</td><td align="left">0.01%</td><td>0.00%</td><td align="left">152.9MiB</td><td>169.8MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-postgresql-1</td><td align="left">0.00%</td><td>0.39%</td><td align="left">37.33MiB</td><td>41.02MiB</td></tr></tbody></table><ul><li>memory profiles are similar between the two platforms</li><li>redis-ephemeral isn&#x27;t using much memory on the base Demo with its small packets</li></ul><p>At this point the COSMOS <a href="https://github.com/OpenC3/openc3-cosmos-load-sim" target="_blank" rel="noopener noreferrer">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><table><thead><tr><th align="left">Platform</th><th align="left">Core CPU %</th><th align="left">RAM</th></tr></thead><tbody><tr><td align="left">Windows 11 Pro</td><td align="left">40% 35% 39% 42%</td><td align="left">4.64G / 7.7G</td></tr><tr><td align="left">Headless Ubuntu 22</td><td align="left">17% 20% 16% 18%</td><td align="left">3.74G / 15.6G</td></tr></tbody></table><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><p><code>docker stats</code> was also run to show individual container cpu and memory usage:</p><table><thead><tr><th align="left">NAME</th><th align="left">Windows CPU %</th><th>Ubuntu CPU %</th><th align="left">Windows MEM</th><th>Ubuntu MEM</th></tr></thead><tbody><tr><td align="left">cosmos-enterprise-project-openc3-traefik-1</td><td align="left">4.09%</td><td>0.01%</td><td align="left">44.3MiB</td><td>0.34MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1</td><td align="left">17.78%</td><td>6.18%</td><td align="left">407.9MiB</td><td>405.8MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-keycloak-1</td><td align="left">0.20%</td><td>0.12%</td><td align="left">480.2MiB</td><td>481.5MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-operator-1</td><td align="left">221.15%</td><td>66.72%</td><td align="left">1.6GiB</td><td>1.512GiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-cosmos-script-runner-api-1</td><td align="left">0.01%</td><td>0.01%</td><td align="left">136.6MiB</td><td>127.5MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-metrics-1</td><td align="left">0.01%</td><td>0.01%</td><td align="left">106.3MiB</td><td>84.87MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-redis-ephemeral-1</td><td align="left">19.63%</td><td>3.91%</td><td align="left">333.8MiB</td><td>370.8MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-redis-1</td><td align="left">7.42%</td><td>1.49%</td><td align="left">15.87MiB</td><td>11.81MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-minio-1</td><td align="left">0.10%</td><td>0.02%</td><td align="left">167.8MiB</td><td>179.2MiB</td></tr><tr><td align="left">cosmos-enterprise-project-openc3-postgresql-1</td><td align="left">0.00%</td><td>0.00%</td><td align="left">35.4MiB</td><td>42.93MiB</td></tr></tbody></table><ul><li>memory profiles are similar between the two platforms</li><li>redis-ephemeral is now using much more RAM as it is storing the large LoadSim packets</li><li>Windows is using much more CPU power running the operator, cmd-tlm, and redis</li></ul><h1>Conclusions</h1><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><p><a href="https://openc3.com/enterprise" target="_blank" rel="noopener noreferrer">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" target="_blank" rel="noopener noreferrer">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><hr><div class="footnotes"><hr><ol><li id="fn-1"><p>Full specs of the Windows Platform:</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">Windows 11 Pro</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Docker Desktop 4.22.0</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">WSL version: 1.2.5.0</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Kernel version: 5.15.90.1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">WSLg version: 1.0.51</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">MSRDC version: 1.2.3770</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Direct3D version: 1.608.2-61064218</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Windows version: 10.0.22621.2134</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p><a href="#fnref-1" class="footnote-backref">↩</a></p></li></ol></div></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/performance.md" target="_blank" rel="noreferrer noopener" 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/docs/docs/guides/monitoring"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Monitoring</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/guides/raspberrypi"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Raspberry Pi</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="#memory" class="table-of-contents__link toc-highlight">Memory</a></li><li><a href="#cpu" class="table-of-contents__link toc-highlight">CPU</a></li><li><a href="#performance-comparison" class="table-of-contents__link toc-highlight">Performance Comparison</a></li></ul></div></div></div></div></main></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/docs/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/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-guides/raspberrypi" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
6
+ <title data-rh="true">Raspberry Pi | 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/docs/docs/guides/raspberrypi"><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="Raspberry Pi | OpenC3 Docs"><meta data-rh="true" name="description" content="COSMOS Running on Raspberry Pi 4"><meta data-rh="true" property="og:description" content="COSMOS Running on Raspberry Pi 4"><link data-rh="true" rel="icon" href="/tools/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/guides/raspberrypi"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/raspberrypi" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/guides/raspberrypi" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <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/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></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/docs/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="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" 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 docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><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/docs/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/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" 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/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" 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/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" 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/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" 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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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/docs/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 menu__link--active" aria-current="page" tabindex="0" href="/tools/docs/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/docs/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/docs/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/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" 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/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" 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/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><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/docs/"><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/docs/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">Raspberry Pi</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>Raspberry Pi</h1></header><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="cosmos-running-on-raspberry-pi-4">COSMOS Running on Raspberry Pi 4<a href="#cosmos-running-on-raspberry-pi-4" class="hash-link" aria-label="Direct link to COSMOS Running on Raspberry Pi 4" title="Direct link to COSMOS Running on Raspberry Pi 4">​</a></h3><p>The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running.</p><p>What you&#x27;ll need:</p><ul><li>Raspberry Pi 4 board (tested with 8GB RAM)</li><li>A Pi Case but Optional</li><li>Raspbeerry Pi Power Supply</li><li>32GB or Larger SD Card - Also faster the better</li><li>A Laptop with a way to write SD Cards</li></ul><p>Let&#x27;s get started!</p><ol><li><p>Setup 64-bit Raspian OS Lite on the SD Card</p><p>Make sure you have the Raspberry Pi Imager app from: <a href="https://www.raspberrypi.com/software/" target="_blank" rel="noopener noreferrer">https://www.raspberrypi.com/software/</a></p><ol><li>Insert the SD Card into your computer (Note this process will erase all data on the SD card!)</li><li>Open the Raspberry Pi Imager App</li><li>Click the &quot;Choose OS&quot; Button</li><li>Select &quot;Raspberry Pi OS (other)&quot;</li><li>Select &quot;Raspberry Pi OS Lite (64-bit)&quot;</li><li>Click the &quot;Choose Storage&quot; Button</li><li>Select Your SD Card</li><li>Click the Gear Icon</li><li>If prompted if you would like to prefill the Wifi information, select OK</li><li>Click all the checkboxes, except for &quot;Enable Telemetry&quot;</li><li>Set the hostname to: cosmos.local</li><li>You can either use Password auth, or public-key only if your computer is already setup for passwordless SSH</li><li>Set the username and password. The default username is pi, you should also set a password to make the system secure</li><li>Fill in your Wifi info, and set the country appropriately (ie. US)</li><li>Set the correct time zone</li><li>Click &quot;Save&quot; when everything is filled out</li><li>Click the &quot;Write&quot; button, Yes to Are You Sure, and Wait for it to complete</li></ol></li><li><p>Make sure the Raspberry Pi is NOT powered on</p></li><li><p>Remove the SD Card from your computer and insert into the Raspberry Pi</p></li><li><p>Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot</p></li><li><p>SSH to your raspberry Pi</p><ol><li><p>Open a terminal window and use ssh to connect to your Pi</p><ol><li>On Mac / Linux: ssh <a href="mailto:pi@cosmos.local" target="_blank" rel="noopener noreferrer">pi@cosmos.local</a></li><li>On Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well.</li></ol></li></ol></li><li><p>From SSH, Enter the following commands</p></li></ol><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> sysctl -w vm.max_map_count</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">262144</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> sysctl -w vm.overcommit_memory</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">apt</span><span class="token plain"> update</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">apt</span><span class="token plain"> upgrade</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">apt</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">install</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">git</span><span class="token plain"> -y</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -fsSL https://get.docker.com -o get-docker.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sh</span><span class="token plain"> get-docker.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">usermod</span><span class="token plain"> -aG </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> </span><span class="token environment constant" style="color:rgb(130, 170, 255)">$USER</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> newgrp </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">apt-get</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">install</span><span class="token plain"> libffi-dev libssl-dev python3-dev python3 python3-pip -y</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> pip3 </span><span class="token function" style="color:rgb(130, 170, 255)">install</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">docker-compose</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">git</span><span class="token plain"> clone https://github.com/OpenC3/cosmos-project.git cosmos</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> cosmos</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> </span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Edit compose.yaml and remove 127.0.0.1 from the ports section of the openc3-traefik service</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"> ./openc3.sh run</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" 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 viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ol><li><p>After about 2 minutes, open a web browswer on your computer, and goto: <a href="http://cosmos.local:2900" target="_blank" rel="noopener noreferrer">http://cosmos.local:2900</a></p></li><li><p>Congratulations! You now have COSMOS running on a Raspberry Pi!</p></li></ol></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/raspberrypi.md" target="_blank" rel="noreferrer noopener" 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/docs/docs/guides/performance"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Performance</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/guides/script-writing"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Script Writing Guide</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="#cosmos-running-on-raspberry-pi-4" class="table-of-contents__link toc-highlight">COSMOS Running on Raspberry Pi 4</a></li></ul></div></div></div></div></main></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/docs/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/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>