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.新建一个虚拟机 等待自动安装完成 配置系统语言: 配置系统时间: 配置系统键盘: 语言支持: 默认自动使用安装源: 配置软件环境,需要及时添加的软件,这里 ...
随机推荐
- Authorization user to use specifical database
DENY VIEW any DATABASE to PUBLIC;ALTER AUTHORIZATION ON DATABASE::Best TO Best
- SSH里面使用jQuery的ajax
今天我真的很兴奋!在我的SSH项目中用jQuery的异步传输成功了,经过一天多的奋战,大工告成! 我的项目需求是在javascript中向我的controller(即:action)中传输form表单 ...
- 计算两个date类型的时间差
//两个时间之间分钟差 public static int compareDate(Date d1, Date d2) { // TODO Auto-generated method s ...
- python之pymysql模块学习(待完善...)
pymysql介绍 pymysql是在python3.x版本中用于连接mysql服务器的一个库.python2中则使用mysqldb. 安装方法: pip install pymysql 使用实例: ...
- Java并发编程:线程的基本状态
一.线程的基本状态 线程基本上有5种状态,分别是:NEW.Runnable.Running.Blocked.Dead. 1)新建状态(New) 当线程对象对创建后,即进入了新建状态,如:Thread ...
- Java排序算法之插入排序
基本过程: 每次将待排元素和已经排序好的序列进行比较,按照大小顺序插入进去,重新构造一个新的有序序列. 插入排序算法有种递归的思想在里面,它由N-1趟排序组成.初始时,只考虑数组下标0处的元素,只有一 ...
- 用exe4j将jar包转成.exe文件的教程
标准版教程再这里 http://pan.baidu.com/s/1i3gn0Br 1. 下载安装exe4j文件,并把你的java文件生成jar格式的文件,在桌面新建一个文件夹,把jar文件放进去 ...
- java 基础知识六 字符串1
java 基础知识六 字符串1 String 不是java的基本数据类型 String 不是java的基本数据类型 String 不是java的基本数据类型 字符串是是一个字符序列 1.创建 创建 ...
- JS为网页添加文字水印【原创】
最近需要实现为网页添加水印的功能,由于水印的信息是动态生成的,而百度谷歌上的方法往往都是为网页添加图片水印或为图片添加水印,而为网页添加文字水印相关资料较少,于是就自己动手写了这个代码. 通常加动态水 ...
- 深入理解MVC
首先我们来看看MVC架构的示意图: 和访问者交互的是控制层(Controller层),控制器(controller)是同类交互的集合,每一个交互的操作,都对应了一个动作(act ...