Sentry监控系统搭建流程

1.安装Sentry

(1)更新docker版本

注意:最新21版本docker要求在19.3.05版本及以上,如果版本过低,需要更新(更新前要先卸载旧版本)
列出所有包
sudo yum list installed | grep docker
删除相关包
sudo yum -y remove dockerXXXXXX
sudo yum -y remove docker-ceXXXXXX
更新docker-ce版本:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum list docker-ce --showduplicates | sort -r

yum install docker-ce-19.03.6

(2)安装依赖

yum install epel-release
yum install -y python-pip
pip install docker-compose
yum install git

(3)启动sentry

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

然后进入onpremise目录

执行 ./install.sh(过程中可能会让你配置管理员账号)

执行完成后使用docker-compose up -d 启动

2.配置钉钉告警

有两种方法

(1)在requirements.txt加入以下内容,然后重启所有应用(改方式有缺点,插件是别人写的,告警内容有限,不可修改)
sentry-dingtalk-notify
sentry-dingtalk-new

(2)自己写一个接口,接收sentry发送的数据(),由自己的程序处理完后再发送到钉钉,告警方式选择webhooks,填写自己的接口地址即可

#!/usr/bin/python
# -*- coding: utf-8 -*-import json
import os
from flask import request, Flask  # flask模块
from dingtalkchatbot.chatbot import DingtalkChatbot  # 钉钉发送群消息模块# 将数据写入到文件中
def Open(s):Path = './temp.json'# 判断文件是否存在if os.path.exists(Path):os.remove(Path)  # 先删除文件# 文件不存在时,将数据写入到文件中f = open(Path, 'w')print(s, file=f)f.close()# 接收数据
def GetData():PostData = request.get_data()  # 获取jira POST请求的原始数据Data = Data = json.loads(PostData)  # 将json格式的数据转换为字典sonData = json.dumps(Data, ensure_ascii=False, indent=4)  # 格式化json数据return Data# Open函数和GetData函数用作获取数据,对数据进行分析使用# Flask通用配置
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False@app.route('/webhook/test/', methods=['POST'])
def IssueCreate():Open(GetData())project = GetData()['project']level = GetData()['level']url = GetData()['url']environment = GetData()['event']['environment']types=GetData()['event']['title']messages = GetData()['message']culprit = GetData()['culprit']message = str('##' + '项目:%s' % project + '##' + '\n''告警等级:%s' % level + '\n''错误地址:%s' % url + '\n''环境:%s' % environment + '\n''类型:%s' % types + '\n'                              '主要告警信息:%s' % messages + '\n''主要原因:%s' % culprit + '\n')print(message)send_message(message)return "OK", 200def send_message(message):webhook = 'https://oapi.dingtalk.com/robot/send?access_token='xiaoding = DingtalkChatbot(webhook)xiaoding.send_text(msg=message, is_at_all=True)  # is_at_all参数为True表示@所有人if __name__ == '__main__':app.run(debug=False, host='部署的IP', port=8888)

3.数据备份和导入

注意:该方法太暴力,备份后的数据重新导入会存在问题,建议只备份某些需要的表

(1)数据备份

进入docker容器 postgres-db 容器id
docker exec -it 容器ID /bin/bash
进入postgres数据库
psql -U postgres
导出命令
pg_dump -U postgres traffic > ./traffic.sql
从容器导出到宿主机
docker cp postgres-db:/var/lib/postgresql/traffic.sql /data

(2)数据导入

从容器导出到宿主机
docker cp /data/traffic.sql postgres-db:/var/lib/postgresql/
进入docker容器 postgres-db 容器id
docker exec -it 容器ID /bin/bash
进入postgres数据库
psql -U postgres 删除该库的所有数据然后重新导入
切换postgres用户
su - postgres
导入命令
psql -U postgres -d postgres < traffic.sql

Sentry监控系统搭建流程及钉钉告警配置相关推荐

  1. 服务器是什么系统_为什么视频监控系统搭建,要使用流媒体服务器做视频分发?...

    众所周知,TSINGSEE有很多视频流媒体平台和辅助分发的组件,例如EasyNVR.EasyDSS.EasyGBS均是流媒体平台,而EasyRTMPLive则是负责拉转推的推流网关. 而对于流媒体服务 ...

  2. Zabbix监控系统搭建飞书机器人告警

    Zabbix监控系统搭建&飞书机器人告警 操作系统:CentOS7x64 Zabbix版本:5.0LTS 参考官网链接:下载Zabbix 5.0 LTS for CentOS 7, MySQL ...

  3. Grafana监控系统之Prometheus+Grafana监控系统搭建

    Grafana监控系统之Prometheus+Grafana监控系统搭建 本文章内容较长,可通过右上角点击目录快速定位想看的内容 => => 一. 概述 1.1 Grafana介绍 Gra ...

  4. Traefik监控系统搭建

    Traefik监控系统搭建 背景 前边的文章Traefik学习中已经介绍了Traefik的使用,但是如果没有一个可视化的Traefik访问状态与Acces Log的Dashboard界面的话,对于一个 ...

  5. ELK日志监控系统搭建

    ELK日志监控系统搭建 一.安装Elasticsearch: https://es.xiaoleilu.com/index.html  1.下载elasticsearch安装文件,官网下载地址:htt ...

  6. 一篇文章让你了解视频监控系统搭建过程中如何选择存储方式

    作为安防视频流媒体服务器软件的提供商,我们日常项目中遇到的需求主要是搭建一整套完整的视频监控系统,包括前端摄像头.线缆.传输系统.存储系统.解码拼控和大屏设备等组成.存储系统是整个监控系统中最为重要的 ...

  7. 视频监控系统搭建为什么要使用流媒体服务器做视频分发?

    大家知道TSINGSEE团队有很多视频流媒体平台和辅助分发的组件,我们研发的EasyNVR.EasyDSS.EasyGBS是流媒体平台,而EasyRTMPLive就是负责拉转推的推流网关,当然还有很多 ...

  8. GPE服务器监控系统搭建

    GPE服务器监控系统搭建 使用 Prometheus + Grafana + Exporter 监控服务器的运行状态 相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing, ...

  9. 5分钟完成业务实时监控系统搭建,是一种什么样的体验?

    简介:道旅需要构建一个全面的指标监控系统,既包括系统的业务指标:如各类业务类型的请求数变化,不同供应商信息的变化,客户请求的明细大盘,各酒店请求量的排名变化,不同城市的订单转换率分析报表等:也包括系统 ...

最新文章

  1. 组件化开发和模块化开发概念辨析
  2. BOW模型在ANN框架下的解释
  3. Spring 依赖注入(二、注入参数)
  4. Report_报表中Ref Cursor数据源的概念和用法(案例)
  5. SP Session
  6. TensorFlow模型持久化
  7. MyBatis 源码解读-配置解析过程
  8. 中后端管理系统前后分离、前端框架的实现拙见
  9. puppet 安装mysql_Puppet安装dashboard
  10. 腾讯视频下载安装免费2020_腾讯视频app的哪里发贴
  11. 推给我的广告都跟我最近看的内容有关系,怎么做到的?
  12. 拳打苹果 脚踢三星 国产品牌占据泰国手机市场超半数份额!
  13. 3d激光雷达开发(icp匹配)
  14. 怀黄佩紫的拼音及解释
  15. 编写shell脚本实现tomcat定时重启的方法
  16. 基于cygwin构建u-boot(三)make错误忽视
  17. [LeetCode]Reverse Integer
  18. Ajax json 数据格式
  19. 绿油损耗大于大多数高速板材,对于高度板材而言,绿油带来的损耗会更明显
  20. 数学表达式基础——2 集合、向量与矩阵

热门文章

  1. 开源Windows 10 PowerToys简介
  2. [Hexo]Hexo+github搭建静态博客
  3. matlab sym 画图,poly2sym之后的画图问题
  4. [考研信息] 2020年考研重要时间节点
  5. 戴尔电脑插入耳机后麦克风收不到声音或着很吵
  6. 帝国cms灵动标签调用当前栏目下所有子栏目链接,子栏目名称,子栏目图片
  7. 321套Excel可视化图表、Excel模板(在Excel里面实现数据可视化),史上最全Excel可视化图表,模板
  8. 北雄安 南佛山:区块链政务应用C位城市已出线 ——区块链市政应用四级梯队盘点...
  9. FXmarket 集团 9月24日财经早餐:美元小幅上扬,黄金创二周新高,期银飙升5%
  10. Arduino Ethernet构建简易服务器