運維自動化平臺

  1. 登陸界面,登陸是對接了單點sso,單點認證後獲取username,根據username的權限,對應顯示前端的界面
    前端

  2. 0.png

2.dashboard 顯示,包括用戶總數、機器總數、受權主機數、當前登陸用戶信息、最近登陸信息、報警信息shell

        3.png

3.每日指標,主要包括天天須要例行檢查的服務狀態以及業務監控狀態數據庫

        2.png

4.部門管理,主要是LDAP對應的cn地址,全部的用戶信息都與LDAP打通包括用戶的增長及刪除,增長用戶實現如下幾個功能:django

        3.png

5. 用戶管理:後端

  • 增長用戶實現如下幾個功能:運維

    • 平臺用戶的增長
      ssh

    • 用戶的ssh key建立,並拷貝到跳板機上異步

    • LDAP 用戶增長ide

    • 二次認證須要的條形驗證碼生成,主要是爲單點登陸生成google authenticator 二次認證的二維碼(基於時間進行驗證)google

    • google authenticator 二次認證登陸跳板機的密鑰文件生成

    • 經過釘釘接口獲取用戶的電話號碼及中文名字


  • 用戶角色

    • 主要有運維人員,超級用戶,管理員,普通用戶

    • 前端能夠根據不一樣的角色顯示不一樣

    • 後端主要是用裝飾器實現用戶權限的管理


  • 刪除用戶實現功能

    • 刪除用戶時,判斷用戶是否屬於某個組,若屬於則提示先移除組再刪除用戶

    • 刪除用戶的ECS登陸權限及sudo權限

    • 刪除用戶ssh key

    • 刪除用戶google authenticator 二次認證登陸跳板機的密鑰文件

    • 刪除用戶二維碼

    • LDAP刪除用戶

    • 平臺刪除用戶

  • 用戶組

    • 提供用戶檢索功能

    • 組對應的ECS機器有登陸權限或sudo權限,當某個用戶增長到這個組下,也會賦予相應的權限

    • 當從某個組移除用戶時,用戶組及用戶對應的ECS機器有登陸權限和sudo權限,都會被移除


    4.png

    5.png

        6.png

        點擊成員數目,能夠查看組下的具體成員信息


        7.png

        8.png

6.資產管理,主要包括機器管理和機器組管理

  • 機器管理實現功能

    • 機器信息經過阿里雲API接口獲取,並經過django-celery 的beat 定時同步主機信息,也能夠手動同步機器信息


  • 機器分組實現功能

    • 機器組對應的用戶及用戶擁有的ECS登陸權限及sudo權限,當某個機器加到此組下時,也會對應的用戶也會擁有此機器的ECS登陸權限及sudo權限

    • 從組中移除機器時,刪除用戶的登陸權限及sudo權限

    9.png

    10.png

          機器組列表:


        11.png        

7.受權管理

  • ECS 登陸受權

    • 對用戶及用戶組進行登陸受權

    • 拷貝用戶的公鑰文件到受權主機,實現ssh 免密登陸

  • Sudo 受權

    • 對用戶及用戶組受權

    • sudo受權主要是將用戶加到某個用戶組下,用戶組的權限在機器初始化的時候,維護sudoers文件,對應擁有的權限


 ECS受權列表:

        12.png

  ECS 受權添加:

        13.png

  sudo 受權添加:

        14.png

8.自動化管理

  • 任務操做

    • 遠程主機單機命令執行

    • 遠程主機腳本執行

    • 較長命令及腳本支持後臺執行

    • 後臺執行功能主要是celery 異步任務執行,返回執行結果

  • 機器初始化   

    •  機器初始化主要用ansible 批量初始化

    • 機器模版由多條ansible命令執行

    機器初始化命令:

      15.png     

  命令組合成模版:

        16.png

 機器初始化:

      17.png

 機器初始化列表:

        18.png

實時查看執行初始化日誌:

     19.png

任務執行模塊:

   單一命令

   22.png

shell 腳本

    23.png

任務執行列表:

    20.png

 執行結果查看,也能夠下載

    21.png

9.審計日誌,包括登陸日誌及平臺操做日誌

    登陸日誌:

   25.png

 操做日誌:

    26.png

10.審批管理

  • 資源(ECS,RDS,SLB,MNS.MogoDB,Redis等)申請、釋放、變動配置的申請審批

  • 權限申請(ECS登陸,sudo權限,應用平臺,數據庫白名單等)和釋放

  • 郵件組申請

  • 數據庫變動申請(數據庫修改數據,更改表結構,申請用戶權限)

  • 全部的審批對接釘釘API接口,審批人通常爲2人,包括leader及運維人員,抄送個部門負責人   

  • ECS登陸、Sudo、應用平臺實現自動受權,定時任務檢查釘釘審批狀態,審批經過以後,自動實現權限賦予,應用平臺經過API接口實現



    申請列表:

    27.png

  ECS 資源申請,其餘的申請圖就不一一列出

   28.png

       權限申請列表:

        29.png

11.值班管理

    • 平常值班,能夠按天或按周來進行值班輪循

    • 節假日值班,選擇具體值班人員,肯定值班範圍,按天來進行輪詢值班

    平常值班列表:

        30.png

   節假日值班添加:

        4.png

  根據添加的值班信息展現:

        31.png


因爲代碼涉及到公司隱私信息,就不開源啦,前端代碼使用的模版能夠在百度雲盤下載:

    https://pan.baidu.com/s/1gfB2KPP

相關文章
相關標籤/搜索