Помните процесс развертывания Sentry

Эксплуатация и обслуживание
Помните процесс развертывания Sentry

предисловие


SentryЭто инструмент для создания отчетов об ошибках в режиме реального времени с открытым исходным кодом, который поддерживает внешние и внутренние языки, другие внутренние языки и основные платформы. Поскольку это открытый исходный код, мы можем собрать его на нашем собственном сервере. В этой статье описывается процесс сборки и некоторые проблемы, возникающие в процессе сборки. Вы также можете следовать этому руководству, чтобы собрать его снова.

Среда развертывания


Ubuntu 16.04

Официальный сайт предоставляет два метода развертывания

1. докер

2. питон

Здесь я используюdockerспособ установки, быстрее

Сначала обновите пакет apt-get (этот процесс может занять некоторое время)

apt-get update && apt-get upgrade

1. Установите докер


wget -qO- https://get.docker.com/ | sh

// 查看 docker 是否安装成功
docker -v
// Docker version 18.09.5
证明docker安装成功

из-заdockerЗеркала все за границей, поэтому загрузка будет медленнее.Здесь используемДокер АкселераторПросто запустите следующую команду

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://4031ebb7.m.daocloud.io

2. Установкаpip


Выполните следующую команду для установки (обратите внимание, что она не установленаpythonЕсли нужно установить)

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate # 下载文件 

python get-pip.py #执行安装 

pip -V #查看pip版本
// pip 19.0.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

3. Установкаdocker-compose


использовать здесьpipинструменты управления для установкиdocker-compose

sudo pip install docker-compose

docker-compose --version // 查看版本是否安装成功

После вышеперечисленных шагов можно приступать к сборке.sentry

4. Построитьsentry


Первый пул с гитхабаsentry,бегать

git clone https://github.com/getsentry/onpremise.git

Потянув его вниз, войдите в каталогonpremise, вы можете видеть, что естьREADME.MD, следуйте инструкциям этой документации, чтобы установить его (этот рабочий документ, который был удален в то время, если есть обновление, обратитесь к последней версии документации)

  1. docker volume create --name=sentry-data && docker volume create --name=sentry-postgres - Make our local database and sentry volumes Docker volumes have to be created manually, as they are declared as external to be more durable.
  2. cp -n .env.example .env - create env config file
  3. docker-compose build - Build and tag the Docker services
  4. docker-compose run --rm web config generate-secret-key - Generate a secret key. Add it to .env as SENTRY_SECRET_KEY.
  5. docker-compose run --rm web upgrade - Build the database. Use the interactive prompts to create a user account.
  6. docker-compose up -d - Lift all services (detached/background mode).
  7. Access your instance at localhost:9000!

5. Практика


Открыть после завершения сборкиlocalhost:9000порт, вы можете увидеть интерфейс входа в систему, введите адрес электронной почты и пароль, установленные выше при создании

Уведомление! ! ! !

После ввода учетной записи и пароля для входа в систему вы войдете в интерфейс инициализации.ROOT URL, если вы увидите сообщение после заполнения, нажмите «Сохранить», и оно будет продолжать предлагатьсохранить ошибку, выполните следующие шаги, чтобы решить

редактировать файлconfig.yml, добавить следующий абзац

auth.allow-registration: false
beacon.anonymous: true
mail.from: ""
mail.host: ""
mail.password: ""
mail.port: 465
mail.use-tls: true
mail.username: ""
system.admin-email: ""
system.url-prefix: ""

затем установитеsentryверсия, следующая команда,CONTAINERЗамените его именем сети в вашем контейнере докеров, вы можете использоватьdocker psПосмотри на команду, мояonpremise_web_1

docker exec CONTAINER sentry config set sentry:version-configured '9.1.0'

Я получил ошибку, когда я выполнил это в первый раз, просто запустите его снова

Когда вы обновляете страницу в это время, вы можете обнаружить, что вы все еще застряли на этой странице начальных настроек. Как правило, вы можете войти через один или два часа после обновления. Я не знаю конкретной причины. Кажется, что это это из-за проблемы с кешем докера?

После открытия вы можете нажать в правом верхнем углу, чтобы добавить новый элементadd projectВыберите язык или фреймворк

658fec1048d756edcf376d433f6cae85.png

6. Возникшие проблемы

После загрузки соответствующей библиотеки в соответствии с руководством по работе с клиентом вам необходимо заполнитьDSN, в проектеsettingsнайден внутриDSNЯ обнаружил, что он пуст и не может быть заполнен, а затем нашел его в Интернете.DSNсостоит из следующего формата

http://pubilckey:secretkey@localhost:9000/<project>

Заполните этот формат клиентуDSNЗатем попробуйте вызвать ошибку, вы можете видеть, что интерфейс будет отображать конкретные сведения об ошибке.

7. Резюме

После сборки следуйте инструкциям по интеграции вvueа такжеflask, обнаружил, что эффект неплохой, после срабатывания ошибки вы можете увидеть конкретные сведения об ошибке, какая строка является конкретной, а также сведения о терминале, вызвавшем ошибку, ноvueВ настоящее время большинство из них запутаны и сжаты, поэтому их приходится загружатьsourcemapТолько тогда вы сможете увидеть конкретную ошибку в этом компоненте, который я все еще изучаю.