超讚!牆裂推薦這款開源、輕量無 Agent 自動化運維平臺

在平常運維管理的發展過程當中,可視化、自動化是一個階段的進程必備要素,因此,對於可視化運維平臺的掌握與瞭解也很是重要,咱們運維小夥伴們也在不斷的探索與挖掘當中,今天,民工哥給你們安利一款可視化的自動化運維管理平臺:Spug,開源、免費,功能強大。python

Spug簡介

Spug面向中小型企業設計的輕量級無 Agent 的自動化運維平臺,整合了主機管理、主機批量執行、主機在線終端、文件在線上傳下載、應用發佈部署、在線任務計劃、配置中心、監控、報警等一系列功能。git

Spug的功能

  • 批量執行: 主機命令在線批量執行
  • 在線終端: 主機支持瀏覽器在線終端登陸
  • 文件管理: 主機文件在線上傳下載
  • 任務計劃: 靈活的在線任務計劃
  • 發佈部署: 支持自定義發佈部署流程
  • 配置中心: 支持 KV、文本、json 等格式的配置
  • 監控中心: 支持站點、端口、進程、自定義等監控
  • 報警中心: 支持短信、郵件、釘釘、微信等報警方式
  • 優雅美觀: 基於 Ant Design 的 UI 界面
  • 開源免費: 先後端代碼徹底開源

安裝環境要求

  • Python 3.6+
  • Django 2.2
  • Node 12.14
  • React 16.11

安裝Spug

簡化一切安裝操做步驟,官方也建議使用docker進行安裝,那麼,接下來就使用docker來安裝這款工具平臺。本文操做基於Centos7.x操做系統。github

1. 安裝docker並啓動sql

yum install docker -ysystemctl start docker

2. 拉取鏡像docker

阿里雲的鏡像與 Docker hub 同步更新,國內用戶建議使用阿里雲的鏡像。數據庫

$ docker pull registry.aliyuncs.com/openspug/spug

3. 啓動容器json

Docker鏡像內部使用的 Mysql 數據庫。若是須要持久化存儲代碼和數據,能夠添加:-v 映射容器內/data路徑後端

$ docker run -d --name=spug -p 80:80 registry.aliyuncs.com/openspug/spug
# 持久化存儲啓動命令:
# mydata是本地磁盤路徑,/data是容器內代碼和數據初始化存儲的路徑$ docker run -d --name=spug -p 80:80 -v /mydata/:/data registry.aliyuncs.com/openspug/spug

4. 初始化api

如下操做會建立一個用戶名爲 admin 密碼爲 spug.dev 的管理員帳戶,可自行替換管理員帳戶。瀏覽器

$ docker exec spug init_spug admin spug.dev
# 執行完畢後須要重啓容器
$ docker restart spug

5. 訪問測試

在瀏覽器中輸入 http://localhost:80 訪問,用戶名:admin  密碼:spug.dev

使用介紹

登陸完成後,就能夠看到主界面,以下

主機管理

管理維護平臺可操做的主機,首次添加主機時須要輸入 ssh 指定用戶的密碼。

批量執行

包含維護命令模版和批量遠程執行命令兩部分功能,經常使用來執行一些臨時的任務例如,批量安裝/卸載某個依賴包等。

  • 執行任務

能夠選擇一到多個在主機管理中添加的主機做爲執行的目標主機,命令內容能夠直接寫也支持從模板中讀取已保存的命令。

  • 模板管理

用於存儲複雜、經常使用的命令集合,以便後期可隨時使用。

應用發佈

  • 應用管理

管理和維護可發佈的應用。每一個應用又能夠建立對應環境的發佈配置,發佈配置請查看發佈配置文檔。

  • 發佈配置

配置指定應用在某環境下如何執行發佈,發佈支持兩種方式 常規發佈 和 自定義發佈。

  • 發佈申請

建立和執行發佈。

配置中心

  • 環境管理

管理應用的運行環境,通常包含開發環境、測試環境和生產環境,應用發佈和配置管理須要用它來區分不一樣的環境。

  • 服務管理

管理和維護應用依賴的服務配置。例若有兩個應用 A 和應用 B,它們共同使用一個數據庫,那麼就能夠把這個數據庫提取出來做爲單獨的服務來管理。這樣帶來的好處是若是這個數據庫配置變動了,那麼只須要在服務管理裏把這個數據庫的配置更新便可,沒必要在多個應用之間切換查找更新。

  • 應用管理

用於維護應用的配置,應用配置包含 公共 和 私有 兩種類型的配置。

  • 配置管理

用戶維護服務和應用在不一樣環境下的具體配置。

任務調度

維護一些週期性的任務

監控中心

該模塊提供瞭如下幾種經常使用的監控模式

  • 站點檢測

經過 GET 請求指定的 url 匹配返回的狀態碼來肯定站點是否異常

  • 端口檢測

檢測指定目標主機的端口是否能夠正常創建接連

  • 進程檢測

檢測指定目標主機的某個進程是否存活

  • 自定義腳本檢測

在指定主機上運行自定義的腳本,經過判斷返回的退出狀態碼來肯定是否有異常

報警中心

配置與維護平常報警相關,如:報警記錄、報警聯繫人與組

系統管理

除了頁面上對普通用的管理,Spug 還提供了 manage.py user 命令可用於管理員帳戶的管理操做。

  • 建立帳戶

建立帳戶使用 manage.py user add 命令,用法示例以下

$ cd spug/spug_api
$ source venv/bin/activate
$ python manage.py user add -u admin -p 123 -n 民工哥 -s

Docker 安裝的能夠執行以下命令

$ docker exec spug python3 /data/spug/spug_api/manage.py user add -u admin -p 123 -n 民工哥 -s
#上面的命令會建立個登陸名爲 admin 密碼爲 123 暱稱爲 民工哥 的管理員帳戶,注意最後的 -s 參數,若是攜帶了這個參數意味着該帳戶爲管理員帳戶, 管理員帳戶能夠不受任何限制的訪問全部功能模塊。
  • 重置密碼

使用 manage.py user reset 命令來重置帳戶密碼,用法示例以下

$ cd spug/spug_api
$ source venv/bin/activate
$ python manage.py user reset -u admin -p abc

Docker 安裝的能夠執行以下命令

$ docker exec spug python3 /data/spug/spug_api/manage.py user reset -u admin -p abc
#上述操做會重置登陸名爲 admin 的帳戶的密碼爲 abc。
  • 啓用帳戶

當頁面上登陸連續錯誤數次超過3次後帳戶自動轉爲禁用狀態,普通用戶能夠經過 系統管理 / 帳戶管理 在頁面是啓用帳戶便可,但管理員帳戶須要使用以下命令來啓用

$ cd spug/spug_api
$ source venv/bin/activate$ python manage.py user enable -u admin

Docker 安裝的能夠執行以下命令

$ docker exec spug python3 /data/spug/spug_api/manage.py user enable -u admin

還不錯吧,點個贊,轉發分享支持一波唄,感謝你們的支持。

image

相關文章
相關標籤/搜索