Ինչպես տեղադրել Sentry-ը Docker-ով Ubuntu 22.04-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (Bionic Beaver)

Այս էջում

  1. Նախադրյալներ
  2. Տեղադրեք Պահանջվող Կախվածությունները
  3. Տեղադրեք Docker-ը և Docker Compose-ը
  4. Տեղադրեք Sentry
  5. Գործարկեք Sentry Container-ը
  6. Մուտք գործեք Sentry Web UI
  7. Եզրակացություն

Sentry-ն անվճար և բաց կոդով սխալների հետագծման հարթակ է, որն իրական ժամանակում վերահսկում և ուղղում է խափանումները: Այն թույլ է տալիս ծրագրային ապահովման մշակողներին տեսնել, թե ինչն է կարևոր, ավելի արագ լուծել և շարունակաբար սովորել իրենց հավելվածների մասին: Այս հարթակը իրական ժամանակում պատկերացում է տալիս արտադրության տեղակայման մասին տեղեկություններով՝ վթարները վերարտադրելու և ուղղելու համար: Sentry-ն աջակցում է բոլոր հիմնական լեզուներին և շրջանակներին և ինտեգրվում է ձեր սիրած հավելվածներին և ծառայություններին:

Այս ձեռնարկը ցույց կտա ձեզ, թե ինչպես տեղադրել Sentry Error Tracking System-ը Docker-ով Ubuntu 22.04-ում:

Նախադրյալներ

  • Ubuntu 22.04-ով աշխատող սերվեր:
  • Վավեր տիրույթի անունը նշված է ձեր սերվերի IP-ին:
  • Ձեր սերվերի վրա կազմաձևված է արմատային գաղտնաբառը:

Տեղադրեք Պահանջվող Կախվածությունները

Նախքան սկսելը, խորհուրդ է տրվում թարմացնել ձեր փաթեթները վերջին տարբերակին: Դուք կարող եք թարմացնել դրանք հետևյալ հրամանով.

apt update -y
apt upgrade -y

Ձեր համակարգը թարմացնելուց հետո տեղադրեք բոլոր անհրաժեշտ փաթեթները հետևյալ հրամանով.

apt-get install curl git build-essential apt-transport-https ca-certificates software-properties-common -y

Բոլոր կախվածությունները տեղադրելուց հետո կարող եք անցնել հաջորդ քայլին:

Տեղադրեք Docker-ը և Docker Compose-ը

Լռելյայնորեն, Docker և Docker Compose փաթեթի վերջին տարբերակը հասանելի չէ Ubuntu 22.04 լռելյայն պահոցում: Այսպիսով, դուք պետք է ավելացնեք Docker-ի պաշտոնական պահոցը APT-ին:

Նախ, ներբեռնեք և ավելացրեք Docker GPG ստեղնը հետևյալ հրամանով.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Հաջորդը, ավելացրեք Docker պահեստը հետևյալ հրամանով.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

Պահեստն ավելացնելուց հետո թարմացրեք պահոցի քեշը հետևյալ հրամանով.

apt update -y

Հաջորդը, տեղադրեք ինչպես Docker-ը, այնպես էլ Docker Compose-ը հետևյալ հրամանով.

apt install docker docker-compose -y

Երկու փաթեթները տեղադրվելուց հետո գործարկեք Docker ծառայությունը և միացրեք այն, որ այն սկսվի համակարգի վերագործարկումից հետևյալ հրամանով.

systemctl start docker
systemctl enable docker

Այժմ կարող եք ստուգել Docker-ի կարգավիճակը հետևյալ հրամանով.

systemctl status docker

Դուք պետք է ստանաք հետևյալ արդյունքը.

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-01-10 04:37:27 UTC; 5s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 45847 (dockerd)
      Tasks: 8
     Memory: 29.1M
        CPU: 220ms
     CGroup: /system.slice/docker.service
             ??45847 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Jan 10 04:37:26 vultr dockerd[45847]: time="2023-01-10T04:37:26.903435377Z" level=info msg="scheme \"unix\" not registered, fallback to defau>
Jan 10 04:37:26 vultr dockerd[45847]: time="2023-01-10T04:37:26.903453803Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:>
Jan 10 04:37:26 vultr dockerd[45847]: time="2023-01-10T04:37:26.903464761Z" level=info msg="ClientConn switching balancer to \"pick_first\"" >
Jan 10 04:37:26 vultr dockerd[45847]: time="2023-01-10T04:37:26.916581613Z" level=info msg="Loading containers: start."
Jan 10 04:37:26 vultr dockerd[45847]: time="2023-01-10T04:37:26.997807510Z" level=info msg="Default bridge (docker0) is assigned with an IP a>
Jan 10 04:37:27 vultr dockerd[45847]: time="2023-01-10T04:37:27.060381720Z" level=info msg="Loading containers: done."
Jan 10 04:37:27 vultr dockerd[45847]: time="2023-01-10T04:37:27.074467014Z" level=info msg="Docker daemon" commit=20.10.12-0ubuntu4 graphdriv>
Jan 10 04:37:27 vultr dockerd[45847]: time="2023-01-10T04:37:27.074649813Z" level=info msg="Daemon has completed initialization"
Jan 10 04:37:27 vultr systemd[1]: Started Docker Application Container Engine.
Jan 10 04:37:27 vultr dockerd[45847]: time="2023-01-10T04:37:27.092699576Z" level=info msg="API listen on /run/docker.sock"

Docker տարբերակը ստուգելու համար գործարկեք հետևյալ հրամանը.

docker --version

Դուք պետք է տեսնեք հետևյալ արդյունքը.

Docker version 20.10.12, build 20.10.12-0ubuntu4

Կարող եք նաև ստուգել Docker compose տարբերակը՝ օգտագործելով հետևյալ հրամանը.

docker-compose --version

Դուք պետք է տեսնեք հետևյալ արդյունքը.

docker-compose version 1.29.2, build unknown

Տեղադրեք Sentry

Նախ, ներբեռնեք Sentry-ի վերջին տարբերակը Git պահոցից՝ օգտագործելով հետևյալ հրամանը.

git clone https://github.com/getsentry/onpremise

Ներբեռնումն ավարտվելուց հետո փոխեք գրացուցակը ներբեռնված գրացուցակի մեջ և գործարկեք Sentry տեղադրման սցենարը՝ տեղադրումը սկսելու համար:

cd onpremise
bash install.sh

Տեղադրման ընթացքում ձեզանից կպահանջվի ստեղծել ադմինիստրատորի հաշիվ, ինչպես ցույց է տրված ստորև.

Here's the info we may collect:

  - OS username
  - IP address
  - install log
  - runtime errors
  - performance data

Thirty (30) day retention. No marketing. Privacy policy at sentry.io/privacy.

Would you like to create a user account now? [Y/n]: y

Email: Email: [email 
Password: 
Repeat for confirmation: 
Added to organization: sentry
User created: [email 
Creating missing DSNs
Correcting Group.num_comments counter

-----------------------------------------------------------------

You're all done! Run the following command to get Sentry running:

  docker-compose up -d

-----------------------------------------------------------------

Հաջորդը, ստուգեք բոլոր ներբեռնված պատկերները՝ օգտագործելով հետևյալ հրամանը:

docker images

Դուք պետք է տեսնեք հետևյալ արդյունքը.

REPOSITORY                               TAG             IMAGE ID       CREATED             SIZE
sentry-cleanup-self-hosted-local         latest          04fa0fce18f0   4 minutes ago       908MB
symbolicator-cleanup-self-hosted-local   latest          6837f5f48e6c   5 minutes ago       180MB
snuba-cleanup-self-hosted-local          latest          242b7b248e1c   5 minutes ago       486MB
sentry-self-hosted-local                 latest          101b00356aa6   5 minutes ago       907MB
sentry-self-hosted-jq-local              latest          83c66fd3f78f   6 minutes ago       82.5MB
getsentry/sentry                         nightly         cf0f404d102e   About an hour ago   907MB
getsentry/snuba                          nightly         fc6c2d286bf8   8 hours ago         484MB
getsentry/relay                          nightly         43cd2ba5497c   5 days ago          242MB
busybox                                  latest          66ba00ad3de8   6 days ago          4.87MB
tianon/exim4                             latest          12842ac621c1   2 weeks ago         158MB
debian                                   bullseye-slim   dd94cb611937   2 weeks ago         80.5MB
getsentry/sentry-cli                     latest          a585383ff864   2 weeks ago         26.3MB
getsentry/symbolicator                   nightly         80d9b41cd195   3 weeks ago         178MB
nginx                                    1.22.0-alpine   5685937b6bc1   3 months ago        23.5MB
postgres                                 9.6             027ccf656dc1   11 months ago       200MB
confluentinc/cp-kafka                    5.5.0           efc480c1c89c   15 months ago       598MB
confluentinc/cp-zookeeper                5.5.0           ddeb961d8e80   15 months ago       598MB
redis                                    6.2.4-alpine    500703a12fa4   18 months ago       32.3MB
memcached                                1.6.9-alpine    a0132b3398e4   18 months ago       8.09MB
curlimages/curl                          7.77.0          e062233fb4a9   19 months ago       8.26MB
maxmindinc/geoipupdate                   v4.7.1          8ec32cc727c7   21 months ago       10.6MB
clickhouse-self-hosted-local             latest          abe55fc6544d   2 years ago         497MB
yandex/clickhouse-server                 20.3.9.70       abe55fc6544d   2 years ago         497MB

Գործարկեք Sentry Container-ը

Այս պահին Sentry-ն տեղադրված է: Այժմ կարող եք գործարկել Sentry կոնտեյները՝ օգտագործելով հետևյալ հրամանը.

docker-compose up -d

Սա կսկսի Sentry-ի բոլոր բեռնարկղերը, ինչպես ցույց է տրված ստորև.

Starting sentry_onpremise_memcached_1            ... done
Starting sentry_onpremise_redis_1                ... done
Starting sentry_onpremise_symbolicator_1         ... done
Creating sentry_onpremise_symbolicator-cleanup_1 ... done
Starting sentry_onpremise_zookeeper_1            ... done
Starting sentry_onpremise_clickhouse_1           ... done
Starting sentry_onpremise_smtp_1                 ... done
Starting sentry_onpremise_postgres_1             ... done
Starting sentry_onpremise_kafka_1                ... done
Starting sentry_onpremise_snuba-consumer_1          ... done
Starting sentry_onpremise_snuba-outcomes-consumer_1 ... done
Starting sentry_onpremise_snuba-api_1               ... done
Starting sentry_onpremise_snuba-sessions-consumer_1 ... done
Starting sentry_onpremise_snuba-replacer_1          ... done
Creating sentry_onpremise_snuba-cleanup_1           ... done
Creating sentry_onpremise_relay_1                   ... done
Creating sentry_onpremise_web_1                     ... done
Creating sentry_onpremise_post-process-forwarder_1  ... done
Creating sentry_onpremise_cron_1                    ... done
Creating sentry_onpremise_sentry-cleanup_1          ... done
Creating sentry_onpremise_worker_1                  ... done
Creating sentry_onpremise_ingest-consumer_1         ... done
Creating sentry_onpremise_nginx_1                   ... done

Դուք կարող եք ստուգել բոլոր բեռնարկղերի կարգավիճակը՝ օգտագործելով հետևյալ հրամանը.

docker-compose ps

Դուք պետք է տեսնեք հետևյալ արդյունքը.

                         Name                                        Command                  State                      Ports                
----------------------------------------------------------------------------------------------------------------------------------------------
sentry-self-hosted_clickhouse_1                           /entrypoint.sh                   Up (healthy)   8123/tcp, 9000/tcp, 9009/tcp        
sentry-self-hosted_cron_1                                 /etc/sentry/entrypoint.sh  ...   Up             9000/tcp                            
sentry-self-hosted_geoipupdate_1                          /usr/bin/geoipupdate -d /s ...   Exit 1                                             
sentry-self-hosted_ingest-consumer_1                      /etc/sentry/entrypoint.sh  ...   Up             9000/tcp                            
sentry-self-hosted_kafka_1                                /etc/confluent/docker/run        Up (healthy)   9092/tcp                            
sentry-self-hosted_memcached_1                            docker-entrypoint.sh memcached   Up (healthy)   11211/tcp                           
sentry-self-hosted_nginx_1                                /docker-entrypoint.sh ngin ...   Up             0.0.0.0:9000->80/tcp,:::9000->80/tcp
sentry-self-hosted_post-process-forwarder-errors_1        /etc/sentry/entrypoint.sh  ...   Up             9000/tcp                            
sentry-self-hosted_post-process-forwarder-                /etc/sentry/entrypoint.sh  ...   Up             9000/tcp                            
transactions_1                                                                                                                                
sentry-self-hosted_postgres_1                             /opt/sentry/postgres-entry ...   Up (healthy)   5432/tcp                            
sentry-self-hosted_redis_1                                docker-entrypoint.sh redis ...   Up (healthy)   6379/tcp                            
sentry-self-hosted_relay_1                                /bin/bash /docker-entrypoi ...   Up             3000/tcp                            
sentry-self-hosted_sentry-cleanup_1                       /entrypoint.sh 0 0 * * * g ...   Up             9000/tcp                            
sentry-self-hosted_smtp_1                                 docker-entrypoint.sh exim  ...   Up             25/tcp                              
sentry-self-hosted_snuba-api_1                            ./docker_entrypoint.sh api       Up             1218/tcp                            
sentry-self-hosted_snuba-cleanup_1                        /entrypoint.sh */5 * * * * ...   Up             1218/tcp                            
sentry-self-hosted_snuba-consumer_1                       ./docker_entrypoint.sh con ...   Up             1218/tcp                            
sentry-self-hosted_snuba-outcomes-consumer_1              ./docker_entrypoint.sh con ...   Up             1218/tcp                            
sentry-self-hosted_snuba-replacer_1                       ./docker_entrypoint.sh rep ...   Up             1218/tcp                            
sentry-self-hosted_snuba-sessions-consumer_1              ./docker_entrypoint.sh con ...   Up             1218/tcp                            
sentry-self-hosted_snuba-subscription-consumer-events_1   ./docker_entrypoint.sh sub ...   Up             1218/tcp                            
sentry-self-hosted_snuba-subscription-consumer-           ./docker_entrypoint.sh sub ...   Up             1218/tcp                            
transactions_1                                                                                                                                
sentry-self-hosted_snuba-transactions-cleanup_1           /entrypoint.sh */5 * * * * ...   Up             1218/tcp                            
sentry-self-hosted_snuba-transactions-consumer_1          ./docker_entrypoint.sh con ...   Up             1218/tcp                            
sentry-self-hosted_subscription-consumer-events_1         /etc/sentry/entrypoint.sh  ...   Up             9000/tcp                            
sentry-self-hosted_subscription-consumer-transactions_1   /etc/sentry/entrypoint.sh  ...   Up             9000/tcp                            
sentry-self-hosted_symbolicator-cleanup_1                 /entrypoint.sh 55 23 * * * ...   Up             3021/tcp                            
sentry-self-hosted_symbolicator_1                         /bin/bash /docker-entrypoi ...   Up             3021/tcp                            
sentry-self-hosted_web_1                                  /etc/sentry/entrypoint.sh  ...   Up (healthy)   9000/tcp                            
sentry-self-hosted_worker_1                               /etc/sentry/entrypoint.sh  ...   Up             9000/tcp                            
sentry-self-hosted_zookeeper_1                            /etc/confluent/docker/run        Up (healthy)   2181/tcp, 2888/tcp, 3888/tcp        

Ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Մուտք գործեք Sentry Web UI

Այս պահին Sentry-ն սկսվում է և լսում է 9000 նավահանգիստը: Այժմ բացեք ձեր վեբ զննարկիչը և մուտքագրեք URL http://your-server-ip:9000՝ Sentry վահանակ մուտք գործելու համար: Դուք կվերահղվեք դեպի Sentry մուտքի էջ, ինչպես ցույց է տրված ստորև.

Տրամադրեք ձեր ադմինիստրատորի օգտանունը, գաղտնաբառը և սեղմեք Մուտք կոճակը: Դուք պետք է տեսնեք հետևյալ էջը.

Տրամադրեք ձեր Sentry URL-ը, էլփոստի հասցեն և SMTP մանրամասները և սեղմեք Շարունակել կոճակը: Դուք պետք է տեսնեք Sentry կանխադրված վահանակը հետևյալ էջում.

Եզրակացություն

Այս ուղեցույցում մենք բացատրեցինք, թե ինչպես տեղադրել Sentry-ն Ubuntu 22.04-ում: Այժմ դուք կարող եք Sentry-ն ներդնել ձեր կազմակերպությունում՝ իրական ժամանակում հետևելու ձեր դիմումին ողջ փաթեթում: Ազատորեն հարցրեք ինձ, եթե ունեք հարցեր: