Welcome!

@DevOpsSummit Authors: Zakia Bouachraoui, Stackify Blog, Jnan Dash, Liz McMillan, Janakiram MSV

Related Topics: @DevOpsSummit, Java IoT, Industrial IoT, Linux Containers, @CloudExpo, Apache

@DevOpsSummit: Blog Post

What Is JSON? By @TrevParsons | @DevOpsSummit [#DevOps]

JSON is built around the concept of KEY VALUE PAIRS (KVPs) which are ideal because they give you very precise control

Three Common Problems Solved With JSON

One of the most common questions we get asked by customers is:

“What’s the best way to log my data?” My answer is always:

"log using JSON format wherever possible.”

The next question we often get asked – (but not as much)…

Yeah JSON, …Hmmm, what is JSON again?

So JSON is: So JSON is: JavaScript Object Notation.

But put simply, this is a way that data can be stored in a structured format, where each piece of data will usually have an identifier (known as a key) and a value (which can be in multiple formats). It also can have a nested structure where a key can have multiple children (keys) etc. It is often referred to as a JavaScript version of XML.

The core reason for using JSON is built around the concept of KEY VALUE PAIRS (KVPs) which are ideal because they give you very precise control over the specific data you want to look for or extract and manipulate. A simple example of JSON could be:

A simple example of JSON could be:

{

“car”: {

“make”: “Ford”,

“car_details”: {

“model”: “fiesta”,

“mileage”: 15000,

“color”: “yellow”,

“value”: 20000

}

},


“car”: {

“make”: “Dodge”,

“car_details”: {

“model”: “Viper”,

“mileage”: 30000,

“color”: “yellow”,

“value”: 30000

}

},


“car”: {

“make”: “Ford”,

“car_details”: {

“model”: “fiesta”,

“mileage”: 15000,

“color”: “blue”,

“value”: 20000

}

(Don’t forget you can send in any log data in Key Value Pairs and utilize our key highlighting and enhanced search functions.)

You can start to use the Keys to help you slice and dice the log data to your heart’s content. So, some simple queries you could run:

How many ford cars were sold.

Where(car and make=Ford) Calculate(count)

Or

Get the total value of Ford cars sold

Where(car and make=Ford) Calculate(sum:value)

Or

Find the total of cars sold by make

Where(car) GroupBy(make) Calculate(sum:value)

All this is easy to do and achieve by using the simple JSON format.

As I hope you can see, by having your logs in JSON or KVP format give you a huge amount of control in how you slice and dice the data within your logs to gain the insight you want.

A real world example based on a Apache web log could be

How long is the average response time based on URI

This would be written as

Where(/.*) GroupBy(Uri) calculate(Average:Request_Time)

From which you would get a great visualisation.

visualisation

But hey, the fun of working with JSON doesn’t end there…

Because you can have a hierarchal format within your log events, we can expose this parent-child relationship within the log viewport, and  make it much easier to read and visualize the log events.

We have also added a new neat little function called “Expand JSON” which, when activated, will transform your blob of JSON into its own easily readable indented structure.

See the comparison of the humble JSON log event below, before and after the “prettifying”.

JSON_non_pretty

Before

highlighted_keys
You may think were finished – but wait, there’s more.

We have now also released key highlighting within your logs to make it easier for you to quickly utilize the keys. By simply clicking on keys you can quickly refine the logs selected and counted for the selected time range to only logs that contain the specific key.

It also highlights the keys that you can use for cutting and dicing the log data.

This is just our first step on a much longer road exposing new functionality around Keys and JSON which we hope will make it easier and quicker for you to navigate and gain the insight you need from your log data.

Over the next few months we will be releasing more cool functionality like, but in the meantime, if you have any feedback or suggestions on the enw Key exposure and JSON formatting we would love to hear it. Email us at [email protected]om.

More Stories By Trevor Parsons

Trevor Parsons is Chief Scientist and Co-founder of Logentries. Trevor has over 10 years experience in enterprise software and, in particular, has specialized in developing enterprise monitoring and performance tools for distributed systems. He is also a research fellow at the Performance Engineering Lab Research Group and was formerly a Scientist at the IBM Center for Advanced Studies. Trevor holds a PhD from University College Dublin, Ireland.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@DevOpsSummit Stories
Cloud-Native thinking and Serverless Computing are now the norm in financial services, manufacturing, telco, healthcare, transportation, energy, media, entertainment, retail and other consumer industries, as well as the public sector. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that produce software that is obsolete at launch. DevOps may be disruptive, but it is essential. DevOpsSUMMIT at CloudEXPO expands the DevOps community, enable a wide sharing of knowledge, and educate delegates and technology providers alike.
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developers don't think about, but you can even use Docker with ASP.NET.
If you are part of the cloud development community, you certainly know about “serverless computing,” almost a misnomer. Because it implies there are no servers which is untrue. However the servers are hidden from the developers. This model eliminates operational complexity and increases developer productivity. We came from monolithic computing to client-server to services to microservices to the serverless model. In other words, our systems have slowly “dissolved” from monolithic to function-by-function. Software is developed and deployed as individual functions – a first-class object and cloud runs it for you. These functions are triggered by events that follow certain rules. Functions are written in a fixed set of languages, with a fixed set of programming models and cloud-specific syntax and semantics. Cloud-specific services can be invoked to perform complex tasks. So for cloud-na...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex to learn. This is because Kubernetes is more of a toolset than a ready solution. Hence it’s essential to know when and how to apply the appropriate Kubernetes constructs.
In a recent survey, Sumo Logic surveyed 1,500 customers who employ cloud services such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). According to the survey, a quarter of the respondents have already deployed Docker containers and nearly as many (23 percent) are employing the AWS Lambda serverless computing framework. It's clear: serverless is here to stay. The adoption does come with some needed changes, within both application development and operations. That means serverless is also changing the way we leverage public clouds. Truth-be-told, many enterprise IT shops were so happy to get out of the management of physical servers within a data center that many limitations of the existing public IaaS clouds were forgiven. However, now that we've lived a few years with public IaaS clouds, developers and CloudOps pros are giving a huge thumbs down to the...