Skip to content

自动化运维平台:CMDB、CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理

License

Notifications You must be signed in to change notification settings

guohongze/adminset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6c122c2 · Mar 16, 2025
Mar 16, 2025
Mar 14, 2025
Mar 16, 2025
Mar 14, 2025
Mar 14, 2025
Mar 16, 2025
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 16, 2025
Mar 14, 2025
Oct 9, 2018
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 16, 2025
Mar 15, 2017
Mar 15, 2017
Mar 14, 2025
May 21, 2019
Mar 16, 2025
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 14, 2025
Mar 16, 2025
Jun 25, 2017
Mar 14, 2025

Repository files navigation

AdminSet 系统

Build release

项目概览

Adminset基于DevOps理念开发,以整合全部运维场景为己任。Adminset是一个真正的基于运维思维而开发的全自动化运维平台。

项目在中断七年后重启,Django框架从1.11.28升级到4.2.20,python从2.7升级到3.12,服务器从centos7升级到ubuntu24.04LTS。

服务端系统环境

  • Django 4.2.20 ✓
  • Ubuntu 24.04LTS ✓
  • Python 3.12 ✓
  • MariaDB 10.5+ ✓
  • Nginx 1.18+ ✓

安装指南

一键安装

为保证安装顺利,避免权限问题,安装时请切换到root身份(sudo -i),而不是使用sudo。 我们提供了Ubuntu 24.04 LTS的自动化安装脚本,可以快速部署整个系统:

重复安装

项目的部署后路径为/var/opt/adminset 此目录下的main是主代码,其它为配置文件、临时文件、环境变量、上传文件等目录。在进行重新安装时auto_install.sh脚本会清空main目录和drop掉名为adminset的数据库,但会进行用户询问,不想清理输入n即可。

权限

部署过程会自动创建django admin账号,默认用户名和密码均为admin,部署完成后请及时修改密码。

# 克隆项目代码
git clone https://github.com/guohongze/adminset.git

# 进入安装目录
cd adminset/install

# 执行安装脚本(自动检测系统类型)
./server/auto_install.sh

安装过程中,系统会提示您输入访问AdminSet的域名,格式如https://www.example.comhttp://192.168.1.100。这个域名将被添加到Django的CSRF信任列表中,以确保跨域请求的安全性。

如果您没有在安装过程中配置CSRF域名,或者需要添加更多域名,可以编辑/var/opt/adminset/main/adminset/settings.py文件,修改CSRF_TRUSTED_ORIGINS列表。

手动安装

如果您需要更精细地控制安装过程,可以参考以下步骤:

  1. 安装基础环境

    # 在Ubuntu系统上
    apt update
    apt install -y build-essential python3-dev python3-pip libmariadb-dev libldap2-dev libsasl2-dev
    apt install -y mongodb-org redis-server
  2. 创建虚拟环境

    python3 -m venv venv
    source venv/bin/activate
  3. 安装依赖包

    pip install -r requirements.txt
  4. 初始化数据库

    python manage.py makemigrations
    python manage.py migrate
    python manage.py createsuperuser
  5. 启动服务

    python manage.py runserver 0.0.0.0:8000

客户端安装

客户端脚本支持rhel/centos7、Ubuntu系列 说明:为保证注册IP是管理IP(后续会被ansible等调用),客户端的IP抓取目前使用主机名解析,否则报错。 如:主机名为cn-bj-web01 请在/etc/hosts中加入相应的解析 192.168.x.x cn-bj-web01,这样再执行adminset_agent.py 可以保证正常运行。

step1: 拷贝install/client/ 目录到客户机的任意位置并执行:

cd client
/bin/bash install.sh

安装过程中,系统会提示您输入AdminSet服务器的IP地址或域名以及客户端认证密钥:

  • 如果直接按回车,将使用默认值(默认服务器地址: 192.168.110.100,默认密钥: HPcWR7l4NJNJ)
  • 请确保客户端密钥与服务器端config配置中的密钥相同,否则会导致认证失败

如果您需要手动修改这些设置,可以编辑adminset_agent.py文件:

token = 'HPcWR7l4NJNJ'        # token是上传到服务器的密钥,必须与服务器端config配置相同
server_ip = '192.168.47.130'  # 此项目为adminset server的IP地址或域名

step2: 客户端管理

service adminsetd start|stop|restart|status

systemctl start|stop|restart|status adminsetd

注意:客户端全部功能需要配置服务器到客户端的ssh免密登录。

主要功能模块

系统主要包含以下功能模块:

  • CMDB资产管理:IT资产、设备和配置项的全生命周期管理
  • 自动化配置:自动化配置管理和应用部署
  • 作业调度:定时任务和批量作业管理
  • 监控系统:服务器性能和应用状态监控(使用MySQL存储监控数据)
  • 工单系统:IT服务请求和问题跟踪
  • webssh:直接web免terminal登录
  • 权限管理:基于角色的访问控制

最新更改

  • 监控数据存储:监控数据现在支持使用MySQL存储,不再强依赖MongoDB
  • UI优化:简化了用户界面,移除了不必要的按钮和功能入口
  • 安全加固:增强了系统安全性,减少了潜在的攻击面

访问

关闭防火墙或开通80端口
http://your_server_ip
自动安装的用户名admin 密码admin
手动安装使用自定义创建的super admin用户名密码

webssh功能

  • 为测试功能,严禁在公网使用。
  • webssh功能需要先配置应用管理中-认证中心-添加信息,保存用户名和密码,然后再从主机编辑中账号信息选择关联。
  • 如果不是超管用户,需要在role里进行授权才可使用webssh功能。

日志查看

tail -f /var/opt/adminset/logs/adminset-error.log

服务状态

systemctl status adminset.service
systemctl status celery.service

安全

强烈建议您不要将程序对公网开放
如果需要公网访问请使用VPN
建议生产环境中使用https配置服务器,并对命令执行等模块进行安全强化
由于开发方便,在django的settings中开启了DEBUG,在生产中需要关闭并指定自己的域名。

说明

详细使用说明:自动化安装完成后打开 http://your_server_ip/static/docs/
FAQ参考,常见问题 部署完成后,详细使用说明

About

自动化运维平台:CMDB、CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages