Linux服务器上如何搭建archery(数据库管理系统)

1.Archery 数据库管理系统背景与介绍

背景

Archery 是一款开源的数据库管理平台,主要用于帮助用户更高效地管理和监控数据库,尤其是针对大规模分布式数据库的管理。Archery 的名字来源于传统的射箭运动,象征着精准与控制,正如它在数据库管理中的目标——为开发者和运维团队提供精准、稳定的数据库管理体验。它最初由阿里巴巴团队开发,旨在提供一个灵活、易扩展的数据库管理平台,支持多种数据库类型,包括 MySQL、PostgreSQL、SQL Server 和更多。

随着企业数据量和复杂度的增加,传统的数据库管理工具往往无法满足高效性、可扩展性和操作简便性的需求。Archery 通过提供智能化的管理功能,帮助团队快速识别和解决数据库相关问题,提高了运维效率和系统的稳定性。

介绍

Archery 主要通过 Web 界面为用户提供数据库管理和监控功能。它集成了多个数据库管理模块,包括但不限于:

1. 数据库连接管理:支持多种类型的数据库连接,允许用户通过统一的界面访问和管理不同类型的数据库。

2. SQL 执行和优化:提供 SQL 执行界面和性能分析工具,帮助用户优化查询,提升数据库性能。

3. 监控与报警:对数据库的各项指标(如响应时间、查询执行情况、资源消耗等)进行实时监控,并能够根据设定的阈值自动触发报警,提醒管理员及时处理潜在问题。

4. 备份与恢复:支持数据库的自动备份与恢复功能,确保数据安全。

5. 权限管理:为不同角色的用户设置合适的数据库访问权限,提升系统的安全性和操作的合规性。

6. 审计日志:记录所有数据库操作的日志,确保系统的可追溯性,方便后期审计。

Archery 提供了用户友好的界面,使得数据库的日常操作更加直观和易于管理,同时也具备足够的灵活性,能够满足大规模企业的数据库运维需求。

作用

1. 简化数据库管理:Archery 提供了集中的 Web 界面,整合了多种数据库管理功能,使得数据库的日常操作更加简单和高效。通过统一的平台,用户可以减少多个工具之间的切换,提升管理效率。

2. 增强数据库监控能力:通过对数据库的全面监控,Archery 可以帮助运维团队及时发现系统瓶颈或异常,避免数据库出现故障,确保系统的高可用性。实时的监控和报警功能能够最大限度地减少潜在的数据库风险。

3. 提升性能优化:提供的 SQL 执行分析和性能优化工具,有助于开发者识别慢查询、锁表等性能瓶颈,通过优化数据库查询和执行过程,提高系统整体的响应速度和处理能力。

4. 提高安全性和合规性:Archery 具有细粒度的权限管理功能,帮助企业设置不同角色的访问权限,保障数据的安全性。同时,审计日志记录所有操作,增强系统的可审查性,确保数据库操作符合企业的合规性要求。

5. 自动化备份与恢复:通过自动化的数据库备份功能,Archery 帮助企业实现数据的定期备份和灾难恢复计划,提高了数据的安全性和容灾能力。

6. 支持团队协作:对于需要多人共同管理数据库的团队,Archery 提供了用户权限分配与协作功能,帮助不同的团队成员进行高效协作和操作分工。

数据库查询审核执行备份数据字典慢日志会话管理账号管理参数管理数据归档
MySQL
MsSQL×××××××
Redis××××××××
PgSQL××××××××
Oracle××××
MongoDB×××××
Phoenix××××××××
ODPS×××××××××
ClickHouse×××××××
Cassandra××××××××
Doris××××××××

2.搭建开始:

本次搭建我们选择用docker-compose

首先你需要本地有docker-compose的环境:

curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

如果你docker-compose拉不下来,可以用梯子去github(https://github.com/docker/compose/releases)上下载后传入/usr/local/bin目录再给权限哦


Archery项目:https://github.com/hhyo/Archery

docker-compose参考 https://github.com/hhyo/archery/wiki/docker

1.首先把github项目拉到服务器本地

git clone https://github.com/hhyo/Archery.git

这个命令涉及github的账号登录等等,这个自己去注册就行了。

2.docker-compose启动:

cd /安装目录/archery/Archery/src/docker-compose

安装目录就是你git命令的位置

这里面有个docker-compose.yml文件,很重要,最好是检查一下有没有这个,如果没有重新拉github。

# 启动
docker-compose -f docker-compose.yml up -d

# 表结构初始化
docker exec -ti archery /bin/bash
cd /opt/archery
source /opt/venv4archery/bin/activate
python3 manage.py makemigrations sql  
python3 manage.py migrate 

# 数据初始化
python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql

# 创建管理用户
python3 manage.py createsuperuser

# 退出容器
exit

# 日志查看和问题排查
docker logs archery -f --tail=50

docker-compose -f docker-compose.yml up -d的时候出现了一个问题,意思是yaml文件里depends_on问题,建议改成:

 archery:
    image: hhyo/archery:v1.11.3
    container_name: archery
    restart: always
    depends_on:
      - redis
      - mysql

访问地址:   http://127.0.0.1:9123

启动启动就行了,如果遇到其他问题可以在评论区讨论

3.nginx转发,加域名

nginx:

需要自己写域名、证书、转发的ip

server {
    listen 80;
    server_name 域名;

    # HTTP -> HTTPS 重定向
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name 域名;

    # SSL 配置
    ssl_certificate /etc/nginx/ssl/证书.pem;  # 替换为你的证书路径
    ssl_certificate_key /etc/nginx/ssl/证书.key;  # 替换为你的私钥路径
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers off;

    # SSL 加密传输
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    # 转发请求到本地 9123 端口
    location / {
        proxy_pass http://ip:9123;  # 转发 9123 端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

/archery/Archery/src/docker-compose/archery/settings.py

打开这个文件,写入:

CSRF_TRUSTED_ORIGINS=['https:/域名']

回到docker-compose目录

关闭并删除:docker-compose down -v

启动:docker-compose up -d

docker ps 查看你的服务id

docker exec -it 服务id /bin/bash

cd archery 下有个load_setting.py

看下这里面有没有,如果有你刚刚配置的CSRF_TRUSTED_ORIGINS=['https:/域名']那么就ok了。去用域名登录吧!

4.论坛

https://github.com/hhyo/Archery/discussions?discussions_q=

5.Django CSRF问题

如果上面的你也做了,but还不行,建议参考官网文档

Settings | Django documentation | Django

总结

Archery 数据库管理系统是一款功能强大且易于使用的数据库管理工具,旨在提升数据库的可管理性、可监控性和安全性。无论是在数据库日常维护、性能优化,还是在团队协作、数据备份等方面,Archery 都能有效提高工作效率,确保系统的高可用性和稳定性。对于企业级应用,Archery 无疑是数据库管理和运维的理想选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没事就想发C-S-D-N

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值