记录贴:在centos中sentry的安装与使用

931 阅读7分钟

安装sentry有两种方法,详细介绍如下:

第一种方法:

安装Docker-ce

第一步,卸载旧版本Docker。

# 卸载旧版本Docker

命令:yum remove docker docker-common docker-selinux docker-engine

# 查询docker安装过的包

命令:yum list installed | grep docker

# 删除安装包

命令:yum remove docker-ce.x86_64 docker-ce-cli.x86_64

第二步,安装依赖包。

# 安装依赖包

命令:yum install yum-utils device-mapper-persistent-data lvm2 -y

第三步,添加docker yum源。

# 设置yum源,配置 docker-ce 仓库

命令:yum-config-manager --add-repo download.docker.com/linux/cento…

[第一种:yum-config-manager --add-repo download.docker.com/linux/cento…(中央仓库)

第二种:yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…(阿里仓库)]

第四步,安装Docker CE版。

# 可以查看所有仓库中所有docker版本,并选择特定版本安装

命令:yum list docker-ce --showduplicates | sort -r

# 安装指定版本

命令:yum -y install docker-ce-19.03.9

# 安装最新版本的docker

命令:yum install docker-ce -y

第五步,启动Docker后台服务。

# 启动docker

命令:systemctl start docker

第六步,设置开机启动。

# 允许开机启动

命令:systemctl enable docker

第七步,测试Docker。

# 测试Docker

命令:docker run hello-world

若结果出现“Hello from Docker!”,则安装docker成功。

第八步,查看docker版本。

# 没启动docker之前查看docker版本

命令:docker -v

或 docker version

安装Docker Compose

# 安装依赖,安装epel源

命令:yum -y install epel-release

# 安装Python 3和pip 3

命令:yum install python3 pip3 -y

# 更新pip3

命令:pip3 install --upgrade pip

# 安装docker-compose

命令:pip3 install docker-compose

# 查看docker compose的版本

命令:docker-compose version

# 创建软链接,避免一些应用的安装脚本无法读取docker-compose

命令:sudo ln -fs /usr/bin/docker-compose /usr/local/bin/docker-compose

安装Sentry

第一步,下载onpremise。

命令:mkdir /data

cd /data

wget github.com/getsentry/o…

tar -zxvf 20.12.1.tar.gz

第二步,编辑配置文件.env。

命令:cd self-hosted-20.12.1

vim .env

将文件中的“SENTRY_EVENT_RETENTION_DAYS=90”改为“SENTRY_EVENT_RETENTION_DAYS=7”,一般保存7天事件数据,视自己情况而定。

在文件最后可添加“限制Kafka磁盘使用量”的配置,新版Sentry使用的Kafka会大量的写入日志信息,特别容易导致磁盘跑满,具体限制额度根据自己的磁盘情况而定。添加代码如下:

Sentry disk cleanup
[kafka]
KAFKA_LOG_RETENTION_HOURS=24
KAFKA_LOG_RETENTION_BYTES=53687091200
KAFKA_LOG_SEGMENT_BYTES=1073741824
KAFKA_LOG_RETENTION_CHECK_INTERVAL_MS=300000
KAFKA_LOG_SEGMENT_DELETE_DELAY_MS=60000

第三步,安装sentry。

# 执行安装脚本

命令:cd self-hosted-20.12.1

./install.sh

若结果提示“ERROR: Volume sentry-data declared as external, but could not be found. Please create the volume manually using docker volume create --name=sentry-data and try again.”等类似错误,则需要依次执行以下命令将对应目录挂载到容器,然后再重新执行以上安装脚本:

sudo docker volume create --name=sentry-data

sudo docker volume create --name=sentry-postgres

sudo docker volume create --name=sentry-redis

sudo docker volume create --name=sentry-zookeeper

sudo docker volume create --name=sentry-kafka

sudo docker volume create --name=sentry-clickhouse

sudo docker volume create --name=sentry-symbolicator

注意:若安装失败,则需要删除掉onpremise-20.12.1目录,然后重新解压20.12.1.tar.gz文件,再安装即可。

若安装完成后结果提示“You're all done! Run the following command to get Sentry running: docker-compose up -d”,则说明安装sentry成功,后面使用命令“docker-compose up -d”启动服务即可。注意:命令“docker-compose restart”会导致重启异常,因此不建议使用。

第四步,创建账号。

执行安装脚本后,结果末尾会提示“Would you like to create a user account now”,这时需要选择“Y”,然后输入一个邮箱地址,输入两次密码,这样就创建好了一个默认管理员账号,需要注意的是,邮箱地址必须是正确的邮箱地址,不然通不过校验。等服务启动后通过 http://120.55.72.8:9000就可以访问。

第五步,启动所有服务。

#启动服务

命令:docker-compose up -d

第六步,验证docker启动状态。

# 验证状态

命令:docker ps

第七步,访问。

服务启动后通过 http://120.55.72.8:9000就可以看见sentry的界面。

第八步,其他常用命令。

# 修改配置后,重启Sentry

命令:sudo docker-compose restart web worker cron sentry-cleanup

# 启动Docker

命令:sudo systemctl start docker

或 sudo service docker start

# 关闭Docker

命令:sudo systemctl stop docker

或 sudo service docker stop

# 重启Docker

命令:sudo systemctl restart docker

或 sudo service docker restart

# 更新Docker CE

命令:sudo yum update docker-ce

# 卸载Docker CE

命令:sudo yum remove docker-ce

# 主机上的镜像、容器、卷或者自定义配置文件是不会自动删除的,需要使用以下命令手动删除

命令:sudo rm -rf /var/lib/docker

# 卸载Docker Compose

命令:sudo pip3 uninstall docker-compose

或 sudo pip uninstall docker-compose

# 卸载老版本Docker

命令:sudo yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

第二种方法:

安装docker

第一步,安装docker。

命令:curl -fsSL get.docker.com | bash -s docker --mirror Aliyun

第二步,测试Docker。

# 测试

命令:docker run hello-world

若结果显示“docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?”,则运行如下命令:

systemctl daemon-reload

systemctl restart docker.service

再次验证:docker run hello-world

第三步,设置开机启动。

# 允许开机启动

命令:systemctl enable docker

第四步,查看docker版本。

# 没启动docker之前查看docker版本

命令:docker -v

或 docker version

安装docker-compose

第一步,安装docker-compose。

命令:curl -L "github.com/docker/comp…" -o /usr/local/bin/docker-compose

第二步,给docker-compose授权。

命令:chmod +x /usr/local/bin/docker-compose

# 创建软链接,避免一些应用的安装脚本无法读取docker-compose

命令:ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

第三步,查看docker compose的版本。

# 查看版本

命令:docker-compose --version

若结果显示“Error loading Python lib '/tmp/_MEIOJxjJS/libpython3.9.so.1.0': dlopen: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/_MEIOJxjJS/libpython3.9.so.1.0)”,则处理方法如下:

# 通过第三方库SCL升级gcc,仅支持64位,否则需要编译安装

命令:yum -y install centos-release-scl

yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils

scl enable devtoolset-8 bash

# 设置长期使用该版本的 gcc

命令:echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile

# 升级make到4.2

命令:wget ftp.gnu.org/gnu/make/ma…

tar -xzvf make-4.2.tar.gz

cd make-4.2

./configure

make

make install

rm -rf /usr/bin/make

cp ./make /usr/bin/

make -v

# 下载glibc-2.28

命令:curl -O ftp.gnu.org/gnu/glibc/g…

sudo yum install -y bison

mv glibc-2.28.tar.gz /usr/local

cd /usr/local

tar -zxvf glibc-2.28.tar.gz

cd glibc-2.28

mkdir build

cd build

../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

# 安装glibc-2.28(耗时操作,需要的时间较长)

make

make install

若结果显示“rm: relocation error: /lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in”,则说明更改glibc过程中造成了版本的冲突,导致ln无法使用,需要使用sln命令,把所有应该更改的版本都改回来。命令如下:

sln /usr/lib64/ld-2.17.so /usr/lib64/ld-linux-x86-64.so.2

sln /usr/lib64/libc-2.17.so /lib64/libc.so.6

# 检查是否安装了glibc-2.28

命令:strings /lib64/libc.so.6|grep ^GLIBC

ls -l /lib64/libc.so.6

# 再次验证

命令:docker-compose -v

搭建sentry

第一步,搭建监控平台。

命令:cd /

yum -y install git

mkdir data

cd data

git clone github.com/getsentry/s…

若结果显示“remote: Enumerating objects: 2436, done.

remote: Total 2436 (delta 4), reused 2 (delta 2), pack-reused 2427

Receiving objects: 100% (2436/2436), 617.57 KiB | 0 bytes/s, done.”,则说明克隆self-hosted文件成功。

cd self-hosted

# 执行安装脚本(花费时间较长)

./install.sh

执行安装脚本后,结果末尾会提示“Would you like to create a user account now”,这时需要点击“enter”,然后输入一个邮箱地址,输入两次密码,这样就创建好了一个默认管理员账号,需要注意的是,邮箱地址必须是正确的邮箱地址,不然通不过校验。等服务启动后通过 http://x.x.x.x:9000就可以访问。

第二步,启动及关闭所有服务。

# 启动服务

命令:docker-compose up -d

注意:命令“docker-compose restart”会导致重启异常,因此不建议使用更新。

# 关闭服务

docker-compose stop

第三步,验证docker启动状态。

# 验证状态

命令:docker ps

第四步,访问。

服务启动后通过 http://x.x.x.x:9000就可以看见sentry的界面。