Mini Project: GitHub Monitoring Using Grafana

Mini Project: GitHub Monitoring Using Grafana

Step 1: Launch an AWS Instance

AMI: ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-20240801

Instance type: t2.medium

Key-Pair: my-key.pem

VPC: Default

Connect with putty or any other SSH connection tool like MobaXterm.

Step 2: Install Grafana on the Instance

Run the following command to install Grafana

sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_11.2.2_amd64.deb
sudo dpkg -i grafana-enterprise_11.2.2_amd64.deb

NOT starting on installation, please execute the following statements to configure Grafana to start automatically using systemd

sudo /bin/systemctl daemon-reload 
sudo /bin/systemctl enable grafana-server

Start the Grafana Server by running the following command:

sudo /bin/systemctl start grafana-server

Access the Server with <public-ip:3000>

Note: In the Security group of the AWS instance, allow the port 3000 on anywhere

The initial username and password for the Grafana Server is

USERNAME: admin

PASSWORD: admin

After that you will get a window to set a new password, so set it according to yourself

Step 3: Configure Grafana with GitHub

Go to connections → Data Sources → Find more data sources Plugins → Install GitHub Plugin

Add Data Source name: grafana-github-datasource and Public Access Token

For Public Access Token, go to GitHub → Settings → Developer Options → Public Access Token → Token (Classic) → Allow these permissions

Now copy the public access token and paste it on the options.

Success! you have added the data source now you have to create a dashboard for to monitor on Grafana UI.

For that go to Dashboards

Click on new and then choose the option import

Paste the code 14000 in the empty cell and click on load and then enter the data source grafana-github-datasource

Congratulations! You have successfully made a dashboard to monitor your all activity on your GitHub account.

For some general options, see the video below: -