/* Copyright (c) Richard Wall * See LICENSE for details. * * Some example recipes for Collectd RRD data - you *will* need to modify this * based on the RRD data available on your system. */ define(['jarmon'], function(jarmon) { var srv = 'https://winston.parabola.nu/collectd/winston.parabola.nu/' var tabRecipes = [ ['Overview', ['load', 'memory', 'swap-use', 'df-vda3', 'df-vda4', 'systemd-units', 'systemd-jobs', 'uptime']], ['CPU', ['load', 'cpu-0', 'cpu-1', 'cpu-2', 'cpu-3', 'cpu-4', 'cpu-5', 'cpu-6', 'cpu-7', 'uptime']], ['Disk', ['df-vda3', 'df-vda4', 'uptime']], ['Memory', ['memory', 'swap-use', 'swap-io', 'uptime']], ['Net', ['interface-eth0', 'interface-lo', 'interface-lvpn', 'uptime']], ['Other', ['entropy', 'uptime', 'users', 'uptime']], ]; var cpu = function(title, baseUrl) { return { title: title, data: [ [baseUrl+'cpu-steal.rrd', 0, 'Steal', 'jiffy'], [baseUrl+'cpu-interrupt.rrd', 0, 'IRQ', 'jiffy'], [baseUrl+'cpu-softirq.rrd', 0, 'SoftIRQ', 'jiffy'], [baseUrl+'cpu-system.rrd', 0, 'System', 'jiffy'], [baseUrl+'cpu-wait.rrd', 0, 'IO', 'jiffy'], [baseUrl+'cpu-user.rrd', 0, 'User', 'jiffy'], //[baseUrl+'cpu-nice.rrd', 0, 'Nice', 'jiffy'], [baseUrl+'cpu-idle.rrd', 0, 'Idle', 'jiffy'], ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, jarmon.Chart.STACKED_OPTIONS, {yaxis: {min: 0, max: 110}}) }; }; var chartRecipes = { 'cpu-0': cpu("CPU-0 Usage", srv+'cpu-0/'), 'cpu-1': cpu("CPU-1 Usage", srv+'cpu-1/'), 'cpu-2': cpu("CPU-2 Usage", srv+'cpu-2/'), 'cpu-3': cpu("CPU-3 Usage", srv+'cpu-3/'), 'cpu-4': cpu("CPU-4 Usage", srv+'cpu-4/'), 'cpu-5': cpu("CPU-5 Usage", srv+'cpu-5/'), 'cpu-6': cpu("CPU-6 Usage", srv+'cpu-6/'), 'cpu-7': cpu("CPU-7 Usage", srv+'cpu-7/'), 'df-vda3': { title: "df /dev/vda3", data: [ [srv+'df-vda3/df_complex-reserved.rrd', 0, 'Reserved', 'B'], [srv+'df-vda3/df_complex-used.rrd', 0, 'Used', 'B'], [srv+'df-vda3/df_complex-free.rrd', 0, 'Free', 'B'], ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, jarmon.Chart.STACKED_OPTIONS) }, 'df-vda4': { title: "df /dev/vda4", data: [ [srv+'df-vda4/df_complex-reserved.rrd', 0, 'Reserved', 'B'], [srv+'df-vda4/df_complex-used.rrd', 0, 'Used', 'B'], [srv+'df-vda4/df_complex-free.rrd', 0, 'Free', 'B'], ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, jarmon.Chart.STACKED_OPTIONS) }, 'entropy': { title: 'Entropy', data: [ [srv+'entropy/entropy.rrd', 0, 'Entropy', 'b'] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, {series: {lines: {fill: 0.5}}}) }, 'interface-eth0': { title: 'eth0 Throughput', data: [ [srv+'interface-eth0/if_octets.rrd', 'tx', 'Transmit', 'bit/s', function (v) { return -v*8; }], [srv+'interface-eth0/if_octets.rrd', 'rx', 'Receive', 'bit/s', function (v) { return v*8; }] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS) }, 'interface-lo': { title: 'lo Throughput', data: [ [srv+'interface-lo/if_octets.rrd', 'tx', 'Transmit', 'bit/s', function (v) { return -v*8; }], [srv+'interface-lo/if_octets.rrd', 'rx', 'Receive', 'bit/s', function (v) { return v*8; }] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS) }, 'interface-lvpn': { title: 'lvpn Throughput', data: [ [srv+'interface-lvpn/if_octets.rrd', 'tx', 'Transmit', 'bit/s', function (v) { return -v*8; }], [srv+'interface-lvpn/if_octets.rrd', 'rx', 'Receive', 'bit/s', function (v) { return v*8; }] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS) }, 'load': { title: 'Load Average', data: [ [srv+'load/load.rrd', 'shortterm', 'Short Term (1m)', ''], [srv+'load/load.rrd', 'midterm', 'Medium Term (5m)', ''], [srv+'load/load.rrd', 'longterm', 'Long Term (15m)', ''] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, {yaxis: {min: 0}}) }, 'memory': { title: 'Memory', data: [ [srv+'memory/memory-used.rrd', 0, 'Used', 'B'], [srv+'memory/memory-slab_unrecl.rrd', 0, 'Slab', 'B'], [srv+'memory/memory-slab_recl.rrd', 0, 'Slab (Recl)', 'B'], [srv+'memory/memory-cached.rrd', 0, 'Cached', 'B'], [srv+'memory/memory-buffered.rrd', 0, 'Buffered', 'B'], [srv+'memory/memory-free.rrd', 0, 'Free', 'B'] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, jarmon.Chart.STACKED_OPTIONS) }, 'swap-use': { title: 'Swap Usage', data: [ [srv+'swap/swap-used.rrd', 0, 'Used', 'B'], [srv+'swap/swap-cached.rrd', 0, 'Cached', 'B'], [srv+'swap/swap-free.rrd', 0, 'Free', 'B'] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, jarmon.Chart.STACKED_OPTIONS) }, 'swap-io': { title: 'Swap IO', data: [ // In pages unless the Swap.ReportBytes option is set [srv+'swap/swap_io-in.rrd', 0, 'In', 'page'], [srv+'swap/swap_io-out.rrd', 0, 'Out', 'page'] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS) }, 'systemd-units': { title: 'Systemd units', data: [ //[srv+'systemd/sd_units-inactive.rrd', 0, 'Inactive', ''], [srv+'systemd/sd_units-active.rrd', 0, 'Active', ''], [srv+'systemd/sd_units-activating.rrd', 0, 'Activating', ''], [srv+'systemd/sd_units-reloading.rrd', 0, 'Reloading', ''], [srv+'systemd/sd_units-deactivating.rrd', 0, 'Deactivating', ''], [srv+'systemd/sd_units-failed.rrd', 0, 'Failed', ''], ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, jarmon.Chart.STACKED_OPTIONS, {series: {lines: {zero: false}}, yaxis: {minTickSize: 1}}) }, 'systemd-jobs': { title: 'Systemd jobs', data: [ [srv+'systemd/sd_jobs-installed.rrd', 0, 'Installed', ''], [srv+'systemd/sd_jobs-queued.rrd', 0, 'Queued', ''], [srv+'systemd/sd_jobs-failed.rrd', 0, 'Failed', ''], ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, jarmon.Chart.STACKED_OPTIONS, {series: {lines: {zero: false}}, yaxis: {minTickSize: 1}}) }, 'uptime': { title: 'Uptime', data: [ [srv+'uptime/uptime.rrd', 0, 'Uptime', 'days', function(v) { return v/(60*60*24); }] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, {series: {lines: {fill: 0.5}}}) }, 'users': { title: 'Users', data: [ [srv+'users/users.rrd', 0, 'Users', 'users'] ], options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS, {series: {lines: {fill: 0.5}}}) }, }; return { name: 'winston', chartRecipes, tabRecipes }; });