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

安装Docker:

yum install docker

启动Docker服务:

service docker start

常用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

  • 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 = 0; int i = 10 / i2; } catch (Exception exception) { ravenClient.Capture(new

 SentryEvent(exception));
}

接下来在面板上应该可以看见刚刚测试的exception

到这儿,基本都已经安装完毕,更多用法请参考官方文档

https://docs.sentry.io/

最后

安装这个也是花费了不少时间,毕竟一开始对 centos以及docker 都是小白,看了不少文章以及走了不少弯路,好在最后鼓捣出来了。

转载请注明出处 IT胡小帅:http://www.cnblogs.com/CallMeUncle/p/6843513.html

时间: 2024-10-24 13:25:35

Centos7通过Docker安装Sentry(哨兵)的相关文章

CentOS 使用 Docker 安装 Sentry

官网介绍:Sentry是一个实时事件日志记录和汇集的日志平台,其专注于错误监控,以及提取一切事后处理所需的信息.他基于Django开发,目的在于帮助开发人员从散落在多个不同服务器上的日志文件里提取发掘异常,方便debug.Sentry由python编写,源码开放,性能卓越,易于扩展,目前著名的用户有Disqus, Path, mozilla, Pinterest等.它分为客户端和服务端,客户端就嵌入在你的应用程序中间,程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个web节目

centos7主要特性 ---docker安装测试

红帽日前正式发布了企业版Linux 7,满足企业当前对数据中心的需求和对下一代的云服务.Containers.大数据的需求,为用户提供军用级安全以及稳定.易用.高效的管理.社区发行版CentOS 7也已经发布出来了,抢先体验docker1.0. rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 安装docker      yum install docker-io 启动服务    

Centos7使用Docker安装Gogs源码git仓库

gihub地址:https://github.com/gogs/gogs gogs官网:https://gogs.io/ gihub官方docker安装gogs方法:https://github.com/gogs/gogs/tree/master/docker 我这边另外一篇centos7安装docker的文章:https://www.cnblogs.com/Sungeek/p/9182433.html 搭建环境:centos7+docker+git+Mariadb 最近公司内部需要搭建一个gi

Centos7.3 Docker安装部署学习记录1

一.Docker基础环境的安装 1. 环境说明 本机采用操作系统如下: CentOS-7.3-X86-64,内核3.10 x64位,docker 1.12.x版本.   建议采用CentOS7版本或ubuntu版本,本文采用CentOS7即CentOS-7-x86_64-DVD-1611.iso版本最小化安装.    Docker可以在虚拟机环境中运行进行使用测试.本文出自:http://koumm.blog.51cto.com/ 2. 主机网络 1)关闭firewalld防火墙和SELinux

centos7之docker安装

下午四点左右,我准备接触docker这个技术.之所以接触它,原因来自tomcat服务器老是挂,也不能说老是挂,一周一次吧,或者不定时,最初出现的问题,分为这么几类? 一类,java代码的问题,某个类导致线程阻塞导致内存泄露,使tomcat突然宕机和某个类找不到异常导致宕机; 二类,java运行环境内存不足,通过调tomcat内存解决该问题,不过这并不能解决这个问题,当然tomcat初始内存的确小,需求适当的调大,但是前提必须符合服务器的配置和内存; 三类,tomcat连接池和线程池的缘故,需要t

centos7中docker安装并启动jpress

首先到 http://jpress.io/index.html 下载jpress,也可点击链接:https://share.weiyun.com/5efph5T 密码:nfeiei,下载war包. 1.在docker中安装一个mysql docker pull hub.c.163.com/library/mysql:latest 2.docker中安装tomcat docker pull hub.c.163.com/library/tomcat:latest 3.编写Dockerfile sud

CentOS7下Docker安装

1 uname -r查看内核版本是否高于3.10 2 yum -y install docker-ce安装docker 3 systemctl start docker启动docker systemctl enable docker设置开机自动启动 4 docker run hello-word运行hello-world容器(会自动下载hello-world镜像并启动容器) other: yum remove docker-ce 卸载docker rm -rf /var/lib/docker 原

CentOS7 虚拟机docker安装宝塔及端口映射

启动docker服务 systemctl start docker 列出所有的容器 ID docker ps -aq [[email protected] ~]# docker pull centos [[email protected] ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 5a9061639d0a 5 days ago 126 MB docker.io/centos late

centos7使用docker安装es(elasticsearch)

1.安装docker依赖(已安装可以不用安装) yum install -y docker 2.搜索镜像 docker search elasticsearch 如果出现以下报错 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 执行以下代码 systemctl daemon-reload sudo service docker restart 3.拉