Skip to main content

Dassana ๐Ÿ’™ Grafana

ยท 3 min read
Gaurav Kumar

Dassana Grafana

โ€œWithout data youโ€™re just a person with an opinion.โ€ - W. Edwards Deming,

Data tells a story and some stories are better told with visualizations: pretty graphs with colorful lines going up and down. And no one does a better job at visualizations than Grafana. It's no wonder that the DevOps community loves it and it's becoming a standard tool for companies large and small.

At Dassana, we want you to leverage your existing tooling and make the most out of it. It shouldn't be a surprise that we support FluentD and Vector for data ingestion. In line with that theme, today we are launching a Grafana plugin that lets you visualize your data stored in Dassana and create custom dashboards.

Getting Startedโ€‹

It takes less than 5 minutes to install the Grafana plugin. Detailed documentation is available here. If you are in hurry and have Grafana running in a container, all you have to do is run the following command:

docker exec -it grafana grafana-cli --pluginUrl https://dassana-grafana-prod.s3.amazonaws.com/releases/dassana-app-1.0.0.zip plugins install dassana-app

Then, restart your Grafana container.

Dashboardsโ€‹

Dassana provides a Tutorial App that contains a subset of CloudTrail events from the flaws.cloud dataset. Just click on Add Sample Data For Me and you'll be ready to visualize the data in Grafana.

The Grafana plugin comes pre-installed with a CloudTrail dashboard. This dashboard is powered by Dassana SQL queries that reference the aws_cloudtrail app. If you haven't sent any AWS Cloudtrail events yet to this app, the dashboard will be empty. As our sample data is in the tutorial_app, let's edit the grafana panel's SQL query so that it refers to tutorial_app instead of aws_cloutrail. When you click Edit you should see a page like this:

1

Notice that the default query is selecting from aws_cloudtrail. Simply replace the word aws_cloudtrail with tutorial_app so that the query runs against our tutorial_app and click Apply. And voila! The panel will light up.

Perhaps you want to visualize the top 5 access denied errors to see if you have a bad IAM policy? Not a problem, here is the corresponding SQL for that:

select count(*) as count,userIdentity.principalId from tutorial_app
where errorCode like '%Denied%'
group by userIdentity.principalId
order by count desc limit 5

This is how the panel looks like with the sample flaws.cloud dataset:

2

Under the hood, the Dassana plugin maps the response from Dassana queries to Grafana compatible data frames. That means that you can use any Grafana visualization panel by simply writing SQL. Since Dassana is schema-less and JSON native, we believe that using Dassana's Grafana plugin is the fastest, easiest, and cheapest way to visualize JSON/CSV data (you can also use our Vector/FluentD plugin to send non-csv/json data too).

Coming up next...โ€‹

This is just the beginning. While we are working on many other cool integrations, we would love to get feedback on this plugin or any other idea you may have. Hit us up at support@dassana.io or join our slack community.