Kong + Grafana Dashboard + Analytics


#1

Hello,

I’m totally new to Kong, I have 3 questions, I hope you guys can help me with bright ideas.

1/ Kong has no analytics, so I searched around, and I found installing Prometheus plugin, then use with Grafana will be ok.

I have tried, I installed the plugin, added the data source in Grafana, but when I hit “Save & Test” the console, it’s showing 404.

Like this: http://168.235.69.xxx:8001/metrics/api/v1/query?query=1%2B1&time=1537810964.957 - 404

So, do I have to install Prometheus on my VPS?

2/ Will I able to run Kong at port 80, instead of 8000 and 8001?

Since I will need to access the APIs via sub.domain.com/services/route.

So, how can I run Kong with a domain name and port 80/443?

3/ What’s the analytics platform you suggest?

Currently, I will need to know the API requests logs, filter the log by API consumer.

But I do not know what’s the exact system I should use.

Kong Enterprise is quite high for me so I really appreciate the suggestions.

Thank you much!!!


#2
  1. To use the Prometheus plugin, Prometheus must be installed and able to reach the endpoint Kong exposes for it to scrape. Then grafana must have the data source set to the Prometheus instance you installed(I honestly install Prom/Grafana on the same host so they just talk over localhost.)

  2. Kong can run on any port but 80/443 are reserved ports so whatever host you are trying to set it up on you will need elevated privileges on(root).

  3. I would say if you can’t afford splunk for http transaction logging then go with the ELK stack with HTTP logging. Just my personal preference though there are many ways to handle API tx logging.


#3

Hi @jeremyjpj0916

Thank you for your answers, it’s really helpful to a newbie like me.

To #1 and #3, I don’t know if I can combine all of them to Splunk? Since I see it has a free version, so what’s the best way to achieve API tx logging and monitor the API services?

If use splunk, we will install on our machine and then connect to which log file to get the metrics or etc…?

Can you please explain me more about how it works or the simple start I can follow?

Thank you!