概述
引入Sentry后的工作流程
Sentry的使用方式
服务端:
提供cloud 版本(https://sentry.io/auth/login),直接注册,即可使用。
提供开源的安装部署版本,可通过helm进行部署。
客户端:支持多种平台接入,以下是比较流行的接入方式,具体参见相应docs文档(https://docs.sentry.io/platforms)

使用helm安装
#fetch sentry,并解压
helm fetch --untar stable/sentry
#进入sentry目录,编辑values.yaml配置文件
...
email:
from_address: xxxx@example.org //修改为发邮件人的地址
host: smtp.exmail.qq.com //腾讯企业邮箱
port: 587//端口需要使用587,非465
use_tls: true//默认为true
user: xxxx@example.org //修改为用户email
password: xxxxx //修改为用户密码
enable_replies: true
...
service:
type: NodePort//我这边Type修改为NodePort
nodePort: 32190//并定义nodePort
...
filestore:
filesystem:
persistence:
storageClass: nfs-client
accessMode: ReadWriteMany
size: 50Gi
...
#由于postgres 9.6.2版本下载很慢,这里我选用了本地仓库的版本(先同步到本地仓库)
对charts/postgresql依赖的values.yaml做如下修改:
...
image: "harbor.example.org/library/postgres"//请根据情况确认是不喜要替换
persistence:
storageClass: "nfs-client"//需提前配置好
accessMode: ReadWriteMany
size: 20Gi
subPath: "postgresql-db"
mountPath: /var/lib/postgresql/data/pgdata
#执行以下命令进行安装
helm install --wait --name sre-sentry -f ./sentry/values.yaml --namespace sre ./sentry
NAME: sre-sentry
LAST DEPLOYED: FriOct1122:03:512019
NAMESPACE: sre
STATUS: DEPLOYED
RESOURCES:
==> v1/PersistentVolumeClaim
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
sre-sentry-postgresql Bound pvc-f4173484-ec2f-11e9-9ca2-00163e064a2f20Gi RWX nfs-client 4m38s
sre-sentry Bound pvc-f418245a-ec2f-11e9-9ca2-00163e064a2f50Gi RWX nfs-client 4m38s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sre-sentry-postgresql ClusterIP192.168.125.27<none>5432/TCP 4m38s
sre-sentry-redis-master ClusterIP192.168.134.237<none>6379/TCP 4m38s
sre-sentry-redis-slave ClusterIP192.168.122.115<none>6379/TCP 4m38s
sre-sentry NodePort192.168.98.128<none>9000:32190/TCP 4m38s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
sre-sentry-postgresql 11114m38s
sre-sentry-redis-slave 11104m38s
sre-sentry-cron 11114m38s
sre-sentry-web 11114m38s
sre-sentry-worker 22224m38s
==> v1beta2/StatefulSet
NAME DESIRED CURRENT AGE
sre-sentry-redis-master 114m38s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
sre-sentry-postgresql-5d87c88f49-cxx4x 1/1Running04m38s
sre-sentry-redis-slave-5fc9fffbcf-mftzz 0/1ContainerCreating04m38s
sre-sentry-cron-5b84b84c9d-sgk4w 1/1Running04m38s
sre-sentry-web-5cfc5bb6b6-tz45j 1/1Running14m38s
sre-sentry-worker-79fcfff6c7-j24pc 1/1Running04m37s
sre-sentry-worker-79fcfff6c7-p9s9t 1/1Running14m37s
sre-sentry-redis-master-01/1Running04m38s
==> v1/Secret
NAME TYPE DATA AGE
sre-sentry-postgresql Opaque14m38s
sre-sentry-redis Opaque14m38s
sre-sentry Opaque34m38s
==> v1/ConfigMap
NAME DATA AGE
sre-sentry-postgresql 04m38s
sre-sentry 24m38s
NOTES:
WARNING:
You have changed the default memory request for the db-init job hook. It may affect your setup.
If you are facing problems, check next links:
- https://github.com/helm/charts/issues/15296
- https://github.com/getsentry/onpremise/blob/master/install.sh
1.Get the application URL by running these commands:
export NODE_PORT=$(kubectl get--namespace sre -o jsonpath="{.spec.ports[0].nodePort}" services sre-sentry)
export NODE_IP=$(kubectl get nodes --namespace sre -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/auth/login/sentry
2.Loginwith
USER: admin@sentry.local
Get login password with
kubectl get secret --namespace sre sre-sentry -o jsonpath="{.data.user-password}"| base64 --decode
总结
在安装过程中有几个注意点:
安装sentry时,postgresql初始化时间比较长,我这边出错,很大部分原因就是因为postgresql初始化引起,后来通过修改image为本地仓库镜像才得到解决。
email配置这里,一直使用465端口,收不到邮件,改为587后就可以了




