Hello Readers. This will be a blog series on Self-hosted Sentry deployment over AWS. In the 1st blog of this series, I’ll be deploying a self-hosted Sentry server. Before starting up with deployment, let’s first understand what Sentry is and what does it provide.
What is Sentry?
Sentry is a service that helps you monitor and fix crashes in real-time. It helps in tracking errors and also provide with information to reproduce the issue and fix crashes. Apart from this, it also provides insights into production deployments, all that in real-time. Some of its prominent features include
- Consolidates similar error and make their resolution easy
- Huge list of supported platforms.
- Provide Hosted and Self Hosted service
- Multiple integrations available including GitHub and Slack
- Allow Email Notification and many more…
Setting up Self-Hosted Sentry Server
Sentry provides a separate GitHub repository for Self-Hosted Server. To deploy the server, you can run the following steps.
Setup Instance
Launch an instance over AWS. The instance should have at least 4GB RAM and 2 CPU Core for better performance. For AWS, I’ll recommend to go with t2.medium
instance.
Configure the instance by installing docker
and docker-compose
.
Installing docker
## Install Dependencies for docker
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
## Install Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update -y && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
Installing docker-compose
## Installing docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
## Make docker-compose executable
sudo chmod +x /usr/local/bin/docker-compose
Run docker without sudo
sudo groupadd docker
sudo usermod -aG docker $USER
## Reboot the instance
Install sentry
## Clone the sentry repository
git clone https://github.com/getsentry/onpremise.git
After cloning the repository, Install Sentry with default configurations using the following command
## Run installation script
cd onpremise/
./install.sh --no-user-prompt
docker-compose up
Final Note
As specified, the above-mentioned commands will install Sentry with the default configurations and its dashboard will now be accessible on <instance-ip>:9000
.
To modify those default configurations, we need to modify onpremise/sentry/config.yml
and onpremise/sentry/sentry.conf.py
.
Sentry will also generate a log file sentry_install_log-<TIMESTAMP>.txt
over the instance with the output logs of Sentry installation script install.sh
.
Conclusion
In this blog, I’ve shown you how you can install Sentry self-hosted server with the default configurations. If you have any queries regarding this, feel free to contact me at yatharth.sharma@knoldus.com.
Also, I would like to thank you for sticking to the end. If you like this blog, please do show your appreciation by giving thumbs-ups and share this blog and provide suggestions on how can I improve my future posts to suit your needs. Follow me to get updates on different technologies.
