此内容没有您所选择的语言版本。
Chapter 1. View key usage metrics with Automation Dashboard
The Automation Dashboard utility is a web-based container application that provides key metrics related to job execution, efficiency, and the value derived from automation. Automation Dashboard uses automation metrics to provide automation usage data from Ansible Automation Platform. You can use this data to determine the cost of performing tasks manually versus the cost of performing tasks through automation. This comparison is used to demonstrate the savings achievable through automation.
Automation Dashboard is designed to help you:
- Get a clear overview of the automation occurring in your environment.
- Track metrics, like time saved and errors reduced, to quantify the benefits of automation.
- Analyze job execution times and failure rates to pinpoint areas where automation can be improved.
- Use the data generated by Automation Dashboard to make informed decisions about automation strategy, resource allocation, and prioritization of automation projects.
By effectively utilizing Automation Dashboard, you can gain valuable insights into your Ansible Automation Platform usage and drive continuous improvement in your automation practices.
1.1. Installing Automation Dashboard 复制链接链接已复制到粘贴板!
Prerequisites
One of the following tested configurations:
- RHEL 9 x86 or ARM based physical or virtual host.
With an external database: Postgres v15 database.
ImportantDo not attempt to install Automation Dashboard on the same host(s) as Ansible Automation Platform.
Automation Dashboard installation has been tested with the following configuration:
- 80 GB Harddrive (depending on data growth)
- 4 vCPUs x 16 GB Ram
- Disk IOPS - 3000
- Handle up to 10,000 jobs/month and 47M summaries/month
- Access to baseos and Ansible Automation Platformstream repo packages for the RHEL 9 host.
-
A non-root login account to the RHEL 9 host for installation. This requires passwordless sudo access to root as well. By default, we use the
$HOMEDIR
of the user account. - URL details for access to your Ansible Automation Platform instances.
- An Ansible Automation Platform OAuth2 token, which is used for communication between the Ansible Automation Platform instances and Automation Dashboard.
- Access to download the installation bundle providing installation components for the Automation Dashboard.
Open firewall access to allow for bi-directional communication between AAP instances and the Automation Dashboard.
- This includes HTTPS/443 (or your Ansible Automation Platform configured port) from the dashboard to the Ansible Automation Platform instance(s).
- Port 8447 is the default ingress port for the Automation Dashboard. This port can be configured during installation.
- RHEL firewall ports that may block 5432 to PostgreSQL.
-
A supported version of
ansible-core
installed on supported RHEL versions.
Procedure
- Download the latest installer tarball from access.redhat.com. Navigate to Downloads > Red Hat Ansible Automation Platform Product Software.
- Copy the installation source file to your RHEL 9 host.
Untar the installation source. This will require ~500Mb. of disk space. Throughout this example we will use the ec2-user home directory:
/home/<username>
.tar -xzvf ansible-automation-dashboard-containerized-setup-bundle-0.1-x86_64.tar.gz cd ansible-automation-dashboard-containerized-setup/
tar -xzvf ansible-automation-dashboard-containerized-setup-bundle-0.1-x86_64.tar.gz cd ansible-automation-dashboard-containerized-setup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the necessary software is installed by running the following commands:
cd ansible-automation-dashboard-containerized-setup sudo dnf install ansible-core ansible-galaxy collection install -r requirements.yml
cd ansible-automation-dashboard-containerized-setup sudo dnf install ansible-core ansible-galaxy collection install -r requirements.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create an application
client_id/client_secret
in your Ansible Automation Platform instance:Create an OAuth2 application using the following steps :
For Ansible 2.4:
- Navigate to https://AAP_GATEWAY_FQDN/#/applications
For Ansible 2.5 and 2.6:
- Navigate to https://AAP_Controller_FQDN/access/applications
Add the following information:
- Name: automation-dashboard-sso
- Authorization grant type: authorization-code
- Organization: Default
- Redirect URIs: https://AUTOMATION_DASHBOARD_FQDN/auth-callback
Client type: Confidential
NoteThe values for Name, Organization, and HTTPS port number for Ansible Automation Platform are configurable. The examples provided in this document assume use of port 443.
-
Save the
client_id
andclient_secret information
inputs into the inventory file. Create an Ansible Automation Platform access token:
Navigate to https://AAP_GATEWAY_FQDN/#/users/<id>/tokens, and create a token using the following information:
- OAuth application: automation-dashboard-sso
- Scope: read
-
Store this access token value. The access token is used in
clusters.yaml
.
Copy the example inventory and modify it before running the installer.
cp -i inventory.example inventory vi inventory
cp -i inventory.example inventory vi inventory
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note- This is an example tested inventory containing default values for Ansible Automation Platform 2.4, 2.5, and 2.6.
You must change the following values to use this inventory configuration in your environment:
-
Change the RHEL 9 host occurrences from
host.example.com
to your FQDN host -
Change the phrase
TODO
to match your passwords within all_admin_password
or_pg_password
values.
-
Change the RHEL 9 host occurrences from
- For more information, see the Inventory variables section of this document.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the installer.
ansible-playbook -i inventory ansible.containerized_installer.dashboard_install
ansible-playbook -i inventory ansible.containerized_installer.dashboard_install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification
For reference, see the following example output:
PLAY RECAP ********************************************************************************************************************************************* ec2-54-147-26-173.compute-1.amazonaws.com : ok=126 changed=51 unreachable=0 failed=0 skipped=42 rescued=0 ignored=0 localhost : ok=12 changed=0 unreachable=0 failed=0 skipped=9 rescued=0 ignored=0
PLAY RECAP *********************************************************************************************************************************************
ec2-54-147-26-173.compute-1.amazonaws.com : ok=126 changed=51 unreachable=0 failed=0 skipped=42 rescued=0 ignored=0
localhost : ok=12 changed=0 unreachable=0 failed=0 skipped=9 rescued=0 ignored=0
Alternative configurations are possible (for example, the database for Automation Dashboard can be set on a different host). This requires additional changes to variables in the inventory file. Consult the Inventory variables section of this document for available variables.
Integrate your Ansible Automation Platform instances into the Automation Dashboard configuration in order to collect and visualise data and gain insights into your automation.
Procedure
Verify that Automation Dashboard is running on https port 8447 on your RHEL host. This verification will require your Ansible Automation Platform login details.
NotePort 8447 is enabled by default, but this is configurable.
Your Ansible Automation Platform instances are added into
clusters.yml
using the following information:- Your Ansible Automation Platform URLs/ports for front-end access
A preconfigured Ansible Automation Platform OAuth token for read access
NoteIf you don’t have access to Ansible Automation Platform, consult your administrator.
- Configure a personal access token. For more information, see Configuring access to external applications with token-based authentication.
Once you have configured your access token, run the following command:
cp clusters.example.yaml clusters.yaml vi clusters.yaml
cp clusters.example.yaml clusters.yaml vi clusters.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow You can add one or more Ansible Automation Platform instances (of the same Ansible Automation Platform version) into the Automation Dashboard configuration for pulling and combining data by using the following:
NoteIf you only have one Ansible Automation Platform instance, then remove the second entry.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the following commands to load and activate your Automation Dashboard configuration:
podman cp clusters.yaml automation-dashboard-web:/ podman exec automation-dashboard-web /venv/bin/python ./manage.py setclusters /clusters.yaml
podman cp clusters.yaml automation-dashboard-web:/ podman exec automation-dashboard-web /venv/bin/python ./manage.py setclusters /clusters.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For reference, see the following example output:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteAutomation Dashboard checks for Ansible Automation Platform 2.4, 2.5, and 2.6 instances. As shown in the example output, this can result in 404 errors. For more information on errors, see the Verification section of this chapter.
Use the following command to test your Automation Dashboard configuration by manually fetching data:
podman exec automation-dashboard-web /venv/bin/python ./manage.py syncdata --since=2025-04-01 --until=2025-06-01 Successfully created Sync task for Cluster https://my-aap.example.com:443.
podman exec automation-dashboard-web /venv/bin/python ./manage.py syncdata --since=2025-04-01 --until=2025-06-01 Successfully created Sync task for Cluster https://my-aap.example.com:443.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteConsider using a short date interval to reduce test time. The format is YYYY-MM-DD.
You can then use
journalctl
to monitor progress:sudo journalctl -fn10
sudo journalctl -fn10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Refresh your browser to view retrieved data within your Automation Dashboard.
Verification
If you encounter error messages during installation, consult the following table:
Issue | Possible Cause | Solution |
401 errors | This is an unauthorized access message indicating authentication errors such as incorrect credentials or tokens |
Verify that your access token is correct in |
404 errors | This is a “not found” message indicating that something isn’t configured correctly or pointing to the correct endpoint |
Verify that your Ansible Automation Platform instance URLs used in |
A successful installation should be running the following three container services:
podman ps --all --format "{{.Names}}" postgresql automation-dashboard-task automation-dashboard-web
podman ps --all --format "{{.Names}}"
postgresql
automation-dashboard-task
automation-dashboard-web
You can check your container logs by running the following:
You can check how the services are running by using systemd
:
1.3. Uninstalling Automation Dashboard 复制链接链接已复制到粘贴板!
Run the following command to uninstall Automation Dashboard and its dependencies, including the PostgreSQL database container:
ansible-playbook -i inventory ansible.containerized_installer.dashboard_uninstall
ansible-playbook -i inventory
ansible.containerized_installer.dashboard_uninstall