{"id":11537,"date":"2019-03-14T11:41:22","date_gmt":"2019-03-14T11:41:22","guid":{"rendered":"http:\/\/www.appservgrid.com\/paw92\/?p=11537"},"modified":"2019-03-14T11:41:22","modified_gmt":"2019-03-14T11:41:22","slug":"hegemon-a-modular-system-monitoring-tool-for-linux","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/14\/hegemon-a-modular-system-monitoring-tool-for-linux\/","title":{"rendered":"Hegemon \u2013 A Modular System Monitoring Tool for Linux"},"content":{"rendered":"<p>There are all kinds of\u00a0<a href=\"https:\/\/www.tecmint.com\/command-line-tools-to-monitor-linux-performance\/\" target=\"_blank\" rel=\"noopener\">Linux system monitoring tools<\/a>\u00a0such as\u00a0<a href=\"https:\/\/www.tecmint.com\/12-top-command-examples-in-linux\/\" target=\"_blank\" rel=\"noopener\">top<\/a>,\u00a0<a href=\"https:\/\/www.tecmint.com\/install-htop-linux-process-monitoring-for-rhel-centos-fedora\/\" target=\"_blank\" rel=\"noopener\">htop<\/a>,\u00a0<a href=\"https:\/\/www.tecmint.com\/how-to-install-atop-to-monitor-logging-activity-of-linux-system-processes\/\" target=\"_blank\" rel=\"noopener\">atop<\/a>\u00a0and many more that provide different output of system data such as resource utilization, running processes, CPU temperature and others.<\/p>\n<p>In this article, we are going to review a modular monitoring tool called\u00a0<strong>Hegemon<\/strong>. It\u2019s an open source project written in\u00a0<strong>Rust<\/strong>, which works are still in progress.<\/p>\n<p><strong>Hegemon<\/strong>\u00a0includes the following features:<\/p>\n<ul>\n<li>Monitor CPU, memory and swap usage<\/li>\n<li>Monitor system temperatures and fan speeds<\/li>\n<li>Adjustable update interval<\/li>\n<li>Unit tests<\/li>\n<li>Expand data stream for more detailed graphic visualization<\/li>\n<\/ul>\n<h3>How to Install Hegemon in Linux<\/h3>\n<p><strong>Hegemon<\/strong>\u00a0is currently available for Linux only and requires\u00a0<strong>Rust<\/strong>\u00a0and the development files for\u00a0<strong>libsensors<\/strong>. The latter can be found in the default package repository and can be installed using the following commands.<\/p>\n<pre># yum install lm_sensors-devel   [On CentOS\/RHEL] \r\n# dnf install lm_sensors-devel   [On Fedora 22+]\r\n# apt install libsensors4-dev    [On Debian\/Ubuntu]<\/pre>\n<p>Detailed instructions how to install\u00a0<strong>Rust<\/strong>\u00a0programming language on your system are provided in the following article.<\/p>\n<ol>\n<li><a href=\"https:\/\/www.tecmint.com\/install-rust-programming-language-in-linux\/\" target=\"_blank\" rel=\"noopener\">How to Install Rust Programming Language in Linux<\/a><\/li>\n<\/ol>\n<p>Once you have install\u00a0<strong>Rust<\/strong>, you can proceed with installing\u00a0<strong>Hegemon<\/strong>\u00a0by using Rust\u2019s package manager called\u00a0<strong>cargo<\/strong>.<\/p>\n<pre># cargo install hegemon\r\n<\/pre>\n<p>When the installation is complete run\u00a0<strong>hegemon<\/strong>, by simply issuing the following command.<\/p>\n<pre># hegemon\r\n<\/pre>\n<p>The\u00a0<strong>hegemon<\/strong>\u00a0graph will appear. You will have to give it a few seconds to collect data and update its information.<\/p>\n<div id=\"attachment_31011\" class=\"wp-caption aligncenter\">\n<p><a href=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2018\/11\/Hegemon-Monitoring-Tool.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-31011\" src=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2018\/11\/Hegemon-Monitoring-Tool.gif\" sizes=\"auto, (max-width: 812px) 100vw, 812px\" srcset=\"https:\/\/www.tecmint.com\/wp-content\/uploads\/2018\/11\/Hegemon-Monitoring-Tool.gif 812w, https:\/\/www.tecmint.com\/wp-content\/uploads\/2018\/11\/Hegemon-Monitoring-Tool-768x538.gif 768w\" alt=\"Hegemon Monitoring Tool\" width=\"812\" height=\"569\" data-lazy-loaded=\"true\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Hegemon Monitoring Tool<\/p>\n<\/div>\n<p>You will see the following sections:<\/p>\n<ul>\n<li><strong>CPU<\/strong>\u00a0\u2013 Shows the CPU utilization<\/li>\n<li><strong>Core Num<\/strong>\u00a0\u2013 Utilization of the CPU core<\/li>\n<li><strong>Mem<\/strong>\u00a0\u2013 memory utilization<\/li>\n<li><strong>Swap<\/strong>\u00a0\u2013 swap memory usage<\/li>\n<\/ul>\n<p>You can expand each section by pressing\u00a0<strong>\u201cSpace\u201d<\/strong>\u00a0button on your keyboard. This will provide a little more detailed information about the utilization of the resource you have selected.<\/p>\n<p>If you wish to increase or decrease the update interval, you can use the\u00a0<code>+<\/code>\u00a0and\u00a0<code>-<\/code>\u00a0buttons on your keyboard.<\/p>\n<h3>How to Add New Streams<\/h3>\n<p><strong>Hegemon<\/strong>\u00a0uses data streams to visualize its data. Their behavior is defined in the stream trait\u00a0<a href=\"https:\/\/github.com\/p-e-w\/hegemon\/blob\/master\/src\/stream.rs\" target=\"_blank\" rel=\"nofollow noopener\">here<\/a>. Streams only need to provide basic data such as name, description and a method for retrieving numeric data value.<\/p>\n<p><strong>Hegemon<\/strong>\u00a0will manage the rest \u2013 updating the information, rendering layout and computation stats. To learn more how to create data streams and learn how to create your own, you would need to dive deeper into the Hegemon project on git. A good starting point would be the project\u00a0<a href=\"https:\/\/github.com\/p-e-w\/hegemon\/blob\/master\/README.md\" target=\"_blank\" rel=\"nofollow noopener\">readme file<\/a>.<\/p>\n<h5>Conclusion<\/h5>\n<p><strong>Hegemon<\/strong>\u00a0is a simple, easy to use tool to help you collect quick stats about your system status. While it\u2019s functionality is rather basic compared to other monitoring tools, it does its job very well and is a reliable source for collecting system information. Future releases are expected to have network monitoring support, which may come quite handy.<\/p>\n<p><a href=\"https:\/\/www.tecmint.com\/hegemon-system-monitoring-tool-for-linux\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are all kinds of\u00a0Linux system monitoring tools\u00a0such as\u00a0top,\u00a0htop,\u00a0atop\u00a0and many more that provide different output of system data such as resource utilization, running processes, CPU temperature and others. In this article, we are going to review a modular monitoring tool called\u00a0Hegemon. It\u2019s an open source project written in\u00a0Rust, which works are still in progress. Hegemon\u00a0includes &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw92\/index.php\/2019\/03\/14\/hegemon-a-modular-system-monitoring-tool-for-linux\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Hegemon \u2013 A Modular System Monitoring Tool for Linux&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11537","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/11537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/comments?post=11537"}],"version-history":[{"count":1,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/11537\/revisions"}],"predecessor-version":[{"id":11538,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/posts\/11537\/revisions\/11538"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/media?parent=11537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/categories?post=11537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw92\/index.php\/wp-json\/wp\/v2\/tags?post=11537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}