自动化运维平台:CMDB、CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理
See the codeAdminset基于DevOps理念开发,以整合全部运维场景为己任。Adminset是一个真正的基于运维思维而开发的全自动化运维平台。
项目在中断七年后重启,Django框架从1.11.28升级到4.2.20,python从2.7升级到3.12,服务器从centos7升级到ubuntu24.04LTS。
为保证安装顺利,避免权限问题,安装时请切换到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.com或http://192.168.1.100。这个域名将被添加到Django的CSRF信任列表中,以确保跨域请求的安全性。
如果您没有在安装过程中配置CSRF域名,或者需要添加更多域名,可以编辑/var/opt/adminset/main/adminset/settings.py文件,修改CSRF_TRUSTED_ORIGINS列表。
如果您需要更精细地控制安装过程,可以参考以下步骤:
安装基础环境:
# 在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
创建虚拟环境:
python3 -m venv venv
source venv/bin/activate
安装依赖包:
pip install -r requirements.txt
初始化数据库:
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
启动服务:
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地址或域名以及客户端认证密钥:
如果您需要手动修改这些设置,可以编辑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免密登录。
系统主要包含以下功能模块:
关闭防火墙或开通80端口
http://your_server_ip
自动安装的用户名admin 密码admin
手动安装使用自定义创建的super admin用户名密码
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参考,常见问题
部署完成后,详细使用说明
自动化运维平台:CMDB、CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理
See the codeAdminset基于DevOps理念开发,以整合全部运维场景为己任。Adminset是一个真正的基于运维思维而开发的全自动化运维平台。
项目在中断七年后重启,Django框架从1.11.28升级到4.2.20,python从2.7升级到3.12,服务器从centos7升级到ubuntu24.04LTS。
为保证安装顺利,避免权限问题,安装时请切换到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.com或http://192.168.1.100。这个域名将被添加到Django的CSRF信任列表中,以确保跨域请求的安全性。
如果您没有在安装过程中配置CSRF域名,或者需要添加更多域名,可以编辑/var/opt/adminset/main/adminset/settings.py文件,修改CSRF_TRUSTED_ORIGINS列表。
如果您需要更精细地控制安装过程,可以参考以下步骤:
安装基础环境:
# 在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
创建虚拟环境:
python3 -m venv venv
source venv/bin/activate
安装依赖包:
pip install -r requirements.txt
初始化数据库:
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
启动服务:
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地址或域名以及客户端认证密钥:
如果您需要手动修改这些设置,可以编辑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免密登录。
系统主要包含以下功能模块:
关闭防火墙或开通80端口
http://your_server_ip
自动安装的用户名admin 密码admin
手动安装使用自定义创建的super admin用户名密码
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参考,常见问题
部署完成后,详细使用说明