第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误

摘要:
//下载docker.com/linux/centos/docker-ce.repo安装dockere1。更新yum包sudoyumakecachefast 2。安装dockersudoyuminstalldocker-ce3。启动dockersudsystemctlstartdocker4。测试dockersudodockersrunhello世界输出:

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

注意:版本,不然会报错

Docker >=1.11
Compose >1.6.0

通过docker安装sentry

安装docker

1.卸载旧版本

sudo yum remove docker 
    docker-common 
    docker-selinux 
    docker-engine

2.安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3.添加稳定的源

sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

安装docker ce

1.更新yum包

sudo yum makecache fast

2.安装docker ce

sudo yum install docker-ce

3.启动docker

sudo systemctl start docker

4.测试docker

复制代码
sudo docker run hello-world

输出:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/
复制代码

安装docker-compose

1. sudo yum install epel-release
2. sudo yum install -y python-pip
3. sudo pip install docker-compose

安装sentry

sentry 依赖的组件比较多 包括 redis、 postgresql、 outbound email
在安装sentry前请确保 docker 版本大于1.10

1.安装git

sudo yum install git

2.下载docker镜像并构建容器

cd进入到要安装的目录,创建一个程序目录

mkdir -p data/{sentry,postgres}

3.下载onpremise-master项目,放在与刚才创建的data目录同级

两者选一即可

下载地址:https://github.com/getsentry/onpremise

也可以不用下载进行克隆

sudo yum install git
$ git clone  https://github.com/getsentry/onpremise.git
$ cd onpremise

4.cd onpremise,进入到onpremise-master项目,执行命令生成key

注意:以下所有的目录,都是要在onpremise下执行的

docker-compose run --rm web config generate-secret-key

 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第3张

 复制生成的key写入到docker-compose.yml文件

vim docker-compose.yml

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第4张

5.生成数据表

docker-compose run --rm web upgrade

6.启动项目,在9000端口,如果是阿里云服务器记得开放端口

docker-compose up -d

访问服务器ip加9000端口

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第5张

可以看到是英文的

首先要改成中文

1

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第6张

2

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第7张

以后启动项目

首先启动docker

sudo systemctl start docker

然后cd进入到onpremise下执行

docker-compose up -d

错误日志监控配置

python脚本监控

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第8张

选择监控类型

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第9张

 python监控

复制代码
#!/usr/bin/env python
# -*- coding:utf8 -*-
from raven import Client

# 设置dns的key
client = Client('http://f77284e1694144319ff6e27cf1cf9ae3:dd866ea1b3c34604ad9717deca56c320@47.52.39.160:9000/14')

try:
    1 / 0
except ZeroDivisionError:
    # 获取错误推送到错误监控
    client.captureException()
复制代码

监控

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误第12张

Docker监控

复制代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1',
    'social_django',
    'raven.contrib.django.raven_compat',   # 配置监控APP
]

# 配置监控配置
RAVEN_CONFIG = {
    'dsn': 'http://5def24308c64410fab2f8f4dda116195:619079b681ee4fb599ab62db4da8524f@47.52.39.160:9000/15',
}
复制代码

免责声明:文章转载自《第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VueX 基本使用(vue状态管理)及简单小实例arcgis JavaScript 加载 mapbox地图下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ODOO 新API修饰符

Odoo8中,API接口分为traditaional style和record style两种类型: traditional style指的就是我们在7.0中使用的类型,def(self,cr,uid,ids,context)式的语法. record style 8.0及以后版本精简化参数后的风格,只保留了self和args,形如def(self,args...

Android编程初涉,以控制摄像头为例

国庆假期期间王老师给我们一天的时间去熟悉Android编程,时间非常的短,当然内心其实并不想做的,不过本着既然做就尽量做好的原则呢,忙了几个小时把王老师要求的简单功能实现了一下,当然因为是只是熟悉一下就上网查了些资料粘贴复制了一下,设计思想和库并不熟悉,下面就实现控制摄像头的功能代码和《第一行代码——Android》和《操作系统概念》两本书的内容简单的展开...

list— 把数组中的值赋给一组变量

(PHP 4, PHP 5, PHP 7) list — 把数组中的值赋给一组变量  array list ( mixed $var1 [, mixed $... ] ) 像 array() 一样,这不是真正的函数,而是语言结构。 list() 可以在单次操作内就为一组变量赋值。  Note: list() 仅能用于数字索引的数组,并假定数字索引从 0 开...

pymysql 线程安全pymysqlpool

# -*-coding: utf-8-*- # Author : Christopher Lee # License: Apache License # File : test_example.py # Date : 2017-06-18 01-23 # Version: 0.0.1 # Description: simple test...

MyEclipse的多模块Maven web(ssm框架整合)

  Maven的多模块可以让项目结构更明确,提高功能的内聚,降低项目的耦合度,真正的体现出分层这一概念。   我们在操作中,要明白为什么这样做,要了解到更深的层次,这样,我们就不限于个别软件了。   话不多说,直入主题:   如果对Maven还不够熟悉,请看该博客:Maven基础   整个项目做完之后的结构是这样的:         在开始之前我放出这两张...

python+selenium动态抓取网页数据

window+python+selenium 1.下载selenium cmd pip3 instatll selenium 2.下载浏览器对应驱动版本 查看浏览器版本:chrome://version 驱动下载国外连接:http://chromedriver.storage.googleapis.com/index.html 驱动下载国内镜像连接(推荐...