centos7 sentry部署指南


依賴說明

sentry官方推薦docker方式安裝,使用到了docker-compose。docker至少是1.10.3以上的版本。為此需要使用centos7。

安裝docker

#添加yum 源
# sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

#安裝docker-engine
# yum update
# yum install -y docker-engine
# systemctl enable docker
# systemctl start docker
# groupadd docker
# usermod -aG docker $USER

安裝docker-compose

 pip install docker-compose

配置daocloud docker加速器

登錄daocloud.io注冊一個帳號后,即可訪問到加速器的配置,然后在終端上執行,如下:

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

下載getsentry/onpremise倉庫

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

按以下步驟啟動服務

  • step1,生成密鑰,並將生成的結果回填到文件docker-compose.yml中的環境變量SENTRY_SECRET_KEY中。
    docker-compose run --rm web config generate-secret-key
services:
  base:
    build: .
    environment:
      # Run `docker-compose run web config generate-secret-key`
      # to get the SENTRY_SECRET_KEY value.
      SENTRY_SECRET_KEY: 's2z8av!g*99vlatf5(2d3ncy)b+j5df(01i&x!+#9l0lm3xc^^'
      SENTRY_MEMCACHED_HOST: memcached
      SENTRY_REDIS_HOST: redis
      SENTRY_POSTGRES_HOST: postgres
      SENTRY_EMAIL_HOST: smtp
    # volumes:
      # - ./data/sentry:/var/lib/sentry/files
  • step2,生成數據庫,根據提示創建superadmin帳號
    docker-compose run --rm web upgrade
  • step3,運行所有容器
    docker-compose up -d
  • step4,sentry ui默認的端口是9000,訪問[ip]:9000即可打開web管理界面

具體使用參考:https://github.com/getsentry/onpremise

如何集成到應用中

  • step1, pom.xml中引入io.sentry
        <dependency>
            <groupId>io.sentry</groupId>
            <artifactId>sentry-logback</artifactId>
        </dependency>
  • step2:在src/resources/logback-spring.xml中配置appender,並添加相應的appender-ref引用。
		<!--寫日志到sentry, 需要提供更多參數在sentry.properties中配置-->
		<appender name="sentry" class="io.sentry.logback.SentryAppender">
			<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
				<level>WARN</level>
			</filter>
		</appender>
	   
	   <springProfile name="qc,prod">
			<root level="INFO">
				<appender-ref ref="asyncFileAppender"/>
				<appender-ref ref="sentry"/>
			</root>
		</springProfile>
  • 在/etc/supervisor/conf.d/中的各個配置文件中增加環境變量SENTRY_DSN,該值是從sentry web 平台中創建項目生成的。
		vi /etc/supervisor/conf.d/ielong-portal.conf

		[program:ielong-portal]
		directory = /opt/ibuild ; 程序的啟動目錄
		command = java -jar ielong-portal-1.0-SNAPSHOT.jar --spring.profiles.active=qc ; 啟動命令,可以看出與手動在命令行啟動的命令是一樣的
		environment=SENTRY_DSN="http://eb5c47da4a5942188c62da86ffc19cab:639141c14bf649be8fca803f30aeeb66@192.168.0.1111:9000/2"
		autostart = true     ; 在 supervisord 啟動的時候也自動啟動
		startsecs = 30        ; 啟動 5 秒后沒有異常退出,就當作已經正常啟動了
		autorestart = true   ; 程序異常退出后自動重啟
		startretries = 3     ; 啟動失敗自動重試次數,默認是 3
		user = root          ; 用哪個用戶啟動
		redirect_stderr = true  ; 把 stderr 重定向到 stdout,默認 false
		stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默認 50MB
		stdout_logfile_backups = 20     ; stdout 日志文件備份數
		; stdout 日志文件,需要注意當指定目錄不存在時無法正常啟動,所以需要手動創建目錄(supervisord 會自動創建日志文件)
		stdout_logfile = /var/log/ielong-portal.log


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM