Yes, ELSA supports dashboards. For now, they are simple CSV files
with the first column the title of the graph and the second column the
query that produces it. In the future, there will be full web admin
for all dashboard management. Here's an example:
downloads.csv:
Downloads by Country,+md5 class:bro_notice groupby:dstip | whois | sum(cc)
events.csv:
Trojan IDS Events,trojan groupby:sig_msg
Top Scanners,sig_msg:scan groupby:srcip
Top Scanning Orgs,sig_msg:sig_msg:scan groupby:srcip | whois | sum(descr)
Top Websites Attacked by SQLi,sig_msg:sql groupby:srcip |
subsearch(class:url groupby:site,srcip)
(Notice the subsearch in the last one--it lets you pivot between log
types so we can go from Snort to URL.)
The config file gets an entry to point at it like this:
"dashboards": {
"downloads": {
"file": "/path/to/downloads.csv",
"package": "Dashboard::File"
},
"ids": {
"file": "/path/to/events.csv",
"package": "Dashboard::File"
}
}
You then access the dashboard like this (where the URI has the name of
the config entry):
http://elsa/dashboard/downloads
Which will use the defaults of the past seven days. You can specify
the time period like this:
http://elsa/dashboard/downloads?start=last tuesday&end=last thursday
or
http://elsa/dashboard/ids?days=14
As we progress, not only will dashboards be easier to manage, we may
find queries good enough to include as default dashboards.