Wed, 25 Jan 2023 17:06:05 -0000
|Read Time: 0 minutes
This blog is the first in a series in which I write about Dell iDRAC Data Visualization with Elastic Search and Grafana. In this blog, I explain iDRAC telemetry data visualization, which represents a potential advantage for any business product, and for monitoring.
Grafana is a versatile, open-source data visualization tool which can read data from different data sources and plot the visualization, depending on the use case. This plot can be combined to create a unique dashboard that you can integrate into any of your custom applications, to visualize or use it as it is.
Elastic Search is an open-source, distributed data store for full-text search engine. It uses a JSON-based document structure to index the data obtained and store it. It uses the Inverted Index structure, which helps in fast keyword searches in stored data.
The topics covered in this blog include:
Once all the prerequisites are ready, you can begin deploying the major open-source applications (Elastic Search and Grafana). This deployment should be performed on a K8s cluster.
To install Elastic Search:
Note: replace namespace_name with your defined namespace.
3: Test the Elastic Search instance:
kubectl port-forward svc/elasticsearch-master 9200 -n {namespace_name}
curl localhost:9200
To install Grafana:
Note: replace namespace_name with your defined namespace.
The data telemetry should be fetched and sent to Elastic Search based on the configured time. In the next section, you can see how to fetch the data from iDRAC to Elastic Search.
Figure 1: Connectivity diagram
Note: The copied URL must be provided in the Alerts section of Grafana.
The Email notifications are sent using SMTP service. You must configure notifications using a YAML file or using Environment Variables.
Once the above deployment is completed, login with the default username and password configured in Grafana, to check whether Grafana is up and running. The steps below enable you to view the Grafana dashboard.
You can add a data source in two different ways: by using the values.yml file, or by using the Grafana UI.
Create and add the configuration below in the datasource.yml file:
datasources:
secretName: ""
secretDefinition:
apiVersion: 1
datasources:
- name: { datasource_name}
type: { datasource_type }
url: { datasource_url }
access: { access_type }
isDefault: { true/false }
Example:
datasources:
## @param datasources.secretName The name of an externally-managed secret containing custom datasource files.
##
secretName: ""
## @param datasources.secretDefinition The contents of a secret defining a custom datasource file. Only used if datasources.secretName is empty or not defined.
## Example:
## secretDefinition:
## apiVersion: 1
## datasources:
## - name: Prometheus
## type: prometheus
## url: http://prometheus-prometheus-server
## access: proxy
## isDefault: true
Figure 2: Configuration window
A successful test confirms that data source is added successfully.
Figure 3: Creating a dashboard
Figure 4: New dashboard panels
In the right panel you will find the threshold section, where you can configure the alert threshold. See the figure below.
Figure 5: Threshold configuration
The results are displayed as in the figure below.
Figure 6: Simple dashboard with configured alerts
This blog helps enterprise data visualization teams to implement Grafana in K8s, and to configure the data source and alert notifications.