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, an Amazon Web Services Advanced Consulting Partner based in Marina del Rey, CA, offers a range of cloud management, consulting, and software development solutions. Their expertise includes Modern Software Development, DevOps, Infrastructure-As-Code, Serverless, CI/CD, and Containerization, with a focus on Media & Entertainment workflows, High-Performance Computing environments, and data storage.

TrackIt excels in cutting-edge software design, particularly in the areas of containerization, serverless architectures, and pipeline development. The company’s team of experts can help you design and deploy a custom solution tailored to your specific needs.

In addition to cloud management and modern software development services, TrackIt also provides an open-source AWS cost management tool to help users optimize their costs and resources on the platform. With its innovative approach and expertise, TrackIt is the ideal partner for organizations seeking to maximize the potential of their cloud infrastructure.

setting up & installing trackit - logo