Ascender Pro videos

Ascender Ledger overview

Ascender Ledger is a purpose-built logging collector for Ascender, CIQ's platform for running Ansible playbooks, and for any tool derived from the upstream AWX project. Greg Sowell explains the motivation first: Ascender can ship job logs to a system such as Splunk, but message-based licensing gets expensive when tens of thousands of hosts generate constant logging. Ledger, which CIQ has open sourced and offers to install alongside Ascender, accepts those messages and stores them in a form that is easy to use.

The tour begins with facts, the information Ansible gathers when it first connects to a host, such as IPv4 addresses and architecture. Ledger keeps these in a browsable database that can be filtered by host and fact type. Reports build on that data with filters like operating system equals Linux and distribution equals Rocky, custom columns for any fact, and export options. Reports can also be scheduled to email a compliance, security or operations team daily, weekly or monthly; one example flags hosts whose installed Linux kernel is newer than the running one and therefore need a reboot.

Ledger also records whether each task changed each host and shows the change in standard diff format, such as a new timestamp_timeout line added to the sudoers file. The video closes by noting this is version 1.0 and inviting community feedback.

Key takeaways

  • Ledger collects Ascender job logging without the per-message licensing that makes tools like Splunk costly at tens of thousands of hosts.
  • Ledger is open source and can be installed and tied to Ascender automatically when CIQ performs the Ascender install.
  • Gathered facts such as IPv4 addresses and architecture are stored in a browsable database searchable by host and fact type.
  • Reports use filters and custom fact columns, export to usable formats, and can be scheduled to email teams on a set interval.
  • A report comparing installed and running kernel versions identifies servers that were updated but still need a reboot.
  • Every task result is logged per host with a diff view, so specific configuration changes can be traced across the environment.

Questions this video answers

What is Ascender Ledger?

Ascender Ledger is a purpose-built logging collection tool from CIQ that receives job and fact data from Ascender, or any tool based on upstream Ansible AWX. It stores gathered facts in a browsable database, generates filterable reports that can be scheduled and emailed, and tracks per-task changes on each host. It is open source and at version 1.0.

Why use Ledger instead of sending Ascender logs to Splunk?

Splunk licenses based on the number of messages received per day. An Ascender deployment with tens of thousands of hosts running many jobs produces a very large volume of log messages, which makes that approach costly. Ledger is built specifically to consume Ascender messages and present them in a usable way without that pricing model.

How can Ledger help with compliance audits?

Reports filter facts with operators such as equals, not equals or contains, for example system equals Linux and distribution equals Rocky, and add columns for any gathered fact. Reports can be exported or scheduled to email compliance and security teams daily, weekly or monthly, and change tracking shows exactly what each task modified on each host.

This video is part of the Ascender Pro playlist. Browse every CIQ video by product and topic.

Transcript

hey everybody I'm Greg Sol and I'm here with another ciq demo or more to the point today we are doing an overview so today I'm going to be talking about Ledger but I can't talk about Ledger without talking about Ascender so Ascender is ciq's automation platform that allows you to kind of securely robustly scalably run your ansible playbooks right so whenever you run playbooks inside of Ascender it generates a lot of really good information that you could use for other purposes well lucky for us Ascender has the ability to send those off to a logging server and so often times in the

past we've worked with customers that would send those off to say like Splunk which is great it can collect all that information you can create all these great reports Bob's your uncle you know you've you've got all that information taken care of the only problem is Splunk half to license their systems based on the number of messages that come through in a day and imagine you have tens of thousands of hosts in your in your Ascender platform here you're running lots of jobs that's creating a lot of logging messages that you're heading over there so it can get costly that's where Ledger steps in and

so we've written Ledger and subsequently open sourced it right it's out in the community and in fact when you have ciq kind of do the Ascender install for you baked in it says hey do you want to go ahead and install Ledger it will stand it up it'll tie the two together you're ready to go but again Ledger is purpose built to accept these messages from Ascender and consume them in a way that's easy for us to use right so say for example I've got my Ascender installed here and I've got only two hosts in this right it's just kind of a scratch box that

we play with but you can see it's got a bunch of facts that come in so what are what are facts let's start there in ansible and in Ascender whenever we run it whenever it first connects to a host it has the ability to do something called Gathering facts and really what that's doing is it's going to that host and it's saying hey give me a bunch of really useful information right and it's already going to come back variable eyes that we can use either in our automations or in this case we can send them off to our logging system right we send them off

View full transcriptHide full transcript

to Ledger and so this could be stuff like you can see here on screen what are the ipv4 addresses the architecture all kinds of good stuff right Linux Windows Jimmy's adding in the ability to do custom fact information so we're going to have you know your networking devices all that stuff as well and you have it in here and that's great right it's all collected and I can I can do some searches in here I mean I can narrow down to which specific host I want to see even in fact and then type so you can get very granular just on kind of the information

you're looking at and so I could go ipv4 in my search right it's going to pull all that stuff in here but what happens when I really want to start like comparing comparing kind of one system to the other or I want to do some kind of compliance audit or something like that that's where reports come in and so by default Jimmy has two baked in here one that's Linux one that's Windows if I just click on the report itself you can see all the information right presented to you that was created inside of this report also right up here I can copy this stuff

out or more to the point I can export it out into very usable formats right but we're doing automation here right I don't want to have to manually come in here and and generate these reports and the cool thing is once you've created a report I can actually create a schedule right here so I can add a schedule to run this daily monthly weekly and have it email that off to whatever team right my compliance team my security team you know maybe I'm got a report that's specific for the networking guys the operations guys right I can have that report shift off to them at

whatever interval I want super convenient in that respect now looking at reports they're actually pretty easy to build I'm just going to look at one that's already created so you can see one fleshed out here but you've got filters right so I'm saying ansible underscore system equals Linux but this could be not equals to contains right greater than less than you've got a lot of granularity in here and then I can add additional things so I could say the distribution as well right so I could say it's Linux and the distribution equals Rocky right so we're going to pull a list of all of our

Rocky stuff and I know in this report right here if I want to add a column I can just click add column give it a a nice clean display name right that's going to show up at the top on that report and then I choose the specific fact I want and it goes in there and then I can Shuffle the order around I know Jimmy gives an example when he's talking about this stuff about say kernel version right here right we're pulling the kernel version on these and whenever you're doing your Linux updates if there is a kernel update it will install it but until

you reboot the server it's not actually using that new kernel so we could actually generate a report looking specifically for those scenarios right immediately something extremely useful for an operations team right not just looking for compliance but stuff that really could be used in our environment something else very interesting it can do is track changes inside my environment so whenever Ascender runs a piece of automation right there's a bunch of tasks inside the Playbook and a task is really just a discrete piece of automation it's going to perform right and so for each task for every host that it does in there it's actually

going to send off to logging system whether it made a change to that host or not and we can track those changes in real time right we can pull all that stuff in right it filters down to just that information which allows us to do some really interesting things so for example I can look for up here in the search bar I'm again I can filter down to host playbooks all that good stuff I can fill down and look for very specific information right so I'm looking for the timestamp timeout right that's going to be kind of in my sudoers file so I'm going to

look here on the change I click the little change icon there and it's it's kind of in standard diff format which you're accustomed to seeing right kind of the red and green all this color coding so I can see to this to-doers file we actually added default time stamp timeout equals 15 right so not only can we gather information but we can filter it down into reports and then we can also look for very specific changes inside our environment for individual tasks individual hosts lets you get really granular so as I said earlier this is open source right but this is version 1.0 so that

means we've got a lot of growing to do and we can only really do that effectively if you help us so if you have any ideas anything you would tweak or tune or modify or you know you've got a killer use case let us know reach out to us we really want to make this grow we want to make this awesome for the community if there is any other questions or comments please feel free to reach out if you thought this was cool share it with other people you know happy uh ascending happy ledgering and we'll see you guys next time bye

Built for scale. Chosen by the world’s best.

2.75M+

Rocky Linux instances

Being used world wide

90%

Of fortune 100 companies

Use CIQ supported technologies

250k

Avg. monthly downloads

Rocky Linux

9

Enterprise products

Spanning the kernel to the orchestrator

Have questions about your infrastructure?

Talk to a CIQ engineer about Rocky Linux, HPC, and AI infrastructure.

Talk to an Expert