nomallard
v0.1.0
Published
Turn an hcdiag support bundle into a DuckDB in one command!
Downloads
1
Readme
Nomallard
Turn an hcdiag support bundle into a DuckDB in one command!
Prerequisites
- DuckDB
brew install duckdb
- A bundle generated by hcdiag (relatively recently, one with ndjson files in the interval directories of the nomad bundle)
Running Nomallard
Right now Nomallard is just a node project, eventually it'll be bundled as an executable.
- Clone the repo
- perform
npm i
- perform
node index.js -d <path_to_unzipped_bundle>
Alternatively, you can perform node index.js -z <path_to_zip>
and Nomallard will unzip and extract the bundle for you. One less step!
After running the command, you will have a new <name>.duck
file. That's your database, do with it what you'd like.
$ duckdb test-db.duck
D select * from jobs;
D .tables
Sample queries!
Evaluations by year/month/day
select
year(to_timestamp(createtime // 1000000000)) as y,
month(to_timestamp(createtime // 1000000000)) as m,
day(to_timestamp(createtime // 1000000000)) as d,
count(*) as c
from evaluations group by y, m, d order by y asc, m asc, d asc;
Jobs by type
select type, count(*) as c from jobs group by type order by c desc;
How many jobs are configured to have auto-reverting deployments?
select Namespace, ar, count(*) as c from (
select Namespace, JobID, unnest(map_values(TaskGroups)).AutoRevert as ar from deployments
) group by Namespace, ar order by c desc;
What's the distribution of log levels across servers/clients and categories?
select Mode, Level, Category, Count(*) c
from serverlogs group by Mode, Level, Category order by Category;
Which of my agents are spitting out errors and warnings?
Note that fields in Duck aren't case sensitive.
select mode, server, level, count(*) from serverlogs
where level in ('ERROR', 'WARN')
group by mode, server, level
order by level;