At the end of this article, you will have a configured and usable TrackIt monitoring your AWS costs and generating reports to optimize your cloud on your own. TIP: Don’t want to host TrackIt? You can use it without any installation by using our infrastructure. Check our website at https://trackit.io/.


Installing requirements

Right now TrackIt supports role based permission only, so you will have to install it inside your AWS account on an EC2 instance.

Docker

TrackIt will needs Docker to work. Follow the instructions to install Docker (https://docs.docker.com/install/#supported-platforms), then Docker-Compose (https://docs.docker.com/compose/install/). After this, if you are using Linux, run this command to gain the permission to use Docker:


gt; sudo usermod -a -G docker [username]
Replace username by your username obtainable with


gt; whoami
If you are using Docker-for-Mac, you will have to increase the Docker memory limit to 4GB to allow ElasticSearch to run properly.

AWS CLI

TrackIt enhances the API Key handling by using AWS CLI. First, install AWS CLI by following the installation tutorial (https://docs.aws.amazon.com/cli/latest/userguide/installing.html). Then, configure your credentials (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html). The credentials should have the permissions below:

{
 "Version": "2012-10-17",
 "Statement": [
     {
       "Sid": "AssumeRole",
       "Effect": "Allow",
       "Action": "sts:AssumeRole",
       "Resource": "*"
     }
   ]
 }

Installing TrackIt

Cloning

Clone TrackIt’s repository by using


gt; git clone https://github.com/trackit/trackit
And go inside


gt; cd trackit

Configuring

If you run TrackIt on a remote machine, you will need to configure the host.


gt; vi docker-compose.yml
line 8: – API_URL=http://localhost:8080 # replace localhost by the public URL of your host.
To properly run our ElasticSearch database, you need to ensure your map count is high enough (https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html).

Running

Run TrackIt by using the script provided


gt; ./start.sh
Did you encounter a problem? Feel free to open an issue on Github and we will be happy to help you. (https://github.com/trackit/trackit/issues).

Using TrackIt

Once you run the script, TrackIt is available on the HTTP port. For example, if you installed it on a local machine, the URL will be http://localhost/. You will meet the login page. Create an account and log in.

Setting Up AWS Bills

TrackIt uses your AWS bills to analyze your spend. Therefore, you should enable them by going to the AWS Billing service, clicking on Reports in the left side menu, and create a new report. To finish setting up trackit, you must set up AWS billing Choose a Report name and set the Time unit to Hourly. Don’t forget to include Resource IDs to the report as shown above. Then, click on Next. After setting up AWS billing, you need to create an S3 bucket Create an S3 Bucket to store the bills and fill the field. You don’t need to set a Report path prefix. The Compression must be set to GZIP. 1.3.Create+Report+Step+3 On the next slide, you can review your settings. You should have the same as above.

Setting Up Monitoring

Next, you need to add the AWS Account you want to monitor by going to the Setup section and clicking Add. A�

1. Go to your AWS Console (https://console.aws.amazon.com/iam/home) 2. Choose Role on the left-side menu 3. Click on Create Role

2.Roles

4. Choose Another AWS account 5. Paste Account ID 6. Check Require external ID box 7. Paste External ID

3.1.Add+Role+Another+AWS+account

8. Select ReadOnlyAccess policy

3.2.Add+Role+Choose+Policies

9. Set a name and clickA�Create role

3.3.Add+Role+Choose+Name

10. In Role list, select the role you created 11. Paste Role ARN in the form

4.Role+ARN

12. Set a name and click Next

13. Set the bucket you previously created (example: s3://my.bucket/prefix ; if you didn’t fill the prefix field when creating the report, just type s3://my.bucket//)

14. Click Done

The key is loaded after a few minutes. You can now use TrackIt! 5.Trackit+UI

About TrackIt

TrackIt is an international AWS cloud consulting, systems integration, and software development firm headquartered in Marina del Rey, CA.

We have built our reputation on helping media companies architect and implement cost-effective, reliable, and scalable Media & Entertainment workflows in the cloud. These include streaming and on-demand video solutions, media asset management, and archiving, incorporating the latest AI technology to build bespoke media solutions tailored to customer requirements.

Cloud-native software development is at the foundation of what we do. We specialize in Application Modernization, Containerization, Infrastructure as Code and event-driven serverless architectures by leveraging the latest AWS services. Along with our Managed Services offerings which provide 24/7 cloud infrastructure maintenance and support, we are able to provide complete solutions for the media industry.