前端腳本錯誤監控及跟蹤解決方案——Sentry

錯誤統計日誌監控

Sentry 簡介

Sentry 是一個開源的錯誤追蹤工具,能夠幫助開發人員實時監控和修復系統中的錯誤。其專一於錯誤監控以及提取一切過後處理所需的信息;支持幾乎全部主流開發語言( JS/Java/Python/php )和平臺, 並提供了web來展現輸出錯誤。php

sentry官網: https://sentry.io/git

sentry 官方提供免費版和收費版的服務,若是不想搭建本地服務的話直接用官方服務好了。sentry是個開源的工具能夠自行搭建。推薦使用Docker搭建,Github地址: https://github.com/getsentry/onpremisegithub

數據卷位置

/var/lib/docker/volumes/sentry-data
/var/lib/docker/volumes/sentry-postgres

若是要從新安裝記得刪除這倆個目錄,否則還會有之前的數據web

若是有錯(沒有路徑、文件等),可能嘗試下重啓dockerredis

sentry 安裝方式1(失敗,能夠直接看方式2,這裏只是記錄下)

環境搭建說明 https://docs.sentry.io/server/installation/docker/docker

1.拉取github上sentry的docker配置文件數據庫

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

cd onpremise

2.構建容器vim

make build 安全

3.運行依賴服務架構

Redis

docker run \
  --detach \
  --name sentry-redis \
  redis:3.2-alpine

PostgreSQL

docker run \
  --detach \
  --name sentry-postgres \
  --env POSTGRES_PASSWORD=secret \
  --env POSTGRES_USER=sentry \
  postgres:9.5

Outbound Email

docker run \
  --detach \
  --name sentry-smtp \
  tianon/exim4

4.運行sentry服務

${REPOSITORY}對應於在上一步中構建圖像時使用的名稱。若是未指定,則默認爲。要測試圖像是否正常工做,您能夠執行如下操做:sentry-onpremise

docker run \
  --rm ${REPOSITORY} \
  --help

# docker run \
# --rm sentry-onpremise \
# --help

若是出現以下幫助提示說明成功了。

生成一個密鑰

docker run \
  --rm ${REPOSITORY} \
  config generate-secret-key

# docker run \
# --rm sentry-onpremise \
# config generate-secret-key

執行命令後會返回一串密鑰,複製下後面用。

運行命令

docker run \
  --detach \
  --link sentry-redis:redis \
  --link sentry-postgres:postgres \
  --link sentry-smtp:smtp \
  --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
  ${REPOSITORY} \
  <command>

5.初始化(升級)

docker run --rm -it sentry-onpremise upgrade

在升級過程當中,系統將提示您建立將充當超級用戶的初始用戶。 全部架構更改和數據庫升級都經過upgrade命令處理,這是您在升級到Sentry的將來版本時首先要運行的。

6.啓動web服務

docker run \
  --detach \
  --name sentry-web-01 \
  --publish 9000:9000 \
  sentry-onpremise \
  run web

7.啓動後臺工做者(業務處理,數據持久化,報警等)

docker run \
  --detach \
  --name sentry-worker-01 \
  sentry-onpremise \
  run worker

8.啓動Cron precess(定時任務,活性檢測等)

docker run \
  --detach \
  --name sentry-cron \
  sentry-onpremise \
  run cron

嗯,若是上面的方法出現Redis Error或者容器未能啓動等狀況,那麼請換種方式重來。參考:https://medium.com/sentry-with-docker/installing-sentry-with-docker-c1d83dfee577

sentry 安裝方式2

上面方式有問題,沒有提示我建立管理員帳號!!!換一個方式,按照Readme中的步驟來

郵箱配置最好在開始的時候就配置在config.yml中,否則改起來很蠻煩,下面是騰訊企業郵箱實例,端口實際測試465很差使,把port改爲 587

vim config.yml

1.先安裝docker-compose https://docs.docker.com/compose/install/

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2.運行安裝腳本

./install.sh

而後會彈出建立用戶,根據提示操做便可

3.成功後會提示你運行sentry

docker-compose up -d

4.輸入IP:9000查看並配置

若是前面沒有設置config,怎麼填寫都是有問題的,即便成功了,後面郵件測試也不會經過,應該就是port那個地方的問題,因此郵箱配置最好在開始的時候就配置在config.yml中,否則改起來很蠻煩。

若是開頭config設置好了郵箱,起始頁面就沒有這一部分了。若是前面沒有設置config,你也能夠在這裏更改config文件,而後再install便可,問題不大。

sentry 使用注意事項

1.成員都是發送邀請郵件進來的 2.權限定義到Team 3.建立項目後有相應的安裝指引 4.user setting中能夠設置中文,可是不完善

外網訪問

阿里雲:配置安全組

相關文章
相關標籤/搜索