Pengenalan
Sentry adalah penyelesaian sumber terbuka untuk pengesanan ralat. Sentry menjejaki pengecualian dan mesej berguna lain dari aplikasi yang secara tradisinya akan ditulis untuk log fail, dan sebaliknya menggunakan antara muka mesra pengguna.
Prasyarat
Beberapa prasyarat asas yang anda perlukan untuk menjalankan Sentry:
Pemasangan
Kemas kini sistem anda terlebih dahulu:
sudo apt-get update
Buat pengguna penjaga yang akan menjalankan perisian:
sudo adduser sentry
sudo adduser sentry sudo
Pasang python
dan build-essential
pakej:
sudo apt-get install -y python build-essential
Buat fail /etc/apt/sources.list.d/pgdg.list
:
sudo touch /etc/apt/sources.list.d/pgdg.list
Import kunci tandatangan dan kemas kini senarai pakej:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Pasang PostgreSQL:
sudo apt-get install postgresql-9.5
Muat turun sumber Redis 4.x Terkini:
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
Buka zip sumber Redis ke dalam foldernya sendiri, sehingga kita dapat cd
masuk dan membinanya pada langkah seterusnya:
tar -xvf redis-4.0.1.tar.gz
Bina dari sumber:
cd redis-4.0.1
make
Jalankan Redis di latar belakang:
src/redis-server --daemonize yes
pip
Pustaka pemasangan dan yang berkaitan:
cd ~
sudo apt-get install python-setuptools python-dev libxslt1-dev gcc libffi-dev libjpeg-dev libxml2-dev libxslt-dev libyaml-dev libpq-dev python-pip
Pasang persekitaran maya Python:
sudo pip install -U virtualenv
Pasang postgresql-contrib
:
sudo apt-get install postgresql-contrib-9.5
Log masuk sebagai postgres
pengguna dan dayakan citext
pelanjutan:
sudo su - postgres
$ psql -d template1 -U postgres
psql (9.5.12)
Type "help" for help.
template1=# create extension citext;
CREATE EXTENSION
template1=# \q
Buat sentry
pangkalan data:
$ createdb sentry_db
$ createuser sentry --pwprompt
$ psql -d template1 -U postgres
template1=# GRANT ALL PRIVILEGES ON DATABASE sentry_db to sentry;
GRANT
template1=# ALTER USER sentry WITH SUPERUSER;
ALTER ROLE
template1=# \q
exit
Log masuk sebagai sentry
pengguna dan buat persekitaran maya untuk Sentry:
sudo su - sentry
virtualenv ~/sentry_app/
source ~/sentry_app/bin/activate
Pasang Sentry pada mesin:
pip install -U sentry
Inisialisasi Sentry:
sentry init
Perintah ini akan membuat fail konfigurasi dalam direktori ~/.sentry/
.
Buka fail konfigurasi ~/.sentry/sentry.conf.py
:
nano ~/.sentry/sentry.conf.py
Kemudian tambahkan kelayakan pangkalan data. Ia harus kelihatan seperti contoh berikut:
DATABASES = {
'default': {
'ENGINE': 'sentry.db.postgres',
'NAME': 'sentry_db',
'USER': 'sentry',
'PASSWORD': 'securedpassword',
'HOST': 'localhost',
'PORT': '5432',
'AUTOCOMMIT': True,
'ATOMIC_REQUESTS': False,
}
}
Inisialisasi pangkalan data:
sentry upgrade
Running Sentry sebagai perkhidmatan
Log keluar dari sentry
pengguna:
exit
Pasang Penyelia:
sudo apt-get install -y supervisor
Konfigurasikan pelayan Sentry ke permulaan apabila but menggunakan pelayan supervisord
. Masukkan konfigurasi berikut dalam fail /etc/supervisor/conf.d/sentry.conf
:
[program:sentry-web]
directory=/home/sentry/sentry_app/
environment=SENTRY_CONF="/home/sentry/.sentry"
command=/home/sentry/sentry_app/bin/sentry run web
autostart=true
autorestart=true
redirect_stderr=true
user=sentry
stdout_logfile=syslog
stderr_logfile=syslog
[program:sentry-worker]
directory=/home/sentry/sentry_app/
environment=SENTRY_CONF="/home/sentry/.sentry"
command=/home/sentry/sentry_app/bin/sentry run worker
autostart=true
autorestart=true
redirect_stderr=true
user=sentry
stdout_logfile=syslog
stderr_logfile=syslog
[program:sentry-cron]
directory=/home/sentry/sentry_app/
environment=SENTRY_CONF="/home/sentry/.sentry"
command=/home/sentry/sentry_app/bin/sentry run cron
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=syslog
stderr_logfile=syslog
Simpan fail dan tambah Semula Penyelia:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start all
Sentry kini dikonfigurasikan dan didengar di pelabuhan 9000
. Navigasi ke http://you_server_ip:9000
penyemak imbas kegemaran anda untuk menyelesaikan penyiapan Sentry.