Centos7通过Docker安装Sentry(哨兵)
Docker介绍
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker主要解决什么问题?
Docker通过将运行环境和应用程序打包到一起,来解决部署环境依赖问题,真正做到跨平台的分发和使用。镜像(Image)
Docker镜像是一个容器的文件系统,提供容器运行时所需的程序、库、资源、配置等文件和运行时需要的一些配置参数( 如匿名卷、环境变量、用户等)。
Docker镜像是只读的,不包含任何动态数据,其内容在构建之后也不会被改变。
Docker利用UnionFS技术,设计为分层存储的架构,Docker镜像由多层文件系统联合组成。
镜像构建时,会一层层构建,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。
前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。容器(Container)
Linux的CGroup技术用来限定一个进程的资源使用,Namespace技术用来划分不同的命名空间。
容器的实质是进程,是基于CGroup技术和Namespace技术运行在操作系统上的一个拥有受限资源和单独命名空间的进程。
容器拥有自己的文件系统、网络配置、进程空间,甚至用户ID空间。
每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层。当容器运行时,会在镜像之上再加上一层可读可写层。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。
但数据卷(Volume)的生存周期独立于容器,容器消亡,数据不会丢失,所以文件写入操作应该使用数据卷( Volume)。仓库(Repository)
Docker Registry是提供集中的存储、分发镜像的服务。
一个 Docker Registry 中可以包含多个仓库( Repository) ;每个仓库可以包含多个标签( Tag) ;每个标签对应一个镜像。
通过 <仓库名>:<标签> 格式指定具体镜像。如果不给出标签,将以 latest 作为默认标签。Docker Registry 公开服务是开放给用户使用、允许用户管理镜像的 Registry 服务。
最常使用的 Registry 公开服务是官方的 Docker Hub,这也是默认的 Registry。
国内也有类似Docker Hub 的公开服务。例如:网易云镜像服务、DaoCloud镜像市场、阿里云镜像库等。
用户还可以在本地搭建私有 Docker Registry。Docker加速器
Docker加速器是指国内的一些云服务商提供了针对 Docker Hub 的镜像服务( Registry Mirror)。
使用加速器会直接从国仓库内的地址下载 Docker Hub 的镜像。容器的UUID
UUID -- 通用唯一标识符(Universally Unique Identifier)
容器有三种方式来进行标识:长UUID、短UUID、Name。
UUID 是 Docker daemon 产生的,在一台主机上是唯一的,在创建容器的时候可以通过--name 来指定容器的名字,如果不指定会自动分配一个字符串名称。
通过docker ps、docker inspect等命令可以查看到容器的标识信息。Docker的优势
- 更高效的系统资源利用。Docker容器不需要进行硬件虚拟以及运行完整操作系统等额外开销
- 更快速的启动时间。Docker容器应用直接运行于宿主内核,无需启动完整的操作系统。
- 一致的运行环境。Docker镜像提供除内核外完整的运行时环境。
- 更轻松的迁移。执行环境的一致性,迁移应用更加容易。
- 更便利的持续交付和部署。一次创建或配置,任意环境正常运行。
- 更轻松的维护和扩展。Docker的分层存储以及镜像技术,复用、维护和扩展更简单。
Docker安装
本文环境:阿里云ECS Centos7.3
1.安装Docker:
yum install docker运行docker --version可以查看版本号并确认是否安装成功。
2.安装Docker-compose:
Compose是用于定义和运行复杂Docker应用的工具。你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成。
curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose运行docker-compose --version查看版本号并确定是否安装成功
3.启动Docker服务:
service docker start4.常用Docker命令:
查看docker版本:docker version 显示docker系统的信息:docker info 检索image:docker search image_name 下载image : docker pull image_name 已下载镜像列表: docker images 删除镜像: docker rmi image_name 启动容器:docker run image_name
Sentry安装
官网介绍:Sentry是一个实时事件日志记录和汇集的日志平台,其专注于错误监控,以及提取一切事后处理所需的信息。他基于Django开发,目的在于帮助开发人员从散落在多个不同服务器上的日志文件里提取发掘异常,方便debug。Sentry由python编写,源码开放,性能卓越,易于扩展,目前著名的用户有Disqus, Path, mozilla, Pinterest等。它分为客户端和服务端,客户端就嵌入在你的应用程序中间,程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个web节目方便查看。
sentry是一个强大的分布式报错信息收集平台,图形化程度很高,可以帮助我们直观的发现当前部署的系统存在哪些问题。
更多介绍请看官网:https://sentry.io/
github:https://github.com/getsentry/sentry
在github上有一万多star,证明了它的优秀之处。
1.准备工作
官方提供了两种部署方式:
a. python
b. docker
但是最新官方已弃用python方式安装,而是提倡使用docker安装,所以我们使用docker方式来安装sentry服务端。
2.Dependencies
- docker版本需要在1.10+
- docker-compose
3.按照官方文档进行一下操作:https://docs.sentry.io/server/installation/docker/
按照文档第一步先去克隆 https://github.com/getsentry/onpremise 获取sentry
- setp1 克隆 git clone https://github.com/getsentry/onpremise.git 按照remind.md 一步步操作
- setp2 构建容器并创建数据库和sentry安装目录 mkdir -p data/{sentry,postgres}
- setp3 生成secret key并添加到docker-compose文件里 docker-compose run --rm web config generate-secret-key
- setp4 第四步时间有点长。其间会提示创建superuser,用户名是一个邮箱,这个邮箱今后会收到sentry相关的消息,口令可以随便设置,只要自己记得住就可以了。最后会在命令行输出一串乱七八糟的字符,这个就是secretkey,将这串字符复制到docker-compose.yml文件中并保存。
- setp5 重建数据库,并创建sentry超级管理员用户 sudo docker-compose run --rm web upgrade 创建用户,sentry新建的时候需要一个超级管理员用户
- step 6.启动所有的服务 docker-compose up -d
能到这里的话,你已经成功大半 了,恭喜。
可以运行 docker ps 查看正在运行的容器,接下来在浏览器中打开http://IP:9000 进行访问你的sentry后台了。
新建一个项目,选择客户端项目语言,我这儿是C#,可以参考https://github.com/getsentry/raven-csharp
新建控制台程序,通过nuget添加 SharpRaven
添加测试代码:
var ravenClient = new RavenClient(""); try{int i2 = ; int i = / i2; } catch (Exception exception) { ravenClient.Capture(new
SentryEvent(exception));
}
接下来在面板上应该可以看见刚刚测试的exception
到这儿,基本都已经安装完毕,更多用法请参考官方文档
最后
安装这个也是花费了不少时间,毕竟一开始对 centos以及docker 都是小白,看了不少文章以及走了不少弯路,好在最后鼓捣出来了。
转载请注明出处 IT胡小帅:http://www.cnblogs.com/CallMeUncle/p/6843513.html
Centos7通过Docker安装Sentry(哨兵)的更多相关文章
- CentOS 使用 Docker 安装 Sentry
官网介绍:Sentry是一个实时事件日志记录和汇集的日志平台,其专注于错误监控,以及提取一切事后处理所需的信息.他基于Django开发,目的在于帮助开发人员从散落在多个不同服务器上的日志文件里提取发掘 ...
- CentOS7利用docker安装MySQL5.7
CentOS7利用docker安装MySQL5.7 前提条件 centos7 且内核版本高于3.10, 可通过以下命令查看内核版本 uname -r 利用yum 安装docker 安装一些必要的系统工 ...
- 使用docker安装sentry
一.安装docker yum -y install docker 更换docker镜像源为中科大的 在配置文件/etc/docker/daemon.json中加入 { "registry-m ...
- Centos7使用docker搭建Sentry
1.安装docker Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ru ...
- [Docker]CentOS7下Docker安装教程
想要倒腾Kubernetes的话,第一步就是要会安装Docker,这篇文章讲一讲过程 安装步骤 检查内核版本,必须是3.10以上 uname -r 安装Docker yum -y install do ...
- Centos7使用Docker安装Gogs搭建git服务器
gihub地址:https://github.com/gogs/gogs gogs官网:https://gogs.io/ gihub官方docker安装gogs方法:https://github.co ...
- centos7上docker安装和使用教程
Docker 是一个创建和管理 Linux 容器的开源工具.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上 ...
- Centos7系统Docker安装
目录 前期说明 安装步骤 1.官网中文安装参考手册 2.确定你是CentOS7及以上版本 3.yum安装gcc相关 4.卸载旧版本 5.安装需要的软件包 6.设置stable镜像仓库 7.更新yum软 ...
- Vmware虚拟机中CentOS7与Docker安装图文教程
1.安装VMware 下载一个软件安装: 2.新建一个虚拟机 等待自动安装完成 配置系统语言: 配置系统时间: 配置系统键盘: 语言支持: 默认自动使用安装源: 配置软件环境,需要及时添加的软件,这里 ...
随机推荐
- java设计模式(1)
设计模式定义 设计模式原则 设计模式分类 常用设计模式 (一)设计模式定义 设计模式是针对软件设计中普遍存在的各种问题,所提出的解决方案. 换句话说,设计模式是一套被反复使用,多数人知晓的.经过分类的 ...
- Memcached十问十答
1.Memcached是什么,有什么作用? Memcached是一种纯内存的,key-value,CS架构的数据库服务软件,主要用于数据库,web服务器的缓存,以减小数据库,web服务器的访问压力,尤 ...
- redis 3.2 报错 Redis protected-mode 配置文件没有真正启动
(error) DENIED Redis is running in protected mode because protected mode is enabled Redis protected- ...
- 小程序新能力-个人开发者尝鲜微信小程序
个人开发者的福利 微信小程序,刚听到这个新名词的时候,我就兴冲冲的去找入口,看看自己能不能搞个微信小程序的HelloWorld,毕竟能在微信上把自己写的一些小工具跑起来还是满炫酷的. 没想,网上一查, ...
- 新人报道~cnblogs
我的名字:杨先生 我的英文名:Allen 和你们一样,是一名程序猿,专业技能 C#.前端小块.
- MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ...
下面是我update数据库时打印出来的异常: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSynt ...
- MySQL大数据量分页查询
mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...
- C#.Net面试题
点这里,有很多篇<C#..Net经典面试题02> 在线阅读本文:http://3y.uu456.com/bp_5dcve363vi7px008u2lt_1.html C#..Net经典面试 ...
- 【Electron】Electron开发入门(六):项目生成setup安装程序
把electron发布的exe打包成setup安装程序,需要使用nsis软件, nsis打包的详细教程,可以参考我的这篇文章: win7下nsis打包exe安装程序教程
- Python之路-awk文本处理
作业一:整理博客,内容包含awk.变量.运算符.if多分支 一.awk 1.awk是一个优秀的文本处理工具,多用来处理含有特殊分隔符的内容 常见用法 awk -F: {print $1,$4} 作业 ...




