sentry

第29 章 : 安全容器技术

大兔子大兔子 提交于 2020-04-05 16:53:04
安全容器技术 本文将主要分享以下五方面的内容: 缘起:安全容器的命名 间接层:安全容器的精髓 Kata Containers:云原生化的虚拟化 gVisor:进程级虚拟化 安全容器:不止于安全 缘起:安全容器的命名 Phil Karlton 有一句名言:“计算机科学界只有两个真正的难题——缓存失效和命名。” 对我们容器圈而言,我相信“命名”绝对配得上这句话。这毫无疑问是一件让老开发者沉默、让新人落泪的事情。仅就系统软件而言,我们当今比较通行地称为“Linux 容器技术”这个概念,它曾经用过的名字还有 Jail、Zone、Virtual Server、Sandbox 等。同样,在早期虚拟化的技术栈里也把一类虚拟机叫做容器,毕竟这个词本身就指代那些用来包容、封装和隔离的器物。它实在太过常见了,以至于以严谨著称的 Wikipedia,它的词条叫做“OS-Level Virtualization”(系统级虚拟化),从而回避了“什么是容器”这个问题。 在 2013 年,Docker 问世之后,容器这个概念伴随着不可变基础设施、云原生这一系列概念在随后的几年间以摧古拉朽之势颠覆了基于“软件包 + 配置”这种细粒度组合的应用部署,用简单的声明式策略和不可变的容器就清爽地定义了软件栈。应用怎么部署,在这儿似乎有点离题了,我在这里想要强调的是: “云原生语境下的容器,实质是“应用容器”—

sentry使用docker-compose部署

佐手、 提交于 2020-03-29 11:41:31
sentry功能   Sentry是一个 实时事件的日志聚合平台 。它 专门监测错误并提取所有有用信息用于分析,不再麻烦地依赖用户反馈来定位问题 。 What’s Sentry?   Sentry fundamentally is a service that helps you monitor and fix crashes in realtime . The server is in Python, but it contains a full API for sending events from any language, in any application。 环境信息 centos7.x docker-ce Version: 18.09.0 docker-compose version 1.25.4 https://sentry.io https://github.com/getsentry/sentry https://github.com/docker-library/docs/tree/master/sentry sentry9.1.2(优化版) https://github.com/getsentry/onpremise/releases/tag/9.1.2 https://gitee.com/m0p/onpremise/repository/archive/9

docker下一步步部署sentry

风格不统一 提交于 2020-03-28 03:26:15
sentry概述   Sentry是程序的哨兵,它可以监 控我们在生产环境中项目的运行状态 ,一旦某段代码运行报错或者异常,会第一时间把报错的路由异常文件,请求方式 等一些非常详细的信息 以消息或者邮件给我们 ,让我们第一时间知道:程序出错了,然后我们可以从 Sentry 给我们的详细的错误信息中瞬间找到我们需要处理的代码,及时解决异常! 官方地址: https://github.com/getsentry/onpremise //安装部署 https://sentry.io https://github.com/getsentry/sentry https://github.com/docker-library/docs/tree/master/sentry //dockerhub官方镜像 v9.1.2 ## Requirements * Docker 17.05.0+ * Compose 1.17.0+ ## Minimum Hardware Requirements: * You need at least 3GB RAM env: centos7.x sentry架构 注意:当前分析v9.1.2   Sentry到底是如何实现实时日志监控报警的呢?首先, Sentry是一个C/S架构 ,我们需要在自己 应用中集成Sentry的SDK(支持前后端语言) 才能在

初始化sentry

若如初见. 提交于 2020-03-16 18:29:37
某厂面试归来,发现自己落伍了!>>> thinkphp/library/think/App.php public function initialize() { $this->initSentry(); } /** * 初始化sentry */ public function initSentry() { $domain = $this->request->domain(); $sys = 'cli'; if (strpos($domain, 'sports') !== false) { session('sys', 'sports'); $sys = 'sports'; } if (\think\facade\Env::get('APP_ENV') == 'test') { \Sentry\init(['dsn' => 'http://dd2c004sdfasfe839c202ce8b4a3503801e046e@sentry-dev.owenzhang.cn/6']); } elseif (\think\facade\Env::get('APP_ENV') == 'prod') { if ($sys == 343) { \Sentry\init(['dsn' => 'http://3aa38ce999114ceebe78c60f8da4a189@sentry-dev.owen

redis 搭建主从复制以及哨兵模式

时光毁灭记忆、已成空白 提交于 2020-03-13 23:26:21
单机模拟 https://my.oschina.net/shxjinchao/blog/2046247 修改7001节点的配置文件 cd /usr/local/redis-sentry/etc/7001/ vi redis.conf ###具体需要修改的配置 port 7001 ####redis一般都在内网运行,所以注释掉#bind 127.0.0.1 # bind 127.0.0.1 关闭保护模式,protected-mode 把yes改为no protected-mode no ##开启后台守护进程模式启动 daemonize yes ##密码 requirepass 123456 ## masterauth 123456 pidfile /var/run/redis_7001.pid ###指明日志文件名 logfile "/usr/local/redis-sentry/logs/7001/7001.log" dir /usr/local/redis-sentry/data/7001 修改7002节点的配置文件 cd /usr/local/redis-sentry/etc/7002/ vi redis.conf ###具体需要修改的配置 port 7002 ###注释掉bind属性 # bind 127.0.0.1 protected-mode no #

JavaScript全局错误处理

社会主义新天地 提交于 2020-03-05 17:50:57
我想抓住每个未定义的函数错误抛出。 JavaScript中是否存在全局错误处理工具? 用例是捕获未定义的闪存函数调用。 #1楼 如何捕获未处理的Javascript错误 将 window.onerror 事件分配给事件处理程序,如: <script type="text/javascript"> window.onerror = function(msg, url, line, col, error) { // Note that col & error are new to the HTML 5 spec and may not be // supported in every browser. It worked for me in Chrome. var extra = !col ? '' : '\ncolumn: ' + col; extra += !error ? '' : '\nerror: ' + error; // You can view the information in an alert to see things working like this: alert("Error: " + msg + "\nurl: " + url + "\nline: " + line + extra); // TODO: Report this error via

Devops工具

拈花ヽ惹草 提交于 2020-03-05 13:27:58
本文转自: https://blog.csdn.net/youanyyou/article/details/78990260 什么是DevOps DevOps是Development和Operations的组合,是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。 可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。 传统的软件组织将开发、IT运营和质量保障设为各自分离的部门。在这种环境下如何采用新的开发方法(例如敏捷软件开发),这是一个重要的课题:按照从前的工作方式,开发和部署不需要IT支持或者QA深入的、跨部门的支持,而却需要极其紧密的多部门协作。然而DevOps考虑的还不止是软件部署。它是一套针对这几个部门间沟通与协作问题的流程和方法。 DevOps工具 工欲善其事,必先利其器,现在大家在DevOps领域最关注的还是在工具层面。 下面是我跟这么多公司接触下来,大家使用比较多的工具: 1、监控工具 比较老牌的就是Zabbix,Nagios,用Zabbix的感觉是最多的。国内的有小米开源的OpenFalcon。这类监控工具一般是对服务器、服务(中间件,数据库)做一些常用指标的监控。 2

Redis单机搭建主从复制以及哨兵机制

杀马特。学长 韩版系。学妹 提交于 2020-03-02 05:01:53
1、环境准备 centos 7 创建一个目录 mkdir /usr/local/redis-sentry 上传redis安装到到/usr/local/redis-sentry目录 解压安装包到当前目录 tar -zxvf redis-3.2.8.tar.gz 进入到解压目录进行make cd ./redis-3.2.8 make 编译完成后进入src目录进行安装 ##我这里把redis安装到了redis-sentry目录下 make install PREFIX=/usr/local/redis-sentry 创建redis启动文件目录 mkdir /usr/local/redis-sentry/etc 现在我们预备四个节点,一个主节点,两个从节点,那么我可以通过端口不同模拟三台机器,具体操作就是配置三个redis.conf文件,分别配置不同的端口,启动四个实例即可达到模拟多节点的效果 接下来我们在/usr/local/redis-sentry/etc目录下面创建四个文件夹 分别为7001,7002,7003 cd /usr/local/redis-sentry/etc mkdir ./7001 ./7002 ./7003 复制redis.conf分别到./7001 ./7002 ./7003 三个目录 ##进入到redis解压目录去复制redis.conf配置文件到三个节点目录下

CPP中cout输出问题研究

此生再无相见时 提交于 2020-02-28 17:12:09
一直以来都喜欢用百度知道,最近有网友在百度知道上提问: 他的C++教学课程中有这样一段话: 【在定义流对象时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数据,在执行cout语句时,先把插入的数据顺序存放在输出缓冲区中,直到输出缓冲区满或遇到cout语句中的endl(或‘’,ends,flush)为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区,输出流中的数据在系统默认的设备(一般为显示器)输出。】 网友的疑问 :上面的这段话对不对?如果是对的,那他的意思是不是就是说如果没有遇到endl或者缓冲区没有满的时候是不是就不能进行输出了呢? 网友的意思是,如果有如下一段代码: int a; cin>>a; cout<<a; 上面的代码是不是存在不会输出的问题,因为按照教学课程的意思,上面的代码并未调用endl或flush,所以不会进行输出。但是实际上是有输出的,那么为什么?是不是教学课程有错误? 为此我查看了CPP标准库的源代码,从cout的实现看起。cout是ostream类的实例对象,查看该类的说明可以看到许多重载的<<操作符,<<操作符其实也是ostream类的成员函数,其后的a就是参数。那么在本例中其实就是调用 ostream& operator<< (int val); 这个操作符的重载函数。我们来看看这个重载的实现代码,如下: basic_ostream&

服务器环境(插件)搭建

て烟熏妆下的殇ゞ 提交于 2020-02-27 01:29:32
PHP开发工具: neteasecloudmusic ,phpstorm,postman,rdm,navicat for mysql,iterm,google chrome, dingtalk,wechat, youdao 正式和测试区别开有:域名,数据库,代码仓库分支(正式master,测试dev). 主流环境(插件):最笨就用宝塔面板,安全考虑使用以下: Grafana接口监控 https://www.jianshu.com/p/3527f48165d7 Jenkins代码部署 Sentry日志查看 GitLab代码仓库 Jumpserver堡垒机:在线文件管理,命令执行 sql审计平台 接口文档:swagger, CMIT 石墨在线办公文档 项目分工流程:禅道,钉钉蚂蚁分工,worktile 产品原型图,UI:蓝湖 PHP常用插件包:composter https://packagist.org/ https://www.phpcomposer.com/ topthink/framework ThinkPHP 核心框架库 rmccue/requests 用PHP编写的HTTP库 predis/predis Redis- Predis 扩展 lcobucci/jwt JWT 创建 Token phpmailer/phpmailer 实现PHP发邮件功能 endroid/qr