diff --git a/alert-policies/openstack-controller/StateDown.yml b/alert-policies/openstack-controller/ImageStatus.yml similarity index 56% rename from alert-policies/openstack-controller/StateDown.yml rename to alert-policies/openstack-controller/ImageStatus.yml index 52f76fd753..35d10a1453 100644 --- a/alert-policies/openstack-controller/StateDown.yml +++ b/alert-policies/openstack-controller/ImageStatus.yml @@ -1,16 +1,16 @@ # Name of the alert -name: State Down(%) +name: Image Status # Description and details description: |+ - This alert is triggered when state is down for 5 minutes. + This alert is triggered when the image status is inactive for 5 minutes. # Type of alert type: STATIC # NRQL query nrql: - query: "SELECT average(`memoryFreeBytes`/`memoryTotalBytes`*100) FROM SystemSample facet entityName" + query: "SELECT count(*)FROM OSImageSample where openstack.glance.image.status != 'active'" # Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE) valueFunction: SINGLE_VALUE @@ -19,22 +19,13 @@ valueFunction: SINGLE_VALUE terms: - priority: CRITICAL # Operator used to compare against the threshold. - operator: BELOW + operator: ABOVE # Value that triggers a violation - threshold: 72 + threshold: 1 # Time in seconds; 120 - 3600 thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL - - priority: WARNING - # Operator used to compare against the threshold. - operator: BELOW - # Value that triggers a violation - threshold: 75 - # Time in seconds; 120 - 3600, must be a multiple of 60 for Baseline conditions - thresholdDuration: 300 - # How many data points must be in violation for the duration - thresholdOccurrences: ALL # Duration after which a violation automatically closes # Time in seconds; 300 - 2592000 (Default: 86400 [1 day]) diff --git a/alert-policies/openstack-controller/MemoryUsage.yml b/alert-policies/openstack-controller/MemoryUsage.yml index 2dca9e185b..ef35e853f5 100644 --- a/alert-policies/openstack-controller/MemoryUsage.yml +++ b/alert-policies/openstack-controller/MemoryUsage.yml @@ -3,7 +3,7 @@ name: Memory Usage Percent # Description and details description: |+ - This alert is triggered if the memory usage exceeds 90% for 5 minutes. + This alert is triggered when the memory usage exceeds 90% for 5 minutes # Type of alert type: STATIC diff --git a/alert-policies/openstack-controller/ServerFreeMemoryLow.yml b/alert-policies/openstack-controller/ServerFreeMemoryLow.yml index 945b0afd99..5e77e1c099 100644 --- a/alert-policies/openstack-controller/ServerFreeMemoryLow.yml +++ b/alert-policies/openstack-controller/ServerFreeMemoryLow.yml @@ -3,7 +3,7 @@ name: Server Free Memory Low(%) # Description and details description: |+ - This alert is triggered when server free memory is less than 72% for 5 minutes. + This alert is triggered when server free memory is less than 90% for 5 minutes. # Type of alert type: STATIC @@ -21,20 +21,11 @@ terms: # Operator used to compare against the threshold. operator: BELOW # Value that triggers a violation - threshold: 72 + threshold: 90 # Time in seconds; 120 - 3600 thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL - - priority: WARNING - # Operator used to compare against the threshold. - operator: BELOW - # Value that triggers a violation - threshold: 75 - # Time in seconds; 120 - 3600, must be a multiple of 60 for Baseline conditions - thresholdDuration: 300 - # How many data points must be in violation for the duration - thresholdOccurrences: ALL # Duration after which a violation automatically closes # Time in seconds; 300 - 2592000 (Default: 86400 [1 day]) diff --git a/dashboards/openstack-controller/openstack-controller.json b/dashboards/openstack-controller/openstack-controller.json index e73a1de5b7..68fe94c1e4 100644 --- a/dashboards/openstack-controller/openstack-controller.json +++ b/dashboards/openstack-controller/openstack-controller.json @@ -12,14 +12,14 @@ "column": 1, "row": 1, "width": 2, - "height": 3 + "height": 2 }, "linkedEntityGuids": null, "visualization": { "id": "viz.markdown" }, "rawConfiguration": { - "text": "![Openstack Controller](https://static.javatpoint.com/tutorial/openstack/images/openstack.png)" + "text": "![Openstack Controller](https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-images-prod/openstack-logo/OpenStack-Logo-Vertical.png)" } }, { @@ -41,7 +41,7 @@ "nrqlQueries": [ { "accountIds": [], - "query": "select count(*) from OSBlockStorageSample, OSHypervisorSample, OSLimitSample, OSNetworkSample, OSServerSample facet eventType()" + "query": "select count(*) from OSBlockStorageSample, OSHypervisorSample, OSLimitSample, OSNetworkSample, OSServerSample facet eventType() LIMIT MAX" } ], "platformOptions": { @@ -110,9 +110,9 @@ "title": "", "layout": { "column": 1, - "row": 4, + "row": 3, "width": 2, - "height": 3 + "height": 2 }, "linkedEntityGuids": null, "visualization": { @@ -123,25 +123,28 @@ } }, { - "title": "Total networks", + "title": "Networks", "layout": { "column": 3, "row": 4, - "width": 2, + "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { - "id": "viz.billboard" + "id": "viz.pie" }, "rawConfiguration": { "facet": { - "showOtherSeries": false + "showOtherSeries": true + }, + "legend": { + "enabled": true }, "nrqlQueries": [ { "accountIds": [], - "query": "select uniqueCount(`openstack.neutron.network.id`) as 'Networks' from OSNetworkSample" + "query": "select uniqueCount(`openstack.neutron.network.name`) from OSNetworkSample facet `openstack.neutron.network.name`" } ], "platformOptions": { @@ -150,20 +153,20 @@ } }, { - "title": "Networks", + "title": "Load average", "layout": { - "column": 5, + "column": 7, "row": 4, - "width": 4, + "width": 6, "height": 3 }, "linkedEntityGuids": null, "visualization": { - "id": "viz.pie" + "id": "viz.line" }, "rawConfiguration": { "facet": { - "showOtherSeries": true + "showOtherSeries": false }, "legend": { "enabled": true @@ -171,25 +174,28 @@ "nrqlQueries": [ { "accountIds": [], - "query": "select uniqueCount(`openstack.neutron.network.name`) from OSNetworkSample facet `openstack.neutron.network.name`" + "query": "select average(loadAverageOneMinute), average(loadAverageFiveMinute), average(loadAverageFifteenMinute) from SystemSample TIMESERIES" } ], "platformOptions": { "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true } } }, { - "title": "Snapshot count", + "title": "Total networks", "layout": { - "column": 9, - "row": 4, - "width": 4, - "height": 3 + "column": 1, + "row": 5, + "width": 2, + "height": 2 }, "linkedEntityGuids": null, "visualization": { - "id": "viz.bar" + "id": "viz.billboard" }, "rawConfiguration": { "facet": { @@ -198,7 +204,7 @@ "nrqlQueries": [ { "accountIds": [], - "query": "select max(`openstack.cinder.snapshots.count`) as 'Snapshots' from OSBlockStorageSample facet `openstack.project.name`" + "query": "select uniqueCount(`openstack.neutron.network.id`) as 'Networks' from OSNetworkSample" } ], "platformOptions": { @@ -240,7 +246,7 @@ } }, { - "title": "Domain", + "title": "Domains", "layout": { "column": 4, "row": 1, @@ -446,7 +452,7 @@ "column": 1, "row": 1, "width": 2, - "height": 3 + "height": 2 }, "linkedEntityGuids": null, "visualization": { @@ -473,7 +479,7 @@ "column": 3, "row": 1, "width": 2, - "height": 3 + "height": 2 }, "linkedEntityGuids": null, "visualization": { @@ -495,93 +501,78 @@ } }, { - "title": "Disk format", + "title": "Minimum RAM (MB)", "layout": { "column": 5, "row": 1, - "width": 3, + "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { - "id": "viz.table" + "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, - "nrqlQueries": [ - { - "accountIds": [], - "query": "SELECT count(*) FROM OSImageSample FACET openstack.glance.image.disk_format" - } - ], - "platformOptions": { - "ignoreTimeRange": false - } - } - }, - { - "title": "Image container format", - "layout": { - "column": 8, - "row": 1, - "width": 2, - "height": 3 - }, - "linkedEntityGuids": null, - "visualization": { - "id": "viz.bar" - }, - "rawConfiguration": { - "facet": { - "showOtherSeries": false + "legend": { + "enabled": true }, "nrqlQueries": [ { "accountIds": [], - "query": "SELECT count(*) from OSImageSample FACET openstack.glance.image.container_format" + "query": "SELECT latest(openstack.glance.image.min_ram) FROM OSImageSample TIMESERIES " } ], "platformOptions": { "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true } } }, { - "title": "Checksum", + "title": "Average image size(MB)", "layout": { - "column": 10, + "column": 9, "row": 1, - "width": 3, + "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { - "id": "viz.bar" + "id": "viz.area" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, + "legend": { + "enabled": true + }, "nrqlQueries": [ { "accountIds": [], - "query": "SELECT count(*) FROM OSImageSample FACET openstack.glance.image.checksum" + "query": "SELECT average(openstack.glance.image.size) FROM OSImageSample TIMESERIES " } ], "platformOptions": { "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" } } }, { - "title": "Average disk", + "title": "Minimum disk size needed(GB)", "layout": { "column": 1, - "row": 4, + "row": 3, "width": 4, - "height": 3 + "height": 2 }, "linkedEntityGuids": null, "visualization": { @@ -597,7 +588,7 @@ "nrqlQueries": [ { "accountIds": [], - "query": "SELECT average(openstack.glance.image.min_disk) FROM OSImageSample TIMESERIES " + "query": "SELECT latest(openstack.glance.image.min_disk) FROM OSImageSample TIMESERIES" } ], "platformOptions": { @@ -606,61 +597,52 @@ } }, { - "title": "Minimum RAM(mb)", + "title": "Image details ", "layout": { "column": 5, "row": 4, - "width": 4, + "width": 8, "height": 3 }, "linkedEntityGuids": null, "visualization": { - "id": "viz.line" + "id": "viz.table" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, - "legend": { - "enabled": true - }, "nrqlQueries": [ { "accountIds": [], - "query": "SELECT latest(openstack.glance.image.min_ram) FROM OSImageSample TIMESERIES " + "query": "SELECT uniques(openstack.glance.image.file), uniques(openstack.glance.image.id), uniques(openstack.glance.image.name),uniques(openstack.glance.image.owner_specified.openstack.object), uniques(openstack.glance.image.schema) FROM OSImageSample " } ], "platformOptions": { "ignoreTimeRange": false - }, - "yAxisLeft": { - "zero": true } } }, { - "title": "Size", + "title": "Disk format", "layout": { - "column": 9, - "row": 4, + "column": 1, + "row": 5, "width": 4, - "height": 3 + "height": 2 }, "linkedEntityGuids": null, "visualization": { - "id": "viz.area" + "id": "viz.table" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, - "legend": { - "enabled": true - }, "nrqlQueries": [ { "accountIds": [], - "query": "SELECT latest(openstack.glance.image.size) FROM OSImageSample TIMESERIES " + "query": "SELECT count(*) FROM OSImageSample FACET openstack.glance.image.disk_format" } ], "platformOptions": { @@ -786,7 +768,7 @@ } }, { - "title": "Floating IP(s)", + "title": "Identity floating IP(s)", "layout": { "column": 1, "row": 4, @@ -972,7 +954,7 @@ } }, { - "title": "Total RAM", + "title": "Total RAM(GB)", "layout": { "column": 5, "row": 1, @@ -993,7 +975,7 @@ "nrqlQueries": [ { "accountIds": [], - "query": "SELECT latest(openstack.nova.limits.maxTotalRAMSize) AS 'RAM Size',latest(openstack.nova.limits.totalRAMUsed) AS 'RAM Used' FROM OSLimitSample TIMESERIES " + "query": "SELECT latest(openstack.nova.limits.maxTotalRAMSize)/1000 AS 'RAM Size',latest(openstack.nova.limits.totalRAMUsed)/1000 AS 'RAM Used' FROM OSLimitSample TIMESERIES " } ], "platformOptions": { @@ -1155,7 +1137,7 @@ "description": null, "widgets": [ { - "title": "Networks(click on the network name to filter)", + "title": "Networks", "layout": { "column": 1, "row": 1, @@ -1317,7 +1299,7 @@ } }, { - "title": "Network tenant Id", + "title": "Network tenant ID", "layout": { "column": 5, "row": 4, @@ -1611,11 +1593,27 @@ "description": null, "widgets": [ { - "title": "Logs", + "title": "", "layout": { "column": 1, "row": 1, "width": 12, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "## Choose variable\nSelect your appropriate \"logtype\" variable(s) to display the related logs." + } + }, + { + "title": "Logs", + "layout": { + "column": 1, + "row": 2, + "width": 12, "height": 3 }, "linkedEntityGuids": null, diff --git a/dashboards/openstack-controller/openstack-controller01.png b/dashboards/openstack-controller/openstack-controller01.png index c9e2e00868..bf35d68d03 100644 Binary files a/dashboards/openstack-controller/openstack-controller01.png and b/dashboards/openstack-controller/openstack-controller01.png differ diff --git a/dashboards/openstack-controller/openstack-controller02.png b/dashboards/openstack-controller/openstack-controller02.png index d69dcb4c86..45062c4cc0 100644 Binary files a/dashboards/openstack-controller/openstack-controller02.png and b/dashboards/openstack-controller/openstack-controller02.png differ diff --git a/dashboards/openstack-controller/openstack-controller03.png b/dashboards/openstack-controller/openstack-controller03.png index 9487b1d97e..77f4a100e0 100644 Binary files a/dashboards/openstack-controller/openstack-controller03.png and b/dashboards/openstack-controller/openstack-controller03.png differ diff --git a/dashboards/openstack-controller/openstack-controller04.png b/dashboards/openstack-controller/openstack-controller04.png index e58235c6b0..ddd6477a05 100644 Binary files a/dashboards/openstack-controller/openstack-controller04.png and b/dashboards/openstack-controller/openstack-controller04.png differ diff --git a/dashboards/openstack-controller/openstack-controller05.png b/dashboards/openstack-controller/openstack-controller05.png index 089609e539..5edc365c2f 100644 Binary files a/dashboards/openstack-controller/openstack-controller05.png and b/dashboards/openstack-controller/openstack-controller05.png differ diff --git a/dashboards/openstack-controller/openstack-controller06.png b/dashboards/openstack-controller/openstack-controller06.png index 849c07781c..72521f73fd 100644 Binary files a/dashboards/openstack-controller/openstack-controller06.png and b/dashboards/openstack-controller/openstack-controller06.png differ diff --git a/dashboards/openstack-controller/openstack-controller07.png b/dashboards/openstack-controller/openstack-controller07.png index 72d41f050c..7237d52a43 100644 Binary files a/dashboards/openstack-controller/openstack-controller07.png and b/dashboards/openstack-controller/openstack-controller07.png differ diff --git a/dashboards/openstack-controller/openstack-controller08.png b/dashboards/openstack-controller/openstack-controller08.png index bd72f4c089..ac7267e548 100644 Binary files a/dashboards/openstack-controller/openstack-controller08.png and b/dashboards/openstack-controller/openstack-controller08.png differ diff --git a/data-sources/openstack-controller/config.yml b/data-sources/openstack-controller/config.yml index d1ceb4a616..77f8da0b02 100644 --- a/data-sources/openstack-controller/config.yml +++ b/data-sources/openstack-controller/config.yml @@ -1,7 +1,7 @@ id: openstack-controller displayName: Openstack Controller description: | - Use New Relic to monitor and analyze your Openstack Controller infrastructure. + Monitor and analyze your Openstack Controller infrastructure with New Relic. install: primary: link: diff --git a/data-sources/openstack-controller/logo.png b/data-sources/openstack-controller/logo.png index 4e45be8760..3f69a04377 100644 Binary files a/data-sources/openstack-controller/logo.png and b/data-sources/openstack-controller/logo.png differ diff --git a/quickstarts/openstack-controller/config.yml b/quickstarts/openstack-controller/config.yml index d8ebf3c707..0eb77979f1 100644 --- a/quickstarts/openstack-controller/config.yml +++ b/quickstarts/openstack-controller/config.yml @@ -1,18 +1,21 @@ slug: openstack-controller description: | - ## Comprehensive monitoring quickstart for Openstack Controller - The OpenStack controller ensures the health, performance, and availability of your cloud infrastructure by monitoring various services and components. - ## Why monitor Openstack Controller? Monitoring the OpenStack controller helps you maintain the stability, performance, security, and availability of your cloud environment by detecting issues early, responding promptly, and continuously improving your infrastructure to meet the needs of users and applications. + ## Comprehensive monitoring quickstart for Openstack Controller + New Relic comprehensive monitoring solution collects data from all aspects of your OpenStack environment, so you can see exactly what's happening and identify any potential problems before they impact your users. + ## What’s included in this quickstart? New Relic Openstack Controller monitoring quickstart provides quality out-of-the-box reporting: - - Dashboards (Events, Projects, Networks, Domains, etc) - - Alerts for Openstack (state down, server free memory low and memory usage) + - Track the performance of your OpenStack services, such as compute, networking and storage + - Identify and troubleshoot performance bottlenecks with ease + - Get pre-built alerts when there are problems with your OpenStack environment + - Correlate data from different data sources to get a holistic view of your environment + summary: | - Use New Relic to monitor and analyze your Openstack Controller infrastructure. + Monitor and analyze your Openstack Controller infrastructure with New Relic. icon: logo.png level: New Relic authors: @@ -22,7 +25,7 @@ title: Openstack Controller documentation: - name: Openstack Controller integration documentation description: | - Implement monitoring and instrumentation for your Openstack Controller, and ensure that your Openstack data is integrated into New Relic for effective performance analysis and insights. + Monitor and instrument your OpenStack Controller with New Relic to gain deep insights into your performance. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/openstack-controller-integration/ keywords: - openstack controller diff --git a/quickstarts/openstack-controller/logo.png b/quickstarts/openstack-controller/logo.png index 4e45be8760..3f69a04377 100644 Binary files a/quickstarts/openstack-controller/logo.png and b/quickstarts/openstack-controller/logo.png differ