sentry服务搭建

简介

sentry 是目前比较流行的日志上报告警平台,集成多语言sdk,很是方便集成,并且它专门监测错误并提取开发日志信息用于分析,经过自动上报及获取免去了须要用户提供日志定位问题的烦恼,极大的提升了定位问题的效率。html

服务搭建

本文主要介绍centos7下经过docker搭建sentry服务,话很少说,直接上教程python

1、安装docker:

centos7安装docker参考 www.cnblogs.com/qgc1995/p/9… ,过程很详细git

2、安装相关依赖,须要用到git,docker-compose,pip等组件:

sudo yum install epel-release  
sudo yum install docker-compose
复制代码

3、正式安装sentry:

一、建立所需文件夹,建立本地数据库github

cd /home/xxx
mkdir -p data/{sentry,postgres}
docker volume create --name=sentry-data && docker volume create --name=sentry-postgres
复制代码

二、git克隆web

git clone https://github.com/getsentry/onpremise.git —— 这里版本过新,可能存在bug,建议github上下载稳定版本上传到服务器解压
复制代码

稳定版本9.1.2: github.com/getsentry/o…

三、复制相应环境文件:sql

cd onpremise
cp .env.example .env
复制代码

四、构建依赖库:docker

docker-compose build
复制代码

\color{red}{注意:若出现以下bug}

ERROR: Service 'web' failed to build: invalid reference format
复制代码

修改.env文件参数,onpremise/.env中添加shell

SENTRY_IMAGE=sentry:9.1.2
复制代码

五、生成secret-key:数据库

docker volume create --name=sentry-data
docker volume create --name=sentry-postgres
docker-compose run --rm web config generate-secret-key
复制代码

六、把第5步生成的key加入到.env中:centos

vi .env
SENTRY_SECRET_KEY=your_key
复制代码

七、配置docker-compose.yml文件中的sentry volumes和postgres volumes路径为第1步中所建立的路径:

八、建立初始化数据:

docker-compose run --rm web upgrade
复制代码

\color{red}{注意:这个命令通常第一次不会所有成功,须要多执行几回,保证没有数据须要更新再进行后面操做,不然后面的操做会一直失败}

九、建立管理员帐号:

1.使用docker命令进入postgres数据库
# docker exec -it onpremise_postgres_1 bash —— 这里postgres的名字可使用docker ps 查看

2.进入postgres数据库
# psql -h 127.0.0.1 -d postgres -U postgres

3.查看这两个表是否有数据sentry_project,sentry_organization
postgres=# select * from sentry_project;
postgres=# select * from sentry_organization ;
若是没有数据,进行建立

4.新开一个终端,进入sentry的web的shell里面,其实就是一个python端
# docker-compose run --rm web shell 

5. 输入如下命令进行初始化数据
from sentry.models import Project
from sentry.receivers.core import create_default_projects
create_default_projects([Project])

6.退出第五步的shell,建立本身的用户
# docker-compose run --rm web createuser

ps:
\q #退出数据库
exit #回车退出容
复制代码

十、启动全部服务:

docker-compose run --rm web upgrade
docker-compose up -d
复制代码

十一、访问服务:ip:9000登陆,建立项目接收异常日志上报
\color{red}{注意:出现sentry没法接收上报日志错误解决方案}
查看具体错误:

docker stop onpremise_worker
docker logs -f --tail 100 onpremise_worker
复制代码

乱七八糟的日志里出现一个错误:

ProgrammingError: ProgrammingError('function sentry_increment_project_counter(integer, integer) does not exist 复制代码

基本上都会出现这个错误,解决方案以下:

1.运行命令进入postgres docker
docker exec -it onpremise_postgres_1 bash
     
2.进入postgre数据库
psql -h 127.0.0.1 -d postgres -U postgres
     
3.执行:
create or replace function sentry_increment_project_counter( project bigint, delta int) returns int as $$ declare new_val int;
begin loop update sentry_projectcounter set value = value + delta where project_id = project returning value into new_val; if found then return new_val;
end if; begin insert into sentry_projectcounter(project_id, value) values (project, delta) returning value into new_val; return new_val;
exception when unique_violation then end; end loop; end $$ language plpgsql;
     
4.ctrl + D退出数据库,exit退出bash
     
5.从新运行onpremise_worker docker start onpremise_worker
复制代码

参考:
www.cnblogs.com/yunwangjun-…
blog.csdn.net/jabony/arti…

相关文章
相关标签/搜索