Contents
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. 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. 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. 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
4. Choose Another AWS account 5. Paste Account ID 6. Check Require external ID box 7. Paste External ID
8. Select ReadOnlyAccess policy
9. Set a name and clickA�Create role
10. In Role list, select the role you created 11. Paste Role ARN in the form
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!
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.