1、安装Docker 和 Docker Compose
安装Docker-ce
# 安装必要依赖包
命令:yum install yum-utils device-mapper-persistent-data lvm2 -y
#设置yum源, 配置 docker-ce 仓库
命令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(第一种:yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
第二种:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库))
(如果有docker就得在安装之前首先删除旧的docker,否则会报错。命令:yum remove docker docker-common docker-selinux docker-engine)
# 可以查看所有仓库中所有docker版本,并选择特定版本安装
命令:yum list docker-ce --showduplicates | sort -r
# 安装指定版本
命令:yum -y install docker-ce-19.03.9
# 安装最新版本的docker
命令:yum install docker-ce -y
# 没启动docker之前查看docker版本
命令:docker -v 或 docker version
# 启动docker
命令:systemctl start docker
# 允许开机启动
命令:systemctl enable docker
# 验证
命令:docker run hello-world
若结果出现“Hello from Docker!”,则安装docker成功。
2、安装 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 )
3、安装 Sentry
命令:mkdir /data
cd /data
wget https://github.com/getsentry/onpremise/archive/20.12.1.tar.gz
tar -zxvf 20.12.1.tar.gz
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
编辑完成后,按 esc 退出编辑模式,然后按 shift + : 输入 wq 后回车。如果没有编辑可输入 q 或 q! 退出。)
# 执行安装脚本
命令:./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 文件,再安装即可)
#创建账号
安装过程末尾会提示 “Would you like to create a user account now”,输入一个邮箱和密码用于创建一个默认管理员账号,账户必须是正确邮箱,不然通不过校验。等服务启动后通过 http://ip:9000 就可以访问。
#启动服务
docker-compose up -d
(最后安装完成会提示 “You're all done! Run the following command to get Sentry running: docker-compose up -d” docker-compose restart 命令会导致重启异常,因此不建议使用 )
(其他常用命令1、:# 修改配置后,重启 Sentry
sudo docker-compose restart web worker cron sentry-cleanup
# 重启所有所有服务
sudo docker-compose restart
其他常用命令2:
# 启动 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)
第二种方法:1、安装docker
命令:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#验证
命令: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
2、安装docker-compose
命令:curl -L "https://github.com/docker/compose/releases/download/1.28.0/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose
给予权限命令:chmod +x /usr/local/bin/docker-compose
命令:ln -s /usr/local/bin/docker-compose /usr/bin/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 http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
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
# 下载 glibc-2.28 或者去[官网](http://ftp.gnu.org/gnu/glibc/)把 glibc-2.28 的 tar 包下载并上传到服务器
命令:curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
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
# 耗时操作
make
make install
# 检查是否安装了glibc-2.28
命令:strings /lib64/libc.so.6|grep ^GLIBC
ls -l /lib64/libc.so.6
再次验证
命令:docker-compose -v
3、搭建sentry
搭建监控平台
命令:cd /
yum -y install git
mkdir data
cd data
git clone https://github.com/getsentry/self-hosted.git
cd self-hosted
./install.sh
输入一个邮箱和密码用于创建一个默认管理员账号,账户必须是正确邮箱,不然通不过校验。
命令:docker-compose up -d
访问localhost:9000即可
docker-compose restart 命令会导致重启异常,因此不建议使用更新
# docker-compose build --pull
# docker-compose run --rm web upgrade
docker-compose stop
docker-compose up -d



