AWX is a web-based task engine built on top of ansible. This guide will walk you through installing AWX on a fresh CentOS7 machine. In this guide Docker is used without Docker-compose and the bare-minimum options were selected to get the application up and running. Please refer to the official guide for more information or options.
Virtual Machine Specs
All commands are assumed to be run as root.
If you are not already logged in as root, sudo before getting started
sudo su -
Make sure your ‘/etc/resolv.conf’ file can resolve dns. Example resolv.conf file
nameserver 8.8.8.8
Run
yum update
Note: If you are still unable to run a update you may need to clear your local cache.
yum clean all && yum makecache
Install Git
yum install git
Make a new directory and change to that directory
cd /usr/local
Clone the official git repository to the working directory
git clone https://github.com/ansible/awx.git
cd /usr/local/awx
Download and install ansible
yum install ansible
Download yum-utils
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
Set up the repository
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Install the latest version of Docker CE
sudo yum install docker-ce docker-ce-cli containerd.io
Enable the EPEL repository
yum install epel-release
Install PIP
yum install python-pip
Using pip install docker-py
pip install docker-py
Make should already be included in the OS, this can be verified using
make --version
If it has not been installed you can run
yum install make
Note: We will persist the PostgresDB to a custom directory.
Make the directory
mkdir /etc/awx
mkdir /etc/awx/db
Edit the inventory file
vi /usr/local/awx/installer/inventory
Find the entry that says "#postgres_data_dir" and replace it with
postgres_data_dir=/etc/awx/db
Save changes
Note: As of 12/03/2019, there is a bug running with docker, to overcome the bug you need to find in the inventory "#pg_sslmode=require" and replace it with
pg_sslmode=disable
Start the docker service
systemctl start docker
Change to the right path
cd /usr/local/awx/installer/
Run the installer
ansible-playbook -i inventory install.yml
Note: You can track progress by running
docker logs -f awx_task
Check if firewalld is turned on, if it is not it is recommended
To check:
systemctl status firewalld
To start:
systemcl start firewalld
Open up port 80
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
You can now browse your host IP and access and enjoy "http://<your host ip>"!
Note: Default username is "admin" and password is "password"
When running Logstash in large scale environments it can be quite difficult to troubleshoot performance specifically when dealing with UDP packets.
The issue could occur at multiple layers, in order of dependent layers of concern:
The following steps assume installation of Logstash on a Linux machine (CentOS 7.4) but similar steps can be used for other machines.
Issue: Communication issues from source
Diagnose:
tcpdump -i ens160 udp
telnet 10.10.10.4 514
Fixes:
Issue: Dropped UDP Packets
Diagnose:
watch netstat -s --udp
A good read on how to view the results of this command can be found hereFixes:
If there is packet loss, check the CPU of the nodes the Logstash is pointed at (should be hot).
Commercial Only: Check the pipeline via monitoring to verify where there is a high processing time.
Issue: Logstash keeps restarting
Diagnose:
journalctl -u logstash.service
Fix:
Issue: Pipeline is not passing logs to Elasticsearch
Diagnose:
Fix