python方式部署sentry

本文详细介绍了如何使用Python虚拟环境在Linux服务器上部署Sentry错误收集工具,涵盖了从安装Python虚拟环境、MySQL、Redis,到配置Sentry、邮箱和钉钉通知的全过程,旨在提供一种稳妥的部署方案。
摘要由CSDN通过智能技术生成

python方式部署sentry

1.sentry介绍

Sentry是一个开源的实时错误收集报告工具,支持web前后端、移动应用以及游戏等,支持Python、JavaScript、Java、Go、Nodejs、Django、PHP等主流编程语言和框架平台,还提供了对GitHub、Gitlab等常见开发工具的集成及Mail邮件通知(收集到的错误告警),除此之外我们还可以自主开发插件以满足项目需求。

2.部署方式

  • 部署方式分俩种:docker方式和python方式。
  • docker方式部署操作比较简单,也是【Sentry官方】比较推崇的方式,直接按【Sentry On-Premise】提供的方式按部就班部署就好了。或者可直接参考【Docker部署Sentry监控Django应用并使用email+钉钉通知】即可。
  • 插入一句题外话,最初我也是使用docker方式部署在机器上的也成功部署和配置好了,当时考虑到使用docker部署的不可控风险等系列问题,加之项目工作需要转而改用python虚拟环境部署。
  • python方式部署相对比较麻烦但还是比较稳妥,可参考:【sentry官方提供的python安装方式】。下面我就以我后来使用的python方式部署sentry的过程做个详细介绍供他人借鉴。

3.python方式部署sentry具体过程

1.本文使用python虚拟环境的说明:如果我们要同时开发多个应用程序,每个应用可能需要各自拥有一套“独立”的python运行环境,我们可以使用virtualenv来解决这个问题,它可以为一个应用创建一套“隔离”的python运行环境以免相互影响干扰。
2.本文介绍具体过程的前提:
  • 涉及的环境工具:

  • Linux服务器(虚拟机安装一个即可。例如本人使用服务器:10.80.80.238)

  • python虚拟环境

  • Postgresql或者MySQL(本文使用MySQL)

  • Redis

  • 邮箱账号密码(用于配置邮件通知,如果需要配置邮件通知的话,就需要,否则不需要。本文是会进行配置的。)

  • 钉钉群机器人的webhook(用于配置钉钉通知)。具体如何获取配置钉钉群机器人的webhook:参考【获取自定义机器人webhook】

  • 说明:需保持本地网络通畅连接Internet。

3.具体安装配置步骤:
  • 1)安装常用开发工具:

    $yum -y groupinstall "Development Tools"    
    
  • 2)安装redis,可参考:【Redis的安装和部署】【在CentOS 7下安装Redis】。或者参考以下:

    $yum -y install tcl    
    $wget http://download.redis.io/releases/redis-3.2.5.tar.gz    
    $tar -zxvf redis-3.2.5.tar.gz  
    $cd redis-3.2.5/src/  
    $make test  
    $ls  /usr/local/bin/	##结果:redis-benchmark  redis-check-aof    redis-check-rdb  redis-cli  redis-sentinel  redis-server    
    $vim /etc/profile  
    	添加内容:  
    		##HISTSIZE
    		HISTSIZE=100000 #修改默认保存1000条history历史命令为100000条。
    		##redis
    		export PATH=$PATH:/usr/local/bin  
    $source /etc/profile
    $redis-server & #后台运行redis服务
    
  • 3)安装一套python虚拟环境:

    $pip install -U virtualenv #安装一套python虚拟环境
    $pip install virtualenvwrapper	#方便后续用来建立一个虚拟环境安装的存储目录
    $mkdir -p /www #/www:虚拟环境存储目录
    $vim /etc/profile
    	添加内容:
    		##配置python虚拟环境存储目录等
    		#if [ `id -u` != '0' ]; then
    		#若id -u为0表示是root用户
    		        export VIRTUALENV_USE_DISTRIBUTE=1            # <-- Always use pip/distribute
    		        export WORKON_HOME=/www               # <-- Where all virtualenvs will be stored
    		        source /usr/bin/virtualenvwrapper.sh
    		        export PIP_VIRTUALENV_BASE=$WORKON_HOME
    		        export PIP_RESPECT_VIRTUALENV=true
    		#fi
    $source /etc/profile
    $#vim /usr/bin/virtualenvwrapper.sh查看发现:(1)mkvirtualenv envDirName 创建虚拟环境(虚拟环境目录为envDirName)(1)workon 列举虚拟环境(2)workon envDirName 激活envDirName虚拟环境  
    $#/usr/bin/virtualenvwrapper.sh具体内容可参考:https://bitbucket.org/dhellmann/virtualenvwrapper/src/67108f0e2abdda349cb22997612b3e22a9178ab3/virtualenvwrapper.sh?at=master&fileviewer=file-view-default
    $#事实上virtualenvwrapper是对virtualenv的一次封装
    $virtualenv /www/sentry/  #/www/sentry:python虚拟环境工作空间(用于安装sentry),即创建sentry虚拟环境
    $source /www/sentry/bin/activate #激活进入sentry虚拟环境  
    $deactivate	#退出当前运行的虚拟环境。
    $workon #列举所有虚拟环境
    $workon sentry	#激活进入sentry虚拟环境,相当于source /www/sentry/bin/activate
    $deactivate	#退出当前运行的虚拟环境。
    
  • 4)安装sentry:

    $workon sentry #安装sentry前,得进入sentry虚拟环境
    $yum -y install python-devel
    $pip install -U sentry	#sentry源码位于:/www/sentry/lib/python2.7/site-packages/sentry/
    $#sentry官方源码位于:ht
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Kubernetes是一种容器编排工具,可以帮助我们管理和部署容器化应用程序。Sentry是一个开源的错误跟踪平台,可以帮助我们监控应用程序中的错误和异常。 要在Kubernetes上部署Sentry,我们需要先创建一个Kubernetes集群,并安装必要的组件,如kubectl和Helm。然后,我们可以使用Helm chart来部署Sentry。 首先,我们需要添加Sentry Helm chart的存储库。可以使用以下命令: ``` helm repo add sentry https://sentry-kubernetes.github.io/charts ``` 接下来,我们可以使用以下命令安装Sentry Helm chart: ``` helm install sentry sentry/sentry ``` 这将在Kubernetes集群中创建一个Sentry部署,并将其暴露为一个NodePort服务。我们可以使用以下命令获取Sentry服务的URL: ``` minikube service sentry-sentry-web --url ``` 现在,我们可以使用浏览器访问Sentry服务,并开始监控我们的应用程序中的错误和异常。 ### 回答2: Kubernetes是一种用于自动化部署、扩展和管理容器化应用程序的开源平台。而Sentry是一种开源的实时错误跟踪平台,它可以帮助开发人员及时发现和修复应用程序中的问题。这两者的结合,可以让我们更快速地部署Sentry,提高应用程序的可靠性和稳定性。 下面是在Kubernetes上部署Sentry的基本步骤: 1. 创建Kubernetes集群:首先,需要创建一个Kubernetes集群。您可以使用各种托管服务或自己构建集群。系統自帶的語音對話,如果希望自己构建集群,建议使用一些较新的工具,如kubeadm、k3s等。 2. 安装Docker和Kubectl:在Kubernetes集群中运行容器,需要先安装Docker。Kubectl是一种用于管理Kubernetes集群的命令行工具,您也需要安装它。 3. 创建Sentry应用程序:在Kubernetes集群中创建Sentry应用程序。可以手动创建Sentry Kubernetes部署文件,也可以使用现成的部署文件。可以在Kubernetes文档中找到这些内容。 4. 部署Sentry应用程序:使用kubectl命令,部署Sentry应用程序。在这里,您可以使用kubectl create命令,一次性部署所有资源。您也可以逐一部署资源。 5. 访问Sentry应用程序:当Sentry应用程序部署成功后,可以使用kubectl port-forward命令将Sentry暴露在本地端口。访问http://localhost:9000/即可查看Sentry界面。 6. 最佳实践:建议您使用Kubernetes的最佳实践来部署Sentry应用程序。这些最佳实践可以在Kubernetes文档和Sentry文档中找到。例如,使用Kubernetes的Liveness和Readiness探针来检查Sentry应用程序是否健康运行。 总之,使用Kubernetes部署Sentry可以让我们更高效地管理和扩展Sentry应用程序。同时,它确保了应用程序的高可用性和弹性。如果您还没有尝试过Kubernetes部署Sentry,建议您自己动手做一下,体验一下它的优势。 ### 回答3: 随着云计算技术的不断发展和普及,容器化技术的应用也越来越广泛。而Kubernetes作为一款开源的容器编排系统,其在容器化应用部署和管理方面具有独特的优势和应用场景。本文将从Kubernetes部署Sentry的角度探讨如何利用Kubernetes进行Sentry部署。 1. Sentry简介 Sentry是一款开源的实时错误追踪和日志记录工具。其提供了完整的错误追踪解决方案,可帮助开发人员及时发现和修复应用程序的错误,提高应用程序的稳定性和可靠性。 在Sentry部署过程中,我们需要关注一些关键要素,如Sentry的后端存储、前端图形界面以及Sentry Worker等。 2. Kubernetes简介 Kubernetes是一款基于容器化技术的开放源代码容器编排系统,旨在自动化容器部署、扩展和管理。其有着自身的部署架构和资源调度算法,可以帮助我们在复杂的容器化应用场景下进行整体的应用部署、管理和运维。 在使用Kubernetes部署Sentry的过程中,我们需要了解Kubernetes的基础知识,如Kubernetes中的Pod、Service、ReplicaSet、Deployment等资源对象,以及Kubernetes的资源调度和容错机制等。 3. Kubernetes部署Sentry 接下来我们将探讨基于Kubernetes部署Sentry的具体步骤: 步骤一:准备Kubernetes环境 我们需要准备一台Kubernetes的集群环境,在此不详细阐述搭建Kubernetes环境的具体步骤。 步骤二:部署Sentry后端存储 在部署Sentry之前,我们需要先部署Sentry的后端存储。常用的后端存储有PostgreSQLMySQL。 我们可以通过以下命令在Kubernetes中创建PostgreSQL存储: ``` kubectl create secret generic sentry-postgres \ --from-literal=POSTGRES_USER=<POSTGRES_USER> \ --from-literal=POSTGRES_PASSWORD=<POSTGRES_PASSWORD> \ --from-literal=POSTGRES_DB=<POSTGRES_DB> kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/staging/postgres/postgres-master.yaml ``` 步骤三:部署Sentry Web 我们可以通过以下命令在Kubernetes中创建Sentry Web: ``` kubectl apply -f https://raw.githubusercontent.com/getsentry/onpremise/master/sentry-web.yaml ``` 步骤四:部署Sentry Worker 我们可以通过以下命令在Kubernetes中创建Sentry Worker: ``` kubectl apply -f https://raw.githubusercontent.com/getsentry/onpremise/master/sentry-worker.yaml ``` 步骤五:创建Sentry Service 我们可以通过以下命令创建Sentry的Service: ``` kubectl apply -f https://raw.githubusercontent.com/getsentry/onpremise/master/sentry-service.yaml ``` 至此,我们成功地在Kubernetes中部署Sentry。 4. 总结 本文通过介绍Sentry和Kubernetes的基础知识,详细阐述了基于Kubernetes进行Sentry部署的具体步骤。随着云计算和容器化技术的应用不断发展和普及,我们相信Kubernetes和Sentry将会在各自的领域中发挥出更加重要的作用,为我们提供更加高效、可靠的基础设施和应用解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值