CentOS7 安装sentry

Posted 飞翔的熊blabla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 安装sentry相关的知识,希望对你有一定的参考价值。

我个人经验

判断有无docker

[root@iZwz9bkghvz28iwycn4yi2Z ~]# docker 
-bash: docker: command not found

移除干净本机docker
[root@iZwz9bkghvz28iwycn4yi2Z ~]# yum remove docker docker-common docker-selinux docker-engine
Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-common
No Match for argument: docker-selinux
No Match for argument: docker-engine
No Packages marked for removal

安装步骤1
[root@iZwz9bkghvz28iwycn4yi2Z ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

步骤2
[root@iZwz9bkghvz28iwycn4yi2Z ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

步骤3、添加docker yum源
[root@iZwz9bkghvz28iwycn4yi2Z ~]# yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo

步骤4:安装pip

yum  install -y python-pip


[root@iZwz9bkghvz28iwycn4yi2Z ~]# yum-config-manager --enable docker-ce-edge

[root@iZwz9bkghvz28iwycn4yi2Z ~]# yum -y install docker-ce

启动docker
[root@iZwz9bkghvz28iwycn4yi2Z ~]# systemctl start docker

测试docker
[root@iZwz9bkghvz28iwycn4yi2Z ~]# docker run hello-world

安装docker-compose
[root@iZwz9bkghvz28iwycn4yi2Z ~]# pip install docker-compose

pip下载版本过低
You are using pip version 8.1.2, however version 22.0.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

这个指令可以升级到指定版本
[root@iZwz9bkghvz28iwycn4yi2Z ~]# python -m pip install --user --upgrade pip==22.0.4 


[root@iZwz9bkghvz28iwycn4yi2Z ~]# pip -version

[root@iZwz9bkghvz28iwycn4yi2Z ~]# pip install docker-compose
报错
 Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-Oh9iEH/distro/setup.py", line 17, in <module>
        setup()
      File "/usr/lib64/python2.7/distutils/core.py", line 125, in setup
        dist.parse_config_files()
      File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 354, in parse_config_files
        parse_configuration(self, self.command_options)
      File "/usr/lib/python2.7/site-packages/setuptools/config.py", line 106, in parse_configuration
        meta.parse()
      File "/usr/lib/python2.7/site-packages/setuptools/config.py", line 376, in parse
        section_parser_method(section_options)
      File "/usr/lib/python2.7/site-packages/setuptools/config.py", line 349, in parse_section
        self[name] = value
      File "/usr/lib/python2.7/site-packages/setuptools/config.py", line 173, in __setitem__
        value = parser(value)
      File "/usr/lib/python2.7/site-packages/setuptools/config.py", line 433, in _parse_version
        version = self._parse_attr(value)
      File "/usr/lib/python2.7/site-packages/setuptools/config.py", line 299, in _parse_attr
        module = import_module(module_name)
      File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
        __import__(name)
    ImportError: No module named distro
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Oh9iEH/distro/
You are using pip version 8.1.2, however version 22.0.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.


[root@iZwz9bkghvz28iwycn4yi2Z ~]# python -m pip install --upgrade pip
Successfully installed pip-20.3.4

[root@iZwz9bkghvz28iwycn4yi2Z ~]# pip -V
pip 20.3.4 from /usr/lib/python2.7/site-packages/pip (python 2.7)


[root@iZwz9bkghvz28iwycn4yi2Z ~]# pip install --upgrade setuptools

[root@iZwz9bkghvz28iwycn4yi2Z ~]# pip install pyrsistent==0.16.1
Successfully installed pyrsistent-0.16.1


已经安装成功
[root@iZwz9bkghvz28iwycn4yi2Z ~]# pip  install docker-compose


安装git
[root@iZwz9bkghvz28iwycn4yi2Z ~]# yum install git

克隆getSentry/premise
[root@iZwz9bkghvz28iwycn4yi2Z ~]# git clone https://github.com/getsentry/sentry.git


安装
- 数据库相关
docker volume create --name=sentry-data && docker volume create --name=sentry-postgres 
- 生成.env
cp -n .env.example .env 
-创建docker服务- Build and tag the Docker services
docker-compose build 
- 生成senctry_secret_key
docker-compose run --rm web config generate-secret-key
- 创建账户 Build the database. Use the interactive prompts to create a user account.
docker-compose run --rm web upgrade 
启动所有服务Lift all services (detached/background mode).

Access your instance at localhost:9000!

[root@iZwz9bkghvz28iwycn4yi2Z onpremise]# ./install.sh 
创建账号

docker-compose up -d 

启动

参考:

centos创建nginx

​​​​​​CentOS7安装Nginx - boonya - 博客园

nginx配置

http
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream sentry
       server localhost:9000;
   

    server
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /
            proxy_pass http://sentry; #转发到nginx
           # proxy_set_header Host $host:$server_port;
            
       

其他

 Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.jsphp,rubyC#,java 等语言的项目都可以做到无缝集成,甚至可以用来对iosandroid 移动客户端以及 Web前端异常进行跟踪。我们可以在程序中捕获异常,并发送到 Sentry服务端进行聚合统计、展示和报警。

   sentry官方推荐docker方式安装,使用到了docker-compose。docker至少是1.10.3以上的版本。为此需要使用centos7。

  Docker在2016年很早的时候就明确了将会在企业级方面重点跟进。而在短短的一年时间之内推出的1.12和1.13的版本在功能上确实是很大的进步。而在2017年的3月1号之后,Docker的版本命名开始发生变化,同时将CE版本和EE版本进行分开了,EE是企业版,CE是社区版,如果直接使用‘

yum install -y docker-engine 或者
yum install -y docker 安装的都是老版本docker

现在在网上看到的大部分教程都还是使用旧版本,本次我们采用的是安装Docker CE版:

1、线卸载旧版本Docker

1

yum remove docker  docker-common  docker-selinux  docker-engine

2、安装依赖包

1

yum install -y yum-utils   device-mapper-persistent-data   lvm2

3、添加docker yum源

yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo

4、可选操作:允许拓展最新的不稳定的repository

1

yum-config-manager --enable docker-ce-edge

5、安装Docker

yum -y install docker-ce

6、启动Docker

1

systemctl start docker

7、测试Docker

1

docker run hello-world

如果以上步骤成功则测试时会返回如下结果:

8、查看docker版本,docker至少是1.10.3以上的版本,如果我没有指定版本默认安装最新的则肯定满足条件

docker --version

返回

9、继续安装依赖,需要用到git,docker-compose,pip等组件

1

2

3

4

yum install epel-release

yum  install -y python-pip

pip  install docker-compose

yum install git

10、 浏览器打开https://github.com/getsentry/onpremise,在README.md文件里面有

GitHub - practo/sentry-onpremise: Sentry On-Premise setup

我们先运行第一步创建所需的文件夹

mkdir -p data/sentry,postgres

然后我们ls会发现多了一个data文件夹,如下:

11、克隆该项目

git clone https://github.com/getsentry/sentry.git

完成后会多一个

12、这一步很重要,官网并没有说明这一步,我们需要cd进入data目录

1

cd onpremise/

13、生成秘钥

docker-compose run --rm web config generate-secret-key

14、把刚才最后一行的秘钥复制下来

vim docker-compose.yml

15、创建数据库

docker-compose run --rm web upgrade

在创建数据的时候会提示我们是否需要创建管理员,我们选择Y,填入对应的邮箱地址和密码,等一下登陆WEB需要,是否是超级管理员也选择Y 

16、启动所有服务

docker-compose up -d

17、验证docker启动状态

docker ps

到此我们的sentry就已经部署完成了,访问我们的  服务器ip:9000端口就可以看见sentry的界面

以上是关于CentOS7 安装sentry的主要内容,如果未能解决你的问题,请参考以下文章

Centos7通过Docker安装Sentry(哨兵)

第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

0028-如何在CDH未启用认证的情况下安装及使用Sentry

sentry日志管理系统安装以及使用教程

Sentry安装使用

Sentry安装使用