Do we have any open source plugins/tools for API documentation and monitoring that can be integrated with community edition of Kong?
Kong’s various logging plugins easily integrate with any open source log analytics system.
API documentation is a little different. One type of integration would be based on an OpenAPI specification (OAS - formerly known as Swagger) - I don’t have anything to announce at this time regarding Kong CE, API documentation, and OAS.
Another type of API documentation integration involves the developers that might be reading your documentation, then accessing your APIs with the necessary credentials. In that case, Kong CE’s existing Admin API is perfectly suited to integrate with many API documentation and developer relationship management systems.
I’d love to hear more about what…
API documentation and monitoring … integrated with community edition of Kong
means to you - please share more details, thanks!
Would love to help, let me break down a simple community version stack approach I took (this is mostly about monitoring not documentation).
- Kong CE
- Konga - It controls the Admin API and can do health checks and notification emails about your Nodes uptime -
- Netdata - Use this tool as a statsD sink, send all your API metrics over to it using the statsD Kong plugin, netdata will auto chart all your API metrics for you, note you will have to make a custom statsD “app” file in the config
- Logging - Since I currently run on an OSE stack I log straight out to docker with the kong.conf file setting to stdout/stderr, OSE handles the logs in an EFK stask elastic/fluentd/kibana built in. I use the log level notice setting in Kong so it yields a decent amount of logging. I still think the logging could get more robust in the CE edition to be very useful for production debugging and that is something I will have to work though.
Note for long term metrics I then use Netdata rest API endpoint /allmetrics to expose all my Kong nodes data to prometheus and pair it with grafana for nice long term visuals, Netdata is meant to be a short term visualizer/metrics holder w most info in RAM to stay lightweight. Another huge benefit is netdata can monitor all kinds of server values too and expose those to prom so you can really get full insight into your server metrics along with metrics Kong gives. A win win!
I too am up for comments or enhancements if anyone sees a gap in what I have .
Thanks a lot @jeremyjpj0916 for the info. Even I am integrating konga for admin GUI. I will explore the Netdata and Logging as well. For metrics I am exploring Datadog also, but that is commercial… In the mean time if you see any open source tool for API documentation, please post here. That would be a great help.
Thanks @Cooper for your reply.
With the API Documentation, we are referring to API developer portal which captures all our system domain APIs listed and any third party developers can use these documents for integrating with us. We would like to have swagger kind of documentation with which developers can browse through all APIs and try it.
We would like to know the plugins which we can use to generate these documents and any wiki/samples which provides details about these integrations.
On API monitoring, we use datadog plugin within kong to monitor our APIs.
I am wondering whether one can monitor individual api paths / resources rather then apis. We are not mapping every single api method (different paths) butt just complete microservices. We see nice metrics but just summarized per API/route. If we have an authAPI and route everything below /auth/* to the upstrream server, then we just got aggregated metrics for this endpoint, but I would like to see metrics for /auth/login /auth/logout etc. Any idea how to do that?