運維自動化平臺

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

  2. 0.png

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

        3.png

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

        2.png

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

        3.png

5. 用戶管理:

  • 增加用戶實現以下幾個功能:

    • 平臺用戶的增加

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

    • LDAP 用戶增加

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

    • 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章