Sentry监控系统搭建流程及钉钉告警配置
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监控系统搭建流程及钉钉告警配置相关推荐
- 服务器是什么系统_为什么视频监控系统搭建,要使用流媒体服务器做视频分发?...
众所周知,TSINGSEE有很多视频流媒体平台和辅助分发的组件,例如EasyNVR.EasyDSS.EasyGBS均是流媒体平台,而EasyRTMPLive则是负责拉转推的推流网关. 而对于流媒体服务 ...
- Zabbix监控系统搭建飞书机器人告警
Zabbix监控系统搭建&飞书机器人告警 操作系统:CentOS7x64 Zabbix版本:5.0LTS 参考官网链接:下载Zabbix 5.0 LTS for CentOS 7, MySQL ...
- Grafana监控系统之Prometheus+Grafana监控系统搭建
Grafana监控系统之Prometheus+Grafana监控系统搭建 本文章内容较长,可通过右上角点击目录快速定位想看的内容 => => 一. 概述 1.1 Grafana介绍 Gra ...
- Traefik监控系统搭建
Traefik监控系统搭建 背景 前边的文章Traefik学习中已经介绍了Traefik的使用,但是如果没有一个可视化的Traefik访问状态与Acces Log的Dashboard界面的话,对于一个 ...
- ELK日志监控系统搭建
ELK日志监控系统搭建 一.安装Elasticsearch: https://es.xiaoleilu.com/index.html 1.下载elasticsearch安装文件,官网下载地址:htt ...
- 一篇文章让你了解视频监控系统搭建过程中如何选择存储方式
作为安防视频流媒体服务器软件的提供商,我们日常项目中遇到的需求主要是搭建一整套完整的视频监控系统,包括前端摄像头.线缆.传输系统.存储系统.解码拼控和大屏设备等组成.存储系统是整个监控系统中最为重要的 ...
- 视频监控系统搭建为什么要使用流媒体服务器做视频分发?
大家知道TSINGSEE团队有很多视频流媒体平台和辅助分发的组件,我们研发的EasyNVR.EasyDSS.EasyGBS是流媒体平台,而EasyRTMPLive就是负责拉转推的推流网关,当然还有很多 ...
- GPE服务器监控系统搭建
GPE服务器监控系统搭建 使用 Prometheus + Grafana + Exporter 监控服务器的运行状态 相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing, ...
- 5分钟完成业务实时监控系统搭建,是一种什么样的体验?
简介:道旅需要构建一个全面的指标监控系统,既包括系统的业务指标:如各类业务类型的请求数变化,不同供应商信息的变化,客户请求的明细大盘,各酒店请求量的排名变化,不同城市的订单转换率分析报表等:也包括系统 ...
最新文章
- 组件化开发和模块化开发概念辨析
- BOW模型在ANN框架下的解释
- Spring 依赖注入(二、注入参数)
- Report_报表中Ref Cursor数据源的概念和用法(案例)
- SP Session
- TensorFlow模型持久化
- MyBatis 源码解读-配置解析过程
- 中后端管理系统前后分离、前端框架的实现拙见
- puppet 安装mysql_Puppet安装dashboard
- 腾讯视频下载安装免费2020_腾讯视频app的哪里发贴
- 推给我的广告都跟我最近看的内容有关系,怎么做到的?
- 拳打苹果 脚踢三星 国产品牌占据泰国手机市场超半数份额!
- 3d激光雷达开发(icp匹配)
- 怀黄佩紫的拼音及解释
- 编写shell脚本实现tomcat定时重启的方法
- 基于cygwin构建u-boot(三)make错误忽视
- [LeetCode]Reverse Integer
- Ajax json 数据格式
- 绿油损耗大于大多数高速板材,对于高度板材而言,绿油带来的损耗会更明显
- 数学表达式基础——2 集合、向量与矩阵
热门文章
- 开源Windows 10 PowerToys简介
- [Hexo]Hexo+github搭建静态博客
- matlab sym 画图,poly2sym之后的画图问题
- [考研信息] 2020年考研重要时间节点
- 戴尔电脑插入耳机后麦克风收不到声音或着很吵
- 帝国cms灵动标签调用当前栏目下所有子栏目链接,子栏目名称,子栏目图片
- 321套Excel可视化图表、Excel模板(在Excel里面实现数据可视化),史上最全Excel可视化图表,模板
- 北雄安 南佛山:区块链政务应用C位城市已出线 ——区块链市政应用四级梯队盘点...
- FXmarket 集团 9月24日财经早餐:美元小幅上扬,黄金创二周新高,期银飙升5%
- Arduino Ethernet构建简易服务器