关于日志监控工具Sentry
关于日志监控工具Sentry
1:介绍
Sentry 是一个日志平台,分为客户端和服务端,客户端(目前客户端有Python, PHP,C#, Ruby等多种语言)就嵌入在你的应用程序中间,程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个web节目方便查看。Sentry由python编写,源码开放,性能卓越,易于扩展,目前著名的用户有Disqus, Path, mozilla, Pinterest等
官方项目文档:
https://github.com/getsentry/self-hosted
2:部署配置需求
Docker 20.10.12
Compose v2.2.3
4 CPU Cores
8 GB RAM
20 GB Free Disk Space
3:环境设置:
环境特定的配置可以在.env.custom文件中完成。它将位于 Sentry 安装的根目录中。
默认情况下,不存在.env.custom文件。在这种情况下,您可以通过将文件复制.env到新.env.custom文件并调整文件中的设置来手动添加此.env.custom文件。
.env当您执行 Sentry 升级时,请记住检查文件是否有更改,以便您可以.env.custom根据需要进行相应的调整。
4:部署组件
sentry
nginx
kafka
zookeeper
redis
memcache
clickhouse
5:Docker 及Docker-compose安装
[root@virtual_host ~]# yum install -y docker-ce
[root@virtual_host ~]# wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 && mv docker-compose-linux-x86_64 docker-compose && chmod +x docker-compose && mv docker-compose /usr/local/bin/
6:安装配置Sentry
接下来我们下载官方Sentry一键脚本
wget https://d.frps.cn/file/tools/sentry/self-hosted-master.zip
unzip self-hosted-master.zip
cd self-hosted-master/
./install.sh
创建账户
......
Applying sessions.0001_initial... OK
Applying sites.0001_initial... OK
Applying sites.0002_alter_domain_unique... OK
Applying social_auth.0001_initial... OK
05:13:01 [WARNING] sentry: Cannot initiate onboarding for organization (1) due to missing owners
Created internal Sentry project (slug=internal, id=1)
Would you like to create a user account now? [Y/n]:
输入Y我们创建一个管理员用户
You're all done! Run the following command to get Sentry running:
docker-compose up -d
-----------------------------------------------------------------
7:访问
接下来我们就可以通过IP:9000端口访问
8:Nginx反向代理
# Yum安装nginx
yum install -y nginx
# 配置SSL
server {
listen 80;
server_name ingress.kubernetes-devops.cn;
location / {
return https://ingress.kubernetes-devops.cn;
}
}
server {
listen 443 ssl http2;
server_name ingress.kubernetes-devops.cn;
ssl_certificate "/etc/nginx/ssl/server.crt";
ssl_certificate_key "/etc/nginx/ssl/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:9000;
}
}
[root@virtual_host ssl]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 启动nginx访问
nginx