Creating and deploying application on top of Openshift is one thing, but doing health monitoring for those applications is a whole new different thing. Thats why on this session im trying to share on how to deploy Prometheus, for monitoring appliction statistics, and Grafana, for visualizing it, to support the day-to-day activity and operations.
So before started too far, lets start with a brief introduction on what is Prometheus and Grafana.
According to its site (https://prometheus.io/), Prometheus is an open-source systems monitoring and alerting toolkit. It has multiple visualization tools and Grafana as one of it. On Grafana’s website, https://grafana.com/, we can see that it is an open source visualization and analytics software, which allows us to query, visualize, alerting and explore our metrics freely.
Okay, there are multiple ways of installing those two items. One way is by using Openshift Operator, and another way is installed it manually either by using template, or a simple container image installation. For this time, we are using the last approach, and that is container image deployment.
Lets start by installing Prometheus first,
for this example, im using openshift/prometheus image from docker hub.
Once image has been created, next is creating a configuration file for storing list of prometheus api needed to be scrape from, for this example im scrapping statistics from application App01 which located on project Project01 on top of the same OCP4 instance.
- targets: 
- job_name: project01
Save it with name “prometheus.yml”, and push it to OCP4 secret by using below command
oc create cm prometheus-config --from-file=prometheus.yaml
And mount it to Prometheus’s DeploymentConfig
oc volume dc/prometheus --add --name=prometheus-config --type=configmap --configmap-name=prometheus-config --mount-path=/etc/prometheus/
Expose your installed Prometheus service, and access it directly thru browser. A successfully installation will shows a target end point like this,
Next step is to install Grafana. The same installation methodology is being use, and that is using container image deployment. Im using grafana/grafana:6.0.1 image from DockerHub for this example.
Login by using admin/admin credentials,
Set the datasource as prometheus,
Add prometheus url and scrape interval, and press Save button
We can start by creating a Grafana dashboard based on Prometheus statistics,
There is other approach of installating Prometheus and Grafana, and that is by using yml template. I cover those approach on my Github page,