Voltar ao ranking

guohongze/adminset

Pythonadminset.cn

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

cmdbdevopscrontabpythonmonitordjangoops
Crescimento de estrelas
Estrelas
3.4k
Forks
1.4k
Crescimento semanal
Issues
71
3.4k3.4k3.4k
18 de jul.19 de jul.20 de jul.21 de jul.
ArtefatosPyPIpip install adminset
README

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参考,常见问题 部署完成后,详细使用说明

Repositórios relacionados
openspug/spug

开源运维平台:面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

JavaScriptnpmGNU Affero General Public License v3.0opsoperations
ops.spug.cc
11k2.2k
glpi-project/glpi

GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.

PHPPackagistGNU General Public License v3.0inventoryglpi
glpi-project.org
6.1k1.7k
TencentBlueKing/bk-cmdb

蓝鲸智云配置平台(BlueKing CMDB)

GoGo ModulesOthergolangcmdb
bk.tencent.com
5.7k1.6k
opendevops-cn/opendevops

CODO是一款为用户提供企业多混合云、全球一站式DevOps、自动化运维、完全开源的云管理平台、自动化运维平台

PythonPyPIGNU General Public License v3.0democmdb
opendevops.cn
4.1k1k
welliamcao/OpsManage

自动化运维平台: 代码及应用部署CI/CD、资产管理CMDB、计划任务管理平台、SQL审核|回滚、任务调度、站内WIKI

PythonPyPIGNU General Public License v2.0deploycmdb
3.6k1.6k
allegro/ralph

Ralph is the CMDB / Asset Management system for data center and back office hardware.

PythonPyPIApache License 2.0dcimdjango
ralph.allegro.tech
2.5k589
fboender/ansible-cmdb

Generate host overview from ansible fact gathering output

PythonPyPIGNU General Public License v3.0ansiblecmdb
2.4k477
veops/cmdb

CMDB: configuration and management of IT resources

PythonPyPIGNU Affero General Public License v3.0cmdbantd-vue
veops.cn/cmdb
2.2k509
opsre/awesome-ops

🧰 记录每一个与运维相关的优秀项目,⚗️ 项目内表格通过 GitHub Action 自动生成,📥 当前收录项目 652 个。

Go TemplateMIT Licenseawesomeawesome-list
awesome-ops.opsre.top
2k269
Combodo/iTop

A simple, web based CMDB & IT Service Management tool

PHPPackagistGNU Affero General Public License v3.0itopitil
combodo.com/features/
1.1k291
voilet/cmdb

cmdb saltstack

JavaScriptnpmGNU Affero General Public License v3.0cmdbpython
1.1k584
open-cmdb/cmdb

CMDB 配置管理系统 资产管理系统

PythonPyPIGNU Lesser General Public License v3.0cmdbdjango
cmdb.mmtweb.xyz
1k381