diff --git a/activemq/assets/dashboards/artemis_dashboard.json b/activemq/assets/dashboards/artemis_dashboard.json new file mode 100644 index 0000000000000..115269bfb2826 --- /dev/null +++ b/activemq/assets/dashboards/artemis_dashboard.json @@ -0,0 +1,1037 @@ +{ + "author_name": "Datadog", + "description": "Tailored for the Artemis version of ActiveMQ, this dashboard shows trends in the number of messages enqueued, dequeued, and dispatched so you can understand the status and throughput of your message brokers. \n\nFor more information about ActiveMQ (not Artemis specific):\n\n- [ActiveMQ architecture and key metrics](https://www.datadoghq.com/blog/activemq-architecture-and-metrics/)\n\n- [Built-in and open source tools for collecting ActiveMQ metrics](https://www.datadoghq.com/blog/collecting-activemq-metrics/)\n\n- [Monitoring ActiveMQ with Datadog](https://www.datadoghq.com/blog/monitoring-activemq-with-datadog/)\n\n- [ActiveMQ integration documentation](https://docs.datadoghq.com/integrations/activemq/)\n\nClone this template dashboard to make changes and add your own graph widgets. (cloned)", + "layout_type": "free", + "template_variables": [], + "title": "ActiveMQ Artemis - Overview", + "widgets": [ + { + "definition": { + "sizing": "center", + "type": "image", + "url": "/static/images/logos/activemq_large.svg" + }, + "id": 0, + "layout": { + "height": 12, + "width": 20, + "x": 0, + "y": 0 + } + }, + { + "definition": { + "background_color": "pink", + "content": "Broker", + "font_size": "18", + "show_tick": false, + "text_align": "center", + "tick_edge": "right", + "tick_pos": "50%", + "type": "note" + }, + "id": 1, + "layout": { + "height": 5, + "width": 75, + "x": 22, + "y": 0 + } + }, + { + "definition": { + "background_color": "blue", + "content": "Queue Statistics", + "font_size": "18", + "show_tick": false, + "text_align": "center", + "tick_edge": "right", + "tick_pos": "50%", + "type": "note" + }, + "id": 2, + "layout": { + "height": 5, + "width": 75, + "x": 22, + "y": 31 + } + }, + { + "definition": { + "precision": 0, + "requests": [ + { + "aggregator": "sum", + "q": "sum:activemq.artemis.total_consumer_count{*}.as_count()" + } + ], + "time": { + "live_span": "5m" + }, + "title": "Consumers", + "title_align": "left", + "title_size": "16", + "type": "query_value" + }, + "id": 4, + "layout": { + "height": 11, + "width": 15, + "x": 22, + "y": 18 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "line", + "q": "avg:activemq.artemis.address_memory_usage{*} by {broker}", + "style": { + "palette": "cool" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Broker memory usage", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 5, + "layout": { + "height": 11, + "width": 29, + "x": 68, + "y": 6 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "on_right_yaxis": false, + "q": "avg:activemq.artemis.queue.messages_expired{*} by {queue}", + "style": { + "line_type": "solid", + "line_width": "normal", + "palette": "dog_classic" + } + } + ], + "show_legend": false, + "title": "Messages expired", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 6, + "layout": { + "height": 14, + "width": 37, + "x": 22, + "y": 67 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "sum:activemq.artemis.queue.messages_acknowledged{*} by {queue}", + "style": { + "palette": "purple" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Messages acknowledged", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 7, + "layout": { + "height": 14, + "width": 37, + "x": 60, + "y": 52 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "avg:activemq.artemis.queue.messages_killed{*} by {queue}", + "style": { + "palette": "purple" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Messages killed", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 8, + "layout": { + "height": 14, + "width": 37, + "x": 60, + "y": 67 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "sum:activemq.artemis.queue.messages_added{*} by {queue}", + "style": { + "palette": "green" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Messages added", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 9, + "layout": { + "height": 14, + "width": 37, + "x": 22, + "y": 52 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "sum:activemq.artemis.queue.message_count{*} by {queue}.as_count()", + "style": { + "palette": "orange" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Message count", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 11, + "layout": { + "height": 14, + "width": 37, + "x": 22, + "y": 37 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "area", + "q": "per_second(sum:activemq.artemis.queue.consumer_count{*} by {queue})", + "style": { + "palette": "cool" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Consumer count", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 12, + "layout": { + "height": 14, + "width": 37, + "x": 60, + "y": 37 + } + }, + { + "definition": { + "check": "activemq.can_connect", + "group_by": [], + "grouping": "cluster", + "tags": [ + "*" + ], + "time": { + "live_span": "10m" + }, + "title": "Broker Status", + "title_align": "center", + "title_size": "16", + "type": "check_status" + }, + "id": 14, + "layout": { + "height": 13, + "width": 20, + "x": 0, + "y": 13 + } + }, + { + "definition": { + "requests": [ + { + "q": "top(avg:activemq.artemis.queue.consumer_count{*} by {queue}, 10, 'sum', 'desc')" + } + ], + "time": { + "live_span": "1h" + }, + "title": "Consumer count by queue", + "title_align": "left", + "title_size": "16", + "type": "toplist" + }, + "id": 15, + "layout": { + "height": 14, + "width": 42, + "x": 156, + "y": 6 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "avg:activemq.artemis.address.unrouted_messages{*} by {address}", + "style": { + "palette": "purple" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Unrouted messages by address", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 16, + "layout": { + "height": 14, + "width": 42, + "x": 156, + "y": 21 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "avg:activemq.artemis.address.routed_messages{*} by {address}", + "style": { + "palette": "green" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Routed messages by address", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 17, + "layout": { + "height": 14, + "width": 42, + "x": 113, + "y": 21 + } + }, + { + "definition": { + "precision": 0, + "requests": [ + { + "aggregator": "avg", + "q": "count_not_null(avg:activemq.artemis.address.size{*} by {address})" + } + ], + "time": { + "live_span": "1h" + }, + "title": "Number of addresses", + "title_align": "left", + "title_size": "16", + "type": "query_value" + }, + "id": 18, + "layout": { + "height": 14, + "width": 20, + "x": 113, + "y": 6 + } + }, + { + "definition": { + "precision": 0, + "requests": [ + { + "aggregator": "sum", + "q": "sum:activemq.artemis.queue.consumer_count{*}" + } + ], + "time": { + "live_span": "1h" + }, + "title": "Avg consumers per queue", + "title_align": "left", + "title_size": "16", + "type": "query_value" + }, + "id": 19, + "layout": { + "height": 14, + "width": 20, + "x": 135, + "y": 6 + } + }, + { + "definition": { + "background_color": "blue", + "content": "Addresses", + "font_size": "18", + "show_tick": false, + "text_align": "center", + "tick_edge": "right", + "tick_pos": "50%", + "type": "note" + }, + "id": 20, + "layout": { + "height": 5, + "width": 85, + "x": 113, + "y": 0 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "sum:activemq.artemis.address.size{*} by {address}", + "style": { + "palette": "warm" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Address size", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 22, + "layout": { + "height": 14, + "width": 42, + "x": 113, + "y": 36 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "avg:activemq.artemis.address.number_of_messages{*} by {address}", + "style": { + "palette": "purple" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Number of messages", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 23, + "layout": { + "height": 14, + "width": 42, + "x": 156, + "y": 36 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "avg:activemq.artemis.address.bytes_per_page{*} by {address}", + "style": { + "palette": "green" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Bytes per page", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 25, + "layout": { + "height": 14, + "width": 42, + "x": 156, + "y": 51 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "q": "sum:activemq.artemis.address.pages_count{*} by {address}", + "style": { + "palette": "cool" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Pages count", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 27, + "layout": { + "height": 14, + "width": 42, + "x": 113, + "y": 51 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [ + { + "display_type": "warning dashed", + "label": "\u00a080%\u00a0", + "value": "y = 0.8" + } + ], + "requests": [ + { + "display_type": "line", + "on_right_yaxis": false, + "q": "avg:activemq.artemis.disk_store_usage_pct{*} by {broker}", + "style": { + "palette": "cool" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Broker disk storage (%)", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "max": "1", + "min": "0" + } + }, + "id": 1643811229147629, + "layout": { + "height": 11, + "width": 29, + "x": 68, + "y": 18 + } + }, + { + "definition": { + "precision": 0, + "requests": [ + { + "aggregator": "sum", + "q": "sum:activemq.artemis.total_connection_count{*}.as_count()" + } + ], + "time": { + "live_span": "5m" + }, + "title": "Connections", + "title_align": "left", + "title_size": "16", + "type": "query_value" + }, + "id": 2630834927363725, + "layout": { + "height": 11, + "width": 15, + "x": 22, + "y": 6 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "on_right_yaxis": false, + "q": "sum:activemq.artemis.total_connection_count{*} by {broker}", + "style": { + "palette": "cool" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Total connection count", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 3716876411802853, + "layout": { + "height": 11, + "width": 29, + "x": 38, + "y": 6 + } + }, + { + "definition": { + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "legend_layout": "vertical", + "legend_size": "0", + "markers": [], + "requests": [ + { + "display_type": "bars", + "on_right_yaxis": false, + "q": "sum:activemq.artemis.total_message_count{*} by {broker}", + "style": { + "palette": "cool" + } + } + ], + "show_legend": false, + "time": { + "live_span": "1h" + }, + "title": "Total message count", + "title_align": "left", + "title_size": "16", + "type": "timeseries", + "yaxis": { + "include_zero": true, + "label": "", + "max": "auto", + "min": "auto", + "scale": "linear" + } + }, + "id": 4642501605003484, + "layout": { + "height": 11, + "width": 29, + "x": 38, + "y": 18 + } + }, + { + "definition": { + "background_color": "white", + "content": "Tailored for the Artemis version of ActiveMQ, this dashboard shows trends in the number of messages enqueued, dequeued, and dispatched so you can understand the status and throughput of your message brokers.\n\nFor more information about ActiveMQ:\n\n- [ActiveMQ integration documentation](https://docs.datadoghq.com/integrations/activemq/)\n\nClone this template dashboard to make changes and add your own graph widgets.", + "font_size": "14", + "has_padding": false, + "show_tick": false, + "text_align": "left", + "tick_edge": "left", + "tick_pos": "50%", + "type": "note", + "vertical_align": "top" + }, + "id": 6371811986409654, + "layout": { + "height": 28, + "width": 20, + "x": 0, + "y": 27 + } + }, + { + "definition": { + "background_color": "gray", + "content": "Overall status of the brokers and relevant health metrics.", + "font_size": "14", + "has_padding": true, + "show_tick": true, + "text_align": "left", + "tick_edge": "left", + "tick_pos": "50%", + "type": "note", + "vertical_align": "center" + }, + "id": 1719842348403299, + "layout": { + "height": 29, + "width": 14, + "x": 98, + "y": 0 + } + }, + { + "definition": { + "background_color": "gray", + "content": "Track the performance of all queues across address spaces. Monitor the graphs for unexpected jumps for specific queues to help identify newly arising issues.", + "font_size": "14", + "has_padding": true, + "show_tick": true, + "text_align": "center", + "tick_edge": "left", + "tick_pos": "50%", + "type": "note", + "vertical_align": "center" + }, + "id": 776777203009002, + "layout": { + "height": 50, + "width": 14, + "x": 98, + "y": 31 + } + }, + { + "definition": { + "background_color": "gray", + "content": "Monitor the active Addresses, tracking key performance metrics like message routing and address size.", + "font_size": "14", + "has_padding": true, + "show_tick": true, + "text_align": "center", + "tick_edge": "top", + "tick_pos": "50%", + "type": "note", + "vertical_align": "center" + }, + "id": 3793693169467719, + "layout": { + "height": 6, + "width": 85, + "x": 113, + "y": 66 + } + } + ] +} \ No newline at end of file diff --git a/activemq/manifest.json b/activemq/manifest.json index 486377fe0f07a..a221ad5130dba 100644 --- a/activemq/manifest.json +++ b/activemq/manifest.json @@ -36,7 +36,8 @@ "[ActiveMQ Artemis] High disk store usage": "assets/recommended_monitors/activemq_artemis_high_disk_store.json" }, "dashboards": { - "activemq": "assets/dashboards/activemq_dashboard.json" + "activemq": "assets/dashboards/activemq_dashboard.json", + "artemis": "assets/dashboards/artemis_dashboard.json" }, "service_checks": "assets/service_checks.json", "logs": {