當前位置: 妍妍網 > 碼農

3.2k star,推薦一款開源python寫的自動化運維平台

2024-03-29碼農

感興趣的可以去體驗下demo,文末有具體地址:

OpsManage簡介

OpsManage是一個自動化運維平台

簡單試用了一下,常規的功能都是有的,挺適合小公司的,如果你有一定的開發能力,還可以自己完善一下。

功能挺齊全的,有cmdb功能,支持簡單的釋出動作,計劃任務等。

主要功能

  • 程式碼部署 : 支持自動化的程式碼部署流程,是透過ansible實作的,這也是大部份devops工具會使用到的,可以提高軟體釋出的速度和可靠性。

  • 套用部署 : 不知道現在還有沒有純手工去釋出的情況,如果透過自動化流程部署套用,可以確保套用的一致性和穩定性,避免人工出現的問題。

  • 計劃任務 : 如果你有些日產的定時任務需要去跑,可以管理和排程定時任務,確保任務按計劃執行。

  • 裝置資產管理 : cmdb功能,在需要的時候,真的很重要。提供資產管理功能,幫助團隊跟蹤和管理其硬體和軟體資產。

  • 快速開始

    1. 環境要求 : 確保你的系統滿足OpsManage的環境要求,包括Python 3.6、CentOS 6+、Ansible 2.6+等。

    2. 安裝依賴 : 安裝所需的依賴項,如Python、MySQL、Redis等。這裏如果想快速實踐可以透過docker快速啟動這些中介軟體,如下:

    version: '3'
    services:
    mysql:
    image: mysql:5.6
    container_name: mysql
    environment:
    PREFER_HOST_MODE: hostname
    MYSQL_ROOT_PASSWORD: 123456
    MYSQL_DATABASE: nacos
    TZ: Asia/Shanghai
    volumes:
    - ./data:/var/lib/mysql # 數據緩存到本地
    - ./init:/docker-entrypoint-initdb.d # 數據初始化指令碼目錄
    ports:
    - 3307:3306
    restart: always
    networks:
    - opsnetwork # 指定網路
    rabbitmq:
    image: rabbitmq:3.8.4-management # 支持管理面板的訊息佇列
    container_name: rabbitmq
    environment:
    RABBITMQ_DEFAULT_USER: guest
    RABBITMQ_DEFAULT_PASS: guest
    ports:
    "5672:5672"
    "15672:15672"# RabbitMQ Dashboard 埠
    volumes:
    - ./rabbitmqdata:/var/lib/rabbitmq # 持久化
    networks:
    - opsnetwork
    redis:
    image: redis:3.2
    container_name: redis
    restart: always
    environment:
    TZ: Asia/Shanghai
    ports:
    "6380:6379"
    command: redis-server --requirepass 123456
    networks:
    - opsnetwork
    volumes:
    - ./redisdata:/data # 持久化
    networks:
    opsnetwork: 
    driver: bridge

    上面有個init初始化指令碼:

    -- init.sql

    create database opsmanage DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

    1. 配置資料庫 : 建立並配置OpsManage所需的資料庫。

    python3 manage.py makemigrations account
    python3 manage.py makemigrations wiki
    python3 manage.py makemigrations orders
    python3 manage.py makemigrations navbar
    python3 manage.py makemigrations databases
    python3 manage.py makemigrations asset
    python3 manage.py makemigrations deploy
    python3 manage.py makemigrations cicd
    python3 manage.py makemigrations sched
    python3 manage.py makemigrations apply
    python3 manage.py migrate
    python3 manage.py createsuperuser

    1. 啟動服務 : 部署python3.6環境,根據需要的模組安裝,也可以去參考作者給出的安裝步驟,可以選擇快速啟動服務,也可以用作者提供的supervisord方式啟動。

    # 啟動Celery Worker - Default Queue
    nohup /usr/local/python3/bin/celery -A OpsManage worker --loglevel=info -E -Q default -n worker-default@%%h &
    # 啟動Celery Worker - Ansible Queue
    nohup /usr/local/python3/bin/celery -A OpsManage worker --loglevel=info -E -Q ansible -n worker-ansible@%%h &
    # 啟動Celery Beat
    nohup /usr/local/python3/bin/celery -A OpsManage beat --loglevel=info --scheduler django_celery_beat.schedulers:DatabaseScheduler &
    # 啟動Django套用
    nohup /usr/local/python3/bin/python3 manage.py runserver 0.0.0.0:9080 --http_timeout 1200 7

    1. 開啟OpsManage : 啟動後,需要配置對應的nginx,然後存取。

    nginx配置可以參考作者給出的配置

    demo:http://42.194.214.22:8000/ demo/demo

    開源地址:https://github.com/welliamcao/OpsManage

    最近整理了2023年最火的軟體神器,回復關鍵字 2023合集 獲取

    推薦閱讀 ⬇️ 都是高贊

    PS:求求啦! 在看 支持下吧!