sh 在新的Ubuntu 14.04 Amazon EC2实例上安装Sentry(http://getsentry.com)+ Redis的基本安装脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 在新的Ubuntu 14.04 Amazon EC2实例上安装Sentry(http://getsentry.com)+ Redis的基本安装脚本相关的知识,希望对你有一定的参考价值。

#! /bin/bash

export RUN_AS='ubuntu';
export INSTALL_DIR='/var/www/sentry';
HOSTNAME='http://mysentry.example.com'; # No trailing slash
DB_HOST='something.rds.amazonaws.com';
DB_PORT='5432';
DB_USER='sentry';
DB_NAME='sentry';
DB_PASSWORD='DB_PASSWORD';
EMAIL_HOST='email-smtp.us-east-1.amazonaws.com';
EMAIL_PASSWORD='EMAIL_PASSWORD';
EMAIL_USER='EMAIL_USER';
EMAIL_PORT=465;

sudo apt-get install python-virtualenv libpq-dev python-dev supervisor redis-server;
sudo mkdir -p $INSTALL_DIR
sudo chown $RUN_AS:$RUN_AS $INSTALL_DIR


virtualenv $INSTALL_DIR
$INSTALL_DIR/bin/pip install sentry[postgres]
mkdir ~/.sentry/
cat << EOF > ~/.sentry/sentry.conf.py
# This file is just Python, with a touch of Django which means you
# you can inherit and tweak settings to your hearts content.
from sentry.conf.server import *

import os.path

CONF_ROOT = os.path.dirname(__file__)

DATABASES = {
    'default': {
        # You can swap out the engine for MySQL easily by changing this value
        # to ``django.db.backends.mysql`` or to PostgreSQL with
        # ``django.db.backends.postgresql_psycopg2``

        # If you change this, you'll also need to install the appropriate python
        # package: psycopg2 (Postgres) or mysql-python
        'ENGINE': 'django.db.backends.postgresql_psycopg2',

        'NAME': '$DB_NAME',
        'USER': '$DB_USER',
        'PASSWORD': '$DB_PASSWORD',
        'HOST': '$DB_HOST',
        'PORT': '$DB_PORT',

         #If you're using Postgres, we recommend turning on autocommit
         'OPTIONS': {
             'autocommit': True,
         }
    }
}


# If you're expecting any kind of real traffic on Sentry, we highly recommend
# configuring the CACHES and Redis settings

###########
## CACHE ##
###########

# You'll need to install the required dependencies for Memcached:
#   pip install python-memcached
#
# CACHES = {
#     'default': {
#         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
#         'LOCATION': ['127.0.0.1:11211'],
#     }
# }

###########
## Queue ##
###########

# See http://sentry.readthedocs.org/en/latest/queue/index.html for more
# information on configuring your queue broker and workers. Sentry relies
# on a Python framework called Celery to manage queues.

# You can enable queueing of jobs by turning off the always eager setting:
CELERY_ALWAYS_EAGER = False
BROKER_URL = 'redis://localhost:6379/1'

####################
## Update Buffers ##
####################

# Buffers (combined with queueing) act as an intermediate layer between the
# database and the storage API. They will greatly improve efficiency on large
# numbers of the same events being sent to the API in a short amount of time.
# (read: if you send any kind of real data to Sentry, you should enable buffers)

# You'll need to install the required dependencies for Redis buffers:
#   pip install redis hiredis nydus
#
#SENTRY_BUFFER = 'sentry.buffer.redis.RedisBuffer'
#SENTRY_REDIS_OPTIONS = {
#    'hosts': {
#        0: {
#             'host': 'localhost',
#             'port': 6379,
#         }
#     }
# }

################
## Web Server ##
################

# You MUST configure the absolute URI root for Sentry:
SENTRY_URL_PREFIX = '$HOSTNAME'  # No trailing slash!

# If you're using a reverse proxy, you should enable the X-Forwarded-Proto
# and X-Forwarded-Host headers, and uncomment the following settings
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
# USE_X_FORWARDED_HOST = True

SENTRY_WEB_HOST = '0.0.0.0'
SENTRY_WEB_PORT = 9000
SENTRY_WEB_OPTIONS = {
    'workers': 3,  # the number of gunicorn workers
    'limit_request_line': 0,  # required for raven-js
    'secure_scheme_headers': {'X-FORWARDED-PROTO': 'https'},
}

#################
## Mail Server ##
#################

# For more information check Django's documentation:
#  https://docs.djangoproject.com/en/1.3/topics/email/?from=olddocs#e-mail-backends

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = '$EMAIL_HOST'
EMAIL_HOST_PASSWORD = '$EMAIL_PASSWORD'
EMAIL_HOST_USER = '$EMAIL_USER'
EMAIL_PORT = $EMAIL_PORT
EMAIL_USE_TLS = True

# The email address to send on behalf of
SERVER_EMAIL = 'notifications@sentry'

###########
## etc. ##
###########

# If this file ever becomes compromised, it's important to regenerate your SECRET_KEY
# Changing this value will result in all current sessions being invalidated
SECRET_KEY = 'soqoues4eJ6esikdacjodNguWV9jz6y2M+7LbRTkHjDSmt61iXgu3A=='

# http://twitter.com/apps/new
# It's important that input a callback URL, even if its useless. We have no idea why, consult Twitter.
TWITTER_CONSUMER_KEY = ''
TWITTER_CONSUMER_SECRET = ''

# http://developers.facebook.com/setup/
FACEBOOK_APP_ID = ''
FACEBOOK_API_SECRET = ''

# http://code.google.com/apis/accounts/docs/OAuth2.html#Registering
GOOGLE_OAUTH2_CLIENT_ID = ''
GOOGLE_OAUTH2_CLIENT_SECRET = ''

# https://github.com/settings/applications/new
GITHUB_APP_ID = ''
GITHUB_API_SECRET = ''

# https://trello.com/1/appKey/generate
TRELLO_API_KEY = ''
TRELLO_API_SECRET = ''

# https://confluence.atlassian.com/display/BITBUCKET/OAuth+Consumers
BITBUCKET_CONSUMER_KEY = ''
BITBUCKET_CONSUMER_SECRET = ''
EOF

sudo -E bash -c 'cat << EOF > /etc/supervisor/conf.d/sentry.conf
[program:sentry-web]
user=$RUN_AS
directory=$INSTALL_DIR
command=$INSTALL_DIR/bin/sentry start
autostart=true
autorestart=true
redirect_stderr=true

[program:sentry-worker]
user=$RUN_AS
directory=$INSTALL_DIR
command=$INSTALL_DIR/bin/sentry celery worker -B
autostart=true
autorestart=true
redirect_stderr=true
EOF'

sudo bash -c 'echo "maxmemory 1gb" >> /etc/redis/redis.conf';
sudo bash -c 'echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf';

sudo service redis-server restart;
sudo service supervisor restart;

以上是关于sh 在新的Ubuntu 14.04 Amazon EC2实例上安装Sentry(http://getsentry.com)+ Redis的基本安装脚本的主要内容,如果未能解决你的问题,请参考以下文章

sh 这是我在新的ubuntu机器上运行的第一个命令,用于设置一个简单的防火墙,只允许我想要的。

无法从 ubuntu 14.04 LTS SSH 到 Amazon EC2 实例

sh Ubuntu 14.04的Netspeed指标

sh Ubuntu 14.04的Netspeed指标

sh Ubuntu 14.04的Netspeed指标

sh 在Ubuntu 14.04上更新curl