{"id":1784,"date":"2010-01-05T10:55:14","date_gmt":"2010-01-05T08:55:14","guid":{"rendered":"http:\/\/code.openark.org\/blog\/?p=1784"},"modified":"2010-01-05T11:06:01","modified_gmt":"2010-01-05T09:06:01","slug":"mycheckpoint-rev-76-os-monitoring-auto-deploy-brief-html-and-247-reports","status":"publish","type":"post","link":"https:\/\/code.openark.org\/blog\/mysql\/mycheckpoint-rev-76-os-monitoring-auto-deploy-brief-html-and-247-reports","title":{"rendered":"mycheckpoint rev. 76: OS monitoring, auto deploy, brief HTML and 24\/7 reports"},"content":{"rendered":"<p>Revision <strong>76<\/strong> of <a href=\"http:\/\/code.openark.org\/forge\/mycheckpoint\">mycheckpoint<\/a> comes with quite a few improvements, including:<\/p>\n<ul>\n<li>OS monitoring (CPU, load average, memory)<\/li>\n<li>Auto-deploy<\/li>\n<li>Improved charting<\/li>\n<li>Brief HTML reports<\/li>\n<li>24\/7 charts<\/li>\n<\/ul>\n<h4>OS Monitoring<\/h4>\n<p>When monitoring the local machine, <em>mycheckpoint<\/em> now monitors CPU utilization, load average, memory and swap space.<\/p>\n<p>This only applies to the Linux operating system; there is currently no plan to work this out for other operating systems.<\/p>\n<p>Examples:<\/p>\n<blockquote>\n<pre>mysql&gt; SELECT <strong>os_cpu_utilization_percent<\/strong> FROM sv_report_chart_sample;\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1794 alignnone\" title=\"mycheckpoint-chart-cpu-sample\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2009\/12\/mycheckpoint-chart-cpu-sample.png\" alt=\"mycheckpoint-chart-cpu-sample\" width=\"400\" height=\"200\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2009\/12\/mycheckpoint-chart-cpu-sample.png 400w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2009\/12\/mycheckpoint-chart-cpu-sample-300x150.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/pre>\n<\/blockquote>\n<blockquote>\n<pre>mysql&gt; SELECT ts, <strong>os_loadavg<\/strong> FROM mycheckpoint.sv_report_sample;\r\n+---------------------+------------+\r\n| 2009-12-27 11:45:01 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1.78 |\r\n| 2009-12-27 11:50:01 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2.48 |\r\n| 2009-12-27 11:55:01 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2.35 |\r\n...\r\n+---------------------+------------+<\/pre>\n<\/blockquote>\n<blockquote>\n<pre>mysql&gt; SELECT report FROM mycheckpoint.sv_report_human_sample ORDER BY id DESC LIMIT 1 \\G\r\n*************************** 1. row ***************************\r\nreport:\r\nReport period: 2009-12-27 13:20:01 to 2009-12-27 13:25:01. Period is 5 minutes (0.08 hours)\r\nUptime: 100.0% (Up: 334 days, 06:37:28 hours)\r\n\r\n<strong>OS:\r\n Load average: 1.67\r\n CPU utilization: 25.2%\r\n Memory: 7486.4MB used out of 7985.6484MB (Active: 6685.8906MB)\r\n Swap: 3835.2MB used out of 8189.3750MB<\/strong>\r\n...<\/pre>\n<\/blockquote>\n<h4>Auto-deploy<\/h4>\n<p><em>mycheckpoint<\/em> now has a version recognition mechanism. There is no need to call <em>mycheckpoint<\/em> with the &#8220;<strong>deploy<\/strong>&#8221; argument on first install or after upgrade. <em>mycheckpoint<\/em> will recognize a change of version and will auto-deploy before moving on to monitoring your system.<\/p>\n<p><!--more-->It is still possible, though, to use &#8220;<strong>deploy<\/strong>&#8220;, in case you just want to make sure an upgrade takes place, without issuing a monitoring action.<\/p>\n<h4>Improved charting<\/h4>\n<p>Further improvements and bug fixes made to the Google charts, including the implementation of missing values charting.<\/p>\n<h4>Brief HTML report<\/h4>\n<p>In contrast with the full blown HTML report (see <a href=\"http:\/\/code.openark.org\/forge\/wp-content\/uploads\/2009\/12\/mycheckpoint_report-72.html\">sample<\/a>), which presents hourly\/daily\/weekly reports for the many metrics, the new brief report only presents with a few hourly based charts. These include InnoDB performance, DML, OS metrics, and replication status.<\/p>\n<p>To get a brief HTML report, issue:<\/p>\n<blockquote>\n<pre>mysql&gt; SELECT html FROM sv_report_html_brief;\r\n\r\n<a href=\"http:\/\/code.openark.org\/forge\/wp-content\/uploads\/2009\/12\/mycheckpoint-brief-report.html\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1839\" title=\"mycehckpoint-report-html-brief-screenshot-small\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2010\/01\/mycehckpoint-report-html-brief-screenshot-small2.png\" alt=\"\" width=\"611\" height=\"409\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2010\/01\/mycehckpoint-report-html-brief-screenshot-small2.png 611w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2010\/01\/mycehckpoint-report-html-brief-screenshot-small2-300x200.png 300w\" sizes=\"auto, (max-width: 611px) 100vw, 611px\" \/><\/a>\r\n<\/pre>\n<\/blockquote>\n<p>See <a href=\"http:\/\/code.openark.org\/forge\/wp-content\/uploads\/2009\/12\/mycheckpoint-brief-report.html\">sample brief HTML report<\/a>.<\/p>\n<h4>24\/7 charts<\/h4>\n<p>24\/7 charts present the various metrics on a 24&#215;7 matrix, which allows for diagnostics of usage throughout the day and week. For example, it makes it easier to see how things slow down on Saturday\/Sunday; how load increases on 10:00am every day, etc.<\/p>\n<p>24\/7 charts are provided by the <strong>sv_report_chart_24_7<\/strong> view.<\/p>\n<blockquote>\n<pre>DESC sv_report_chart_24_7;\r\n+---------------------------------------+----------+------+-----+---------+-------+\r\n| Field\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | Type\u00a0\u00a0\u00a0\u00a0 | Null | Key | Default | Extra |\r\n+---------------------------------------+----------+------+-----+---------+-------+\r\n| innodb_read_hit_percent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| innodb_buffer_pool_reads_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| innodb_buffer_pool_pages_flushed_psec | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| innodb_os_log_written_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| innodb_row_lock_waits_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| mega_bytes_sent_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| mega_bytes_received_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| key_read_hit_percent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| key_write_hit_percent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| com_select_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| com_insert_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| com_delete_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| com_update_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| com_replace_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| com_set_option_percent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| com_commit_percent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| slow_queries_percent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| select_scan_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| select_full_join_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| select_range_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| table_locks_waited_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| opened_tables_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| created_tmp_tables_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| created_tmp_disk_tables_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| connections_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| aborted_connects_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| threads_created_psec\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| seconds_behind_master\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| os_loadavg\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| os_cpu_utilization_percent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| os_mem_used_mb\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| os_mem_active_mb\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n| os_swap_used_mb\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | longblob | YES\u00a0 |\u00a0\u00a0\u00a0\u00a0 | NULL\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\r\n+---------------------------------------+----------+------+-----+---------+-------<\/pre>\n<\/blockquote>\n<p>Example:<\/p>\n<blockquote>\n<pre>mysql&gt; SELECT com_select_psec, innodb_buffer_pool_pages_flushed_psec FROM mycheckpoint.<strong>sv_report_chart_24_7<\/strong> \\G\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1798\" title=\"mycheckpoint-chart-247-sample\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2009\/12\/mycheckpoint-chart-247-sample1.png\" alt=\"mycheckpoint-chart-247-sample\" width=\"400\" height=\"200\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2009\/12\/mycheckpoint-chart-247-sample1.png 400w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2009\/12\/mycheckpoint-chart-247-sample1-300x150.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/>\r\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1830\" title=\"mycheckpoint-24-7-chart-sample2\" src=\"http:\/\/code.openark.org\/blog\/wp-content\/uploads\/2010\/01\/mycheckpoint-24-7-chart-sample2.png\" alt=\"\" width=\"400\" height=\"200\" srcset=\"https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2010\/01\/mycheckpoint-24-7-chart-sample2.png 400w, https:\/\/code.openark.org\/blog\/wp-content\/uploads\/2010\/01\/mycheckpoint-24-7-chart-sample2-300x150.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/>\r\n<\/pre>\n<\/blockquote>\n<h4>Trying mycheckpoint<\/h4>\n<ul>\n<li>Get <em>mycheckpoint<\/em> from the <a href=\"https:\/\/code.google.com\/p\/mycheckpoint\/\">mycheckpoint Google Code project page<\/a>.<\/li>\n<li>Read the <a href=\"http:\/\/code.openark.org\/forge\/mycheckpoint\/documentation\">documentation<\/a>.<\/li>\n<li>Report <a href=\"https:\/\/code.google.com\/p\/mycheckpoint\/issues\/list\">issues<\/a>!<\/li>\n<\/ul>\n<h4>Future plans<\/h4>\n<p>I haven&#8217;t got any major immediate issues; planning on user customization of charts and HTML reports. Considering thresholds and alerting for the future.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Revision 76 of mycheckpoint comes with quite a few improvements, including: OS monitoring (CPU, load average, memory) Auto-deploy Improved charting Brief HTML reports 24\/7 charts OS Monitoring When monitoring the local machine, mycheckpoint now monitors CPU utilization, load average, memory and swap space. This only applies to the Linux operating system; there is currently no [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[5],"tags":[41,119,46,49,31,50],"class_list":["post-1784","post","type-post","status-publish","format-standard","hentry","category-mysql","tag-graphs","tag-linux","tag-monitoring","tag-mycheckpoint","tag-python","tag-scripts"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2bZZp-sM","_links":{"self":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/1784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/comments?post=1784"}],"version-history":[{"count":51,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/1784\/revisions"}],"predecessor-version":[{"id":1875,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/posts\/1784\/revisions\/1875"}],"wp:attachment":[{"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/media?parent=1784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/categories?post=1784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code.openark.org\/blog\/wp-json\/wp\/v2\/tags?post=1784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}