Frontend Monitoring for 21st Century Businesses
May 8, 2019Multicloud monitoring, an example with AWS and Azure
June 12, 2019Is there life in your API?
In the depth of an API
It's Friday night, an explosive dinner and a marathon that doesn't exactly burn your legs are waiting for you. The first sound you hear is not the intro of your favorite TV serie, nor the bell of the food delivery guy. It's your mobile! Your company's service is down. As if it were a spoiler, you enter in "kernel panic". What did you touch? What could it have been? You had read the Frontend and Backend articles, there have to be alerts...In the end you do the marathon, yes, but against losses. After "revolving" your system: server, resources, logs... You can't find the origin of the failure. What if it was the API? Perhaps it is the great forgotten one, the same one that has saved us from reinventing the wheel so many times that this time is stressing us. Indeed, the error is not a problem for you, in a couple of hours everything goes back to silk and from the fire only the ashes remain. We have to learn from them and you decide to prevent. ¡Vendetta!
There is a very common problem: not follow the performance of a code after implementing it, assuming that the absence of errors is enough cause to close that task forever.
Endpoint health:
Willing to solve the present and future health of our API, we think that the main thing is to check if our API is accessible. It seems logical to use an ICMP ping that returns an UP or DOWN. Here could end this quote, unfortunately, it is what many of the systems verify. A simple ping check? Is it enough with a status code 200(OK) to verify that the application works? It would be like ruling out an illness because you don't have a fever.The consumer's answer to this endpoint is big and as detailed as possible. The paradigm Health Endpoint or "Canary" in which it is currently working to develop a standard, aims to have a point of information on the status of our application at all times.
To do this, this endpoint includes all possible connections and their proper functioning either with the DDBB or even with external APIs, as well as the period between them. Nowadays a service is not only available when it responds, but when its Quality of Service (QoS) is acceptable to the system or the end user.
More is better
What's not useful when your service goes down? All control information seems poor in the face of a disaster. Being able to have the key data, an accusing finger to that instance or that endpoint, will save you headaches and money. With this medical report it is intended to have a preventive treatment before total and partial falls or an aid to the control of our system. We have already seen how important speed is in today's society and no less so in industry 4.0.At this point, we are ready to control the status of all instances, latency, number of requests, execution time of SQL queries, and so on. Depending on our infrastructure or our business, we find the great technological problem of these decades. How do I manage so much information? Taking advantage of an advance depends on our good "praxis".
Examining a plain text response to a problem is worse than looking for poor Ryan in war. The same applies as a tool to control or prevent errors.
The idea of standardizing this type of information is caused by the misuse that sometimes occurs of these information points. The logical tendency is to format this text, not only for understanding by people but also by autonomous systems. A clear example is the use of JSON as a source of response.
Example Request
GET /api/v1/health Accept: application/json Content-Type: application/json Authorization: xxxxxxxxxxxxxxx
Example Response
HTTP/1.1 200 Content-Type: application/json { "state":200, "DB":{ "state": "ok", "query_number":2500, "last_time_SQL":150 } "server":{ "status": "ok", "answer_time":100, "processes":222, "free_memory":4650 } }
Added value
Now at least, we are able to read more clearly the symptoms of our API. It is true that we have achieved a slight level of pragmatism, although it is no less true that the truth of our business is still hidden in searches and controls, far from concise and relevant information of our current state.To have data is not the problem, but to make them relevant and useful for our company. The optimal solution and that every day more companies have, is the use of dashboards on a cloud of data, which well managed not only give us the present information, but also allow us to review the past one, thus being able to predict and make decisions on a very solid basis.
This is a small example of what a dashboard can simplify our data. In it we have 4 APIs sending data of its state. The first graph shows the average response time per time-weighted API, representing the weights of each one. The second shows us by colors the value that repeats more, shows general trends, the darker the greater weight has that value, in this case we focus on response times.
It is a minimum sample of the potential of these solutions. The graphical representation of the data together with its history is a powerful tool that greatly facilitates the control of your business. We can be even more pragmatic and add checks, generating aggregated data, a way to simplify and give even more value to the information. Why not abstract the current data and add them to a global one referring to the current state? Organizing each metric within control margins, if within the API dataset one of them fails to meet its margins, it will be indicated with a red or orange color according to its severity. Et voilà! At a glance and a single data ensures that we have under control our API.
All this is what we offer from Muutech, a control of your systems including the APIs, using the data as allies. Personalize the vision you have of your systems, generate alerts and measure the state of your digital infrastructure in real time, in order to make decisions that improve your business.
It is a minimum sample of the potential of these solutions. The graphical representation of the data together with its history is a powerful tool that greatly facilitates the control of your business. We can be even more pragmatic and add checks, generating aggregated data, a way to simplify and give even more value to the information. Why not abstract the current data and add them to a global one referring to the current state? Organizing each metric within control margins, if within the API dataset one of them fails to meet its margins, it will be indicated with a red or orange color according to its severity. Et voilà! At a glance and a single data ensures that we have under control our API.
All this is what we offer from Muutech, a control of your systems including the APIs, using the data as allies. Personalize the vision you have of your systems, generate alerts and measure the state of your digital infrastructure in real time, in order to make decisions that improve your business.
Conclusion:
The health of your company and therefore that of your quiet weekends, depends on a correct and intelligent implementation and monitoring of your resources. The vigilance and improvement of our assets must be constant.The APIs are every day a more important piece in many services, this makes that their falls can cause real problems in the systems of your company. The only way to prevent failures like the one above, is to prevent by creating a good data management system for analysis and anticipation of failures being this our canary in the mine of our API, alerting us in the event of any failure or anomaly.
In spite of how tedious this management seems to be, today there are solutions like Muutech that work to make data an important value of your business. Relying on them to prevent falls and analyze the infrastructure in the fastest way synthesizing and customizing this analysis of the present and the past, helping to have a better future.
CEO & MANAGING DIRECTOR
Expert in IT monitoring, systems and networks.
Minerva is our enterprise-grade monitoring platform based on Zabbix and Grafana.
We help you monitor your network equipment, communications and systems!
Subscribe to our Newsletter