【dromara】簡而輕的低侵入式線上建置、自動部署、日常運維、專案監控軟體
【更是一款原生ops 軟體/ English】
國際站:https://jpom.dromara.org ?
大陸站:https://jpom.top ?
如果是分散式的項目,以上步驟則更加繁瑣。
讓Jpom 來幫您解決這些痛點吧!然而,這些只是Jpom 解決的最基礎的功能。
- 在Windows 伺服器中可能有部分功能因為系統特性造成相容性問題,建議在實際使用上充分測試。 Linux 目前相容性良好
- 服務端和插件端請安裝到不同目錄中,切勿安裝到同一目錄中
- 卸載Jpom 插件端或服務端,先停止對應服務,然後刪除對應的程式檔案、日誌資料夾、資料目錄資料夾即可
- 本機建置依賴的是系統環境,如果建置指令需要使用maven 或node 需要在建置專案的伺服器安裝好對應的環境。如果已經啟動服務端再安裝的對應環境需要透過命令列重新啟動服務端後環境才會生效。
- 在Ubuntu/Debian 伺服器作為插件端可能會新增失敗,請在目前使用者的根目錄建立.bash_profile 文件
- 升級2.7.x 後不建議降級操作,會涉及到資料不相容的情況
- 由於目前2.xx 版本插件端和服務端主要採用http 協定通訊,插件端和服務端網路要求互通,在使用的時候請注意。
- Jpom 3.0 版本已經開始規劃更新了,盡請期待新版本的誕生吧
升級前必看:CHANGELOG.md
Jpom 支援多種安裝方式,滿足不同使用者的個人化需求,您只需要選擇一種方式安裝即可。
注意:安裝的目錄位於執行指令的目錄!
️ 特別提醒:一鍵安裝的時候注意執行指令不可在同一目錄下,即Server 端和Agent 端不可安裝在同一目錄下!如果需要修改服務端資料、日誌儲存的路徑請修改
application.yml
檔案中jpom.path
配置屬性。
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default+service
# 安装服务端和 jdk 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk
# 安装服务端和 jdk、maven 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk+mvn
# ubuntu
apt-get install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk
啟動成功後,服務端的連接埠為2122
,可透過http://127.0.0.1:2122/
存取管理頁面(如果不是本機訪問,需要將127.0.0.1 換成您安裝的伺服器IP 位址)。
如無法存取管理系統,執行指令
systemctl status firewalld
檢查下是否開啟了防火牆,如狀態列看到綠色顯示Active: active (running)
需要放行2122
埠。# 放行管理系统的 2122 端口 firewall-cmd --add-port=2122/tcp --permanent # 重启防火墙才会生效 firewall-cmd --reload如果在作業系統上放行了連接埠仍無法訪問,且您使用的是雲端伺服器,請到雲端伺服器後台檢查安全性群組規則是否放行2122 連接埠。
️ 注意: Linux 系統中有多種防火牆:Firewall、Iptables、SELinux 等,再檢查防火牆配置時候需要都檢查一下。
如果安裝服務端的伺服器也需要管理,在服務端上也需要安裝插件端(同一個伺服器中可以同時安裝服務端和插件端)
️ 特別提醒:一鍵安裝的時候注意執行指令不可在同一目錄下,即Server 端和Agent 端不可安裝在同一目錄下!如果需要修改插件端資料、日誌儲存的路徑請修改
application.yml
檔案中jpom.path
配置屬性。
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default+service
# 安装插件端和 jdk 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Agent jdk
# ubuntu
apt-get install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Agent jdk
啟動成功後,插件端的連接埠為2123
,插件端提供給服務端使用。
️ 注意:容器化安裝方式需先安裝docker,點選跳轉docker安裝文檔
docker run -p 2122:2122 --name jpom-server jpomdocker/jpom
docker pull registry.cn-chengdu.aliyuncs.com/jpomdocker/jpom
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/logs:/usr/local/jpom-server/logs
-v /home/jpom-server/data:/usr/local/jpom-server/data
-v /home/jpom-server/conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull jpomdocker/jpom
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/logs:/usr/local/jpom-server/logs
-v /home/jpom-server/data:/usr/local/jpom-server/data
-v /home/jpom-server/conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull registry.cn-chengdu.aliyuncs.com/jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-logs
docker volume create jpom-server-conf
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-logs:/usr/local/jpom-server/logs
-v jpom-server-conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-logs
docker volume create jpom-server-conf
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-logs:/usr/local/jpom-server/logs
-v jpom-server-conf:/usr/local/jpom-server/conf
jpomdocker/jpom
容器化安裝僅提供服務端版。由於容器和宿主機環境隔離,而導致插件端的許多功能無法正常使用,因此對插件端容器化意義不大。
安裝docker、設定映像、自動啟動、尋找安裝後所在目錄等可參考文件https://jpom.top/pages/b63dc5/
在低版本docker 中執行可能出現
ls: cannot access'/usr/local/jpom-server/lib/': Operation not permitted
錯誤,此時需要加入--privileged
參數如:docker run -p 2122:2122 --name jpom-server jpomdocker/jpom --privileged
agent-xxx-release
目錄為插件端的全部安裝文件2123
server-xxx-release
目錄為服務端的全部安裝文件2122
,存取管理頁面: http://127.0.0.1:2122/
(非本機存取將127.0.0.1
換成您的伺服器IP 位址)web-vue
目錄,執行npm install
(vue 環境需要提前建置和安裝依賴套件詳情可以查看web-vue 目錄下README.md)npm run build
進行vue 專案打包mvn clean package
modules/agent/target/agent-xxx-release
2123
modules/server/target/server-xxx-release
2122
,存取管理頁面: http://127.0.0.1:2122/
(非本機存取將127.0.0.1
換成您的伺服器IP 位址)也可以使用
script/release.bat
或script/release.sh
快速打包。
需要注意修改
.env
檔案中的token 值
yum install -y git
git clone https://gitee.com/dromara/Jpom.git
cd Jpom
docker-compose -f docker-compose.yml up
# docker-compose -f docker-compose.yml up --build
# docker-compose -f docker-compose.yml build --no-cache
# docker-compose -f docker-compose-local.yml up
# docker-compose -f docker-compose-local.yml build --build-arg TEMP_VERSION=.0
# docker-compose -f docker-compose-cluster.yml up --build
org.dromara.jpom.JpomAgentApplication
2123
org.dromara.jpom.JpomServerApplication
2122
web-vue
目錄(前提需要本機開發環境有node、npm 環境)npm install
npm run dev
http://127.0.0.1:3000/
(非本機存取將127.0.0.1
換成您的伺服器IP 位址) # 服务端管理脚本 (命令行)
./bin/Server.bat start # 启动Jpom服务端
./bin/Server.bat stop # 停止Jpom服务端
./bin/Server.bat restart # 重启Jpom服务端
./bin/Server.bat status # 查看Jpom服务端运行状态
# 服务端管理脚本 (控制面板),按照面板提示输入操作
./bin/Server.bat
# 插件端管理脚本
./bin/Agent.bat start # 启动Jpom插件端
./bin/Agent.bat stop # 停止Jpom插件端
./bin/Agent.bat restart # 重启Jpom插件端
./bin/Agent.bat status # 查看Jpom插件端运行状态
# 插件端管理脚本(控制面板),按照面板提示输入操作
./bin/Agent.bat
Windows 系統中執行啟動後需要根據日誌去跟進啟動的狀態,如果出現亂碼請檢查或修改編碼格式,Windows 系統中bat 編碼格式建議為
GB2312
# 服务端
./bin/Server.sh start # 启动Jpom服务端
./bin/Server.sh stop # 停止Jpom服务端
./bin/Server.sh restart # 重启Jpom服务端
./bin/Server.sh status # 查看Jpom服务端运行状态
./bin/Service.sh install # 创建Jpom服务端的应用服务(jpom-server)
# 插件端
./bin/Agent.sh start # 启动Jpom插件端
./bin/Agent.sh stop # 停止Jpom插件端
./bin/Agent.sh restart # 重启Jpom插件端
./bin/Agent.sh status # 查看Jpom插件端运行状态
./bin/Service.sh install # 创建Jpom插件端的应用服务(jpom-agent)
這裡安裝服務僅供參考,實際中可依需求自訂配置
使用
./bin/Service.sh install
成功後systemctl {status | start | stop | restart} jpom-server
systemctl {status | start | stop | restart} jpom-agent
在專案運行的根路徑下的:
./conf/application.yml
application.yml
application.yml
./conf/logback.xml
logback.xml
logback.xml
裡面有部分圖片載入可能比較慢
Node.js 編譯指定目錄:
yarn --cwd xxxx/ install
yarn --cwd xxxx/ build
Maven 編譯指定目錄:
mvn -f xxxx/pom.xml clean package
感謝所有讚賞以及參與貢獻的小夥伴,您的支持是我們不斷更新前進的動力!
為了更好地維持開源項目,我們決定推出週邊商品。
購買支持我們這樣您既獲得了一份小商品我們也獲得了您購買商品的利潤(週邊商品的價格會比市場價稍高,介意請勿下單)
提交貢獻即認為簽署了CLA 協議
Jpom 作為開源項目,離不開社群的支持,歡迎任何人修改和提出建議。貢獻無論大小,您的貢獻將幫助背後成千上萬的用戶以及開發者,您所做的貢獻也將永遠的保留在專案的貢獻者名單中,這也是開源專案的意義所在!
為了保證專案程式碼的品質與規範,以及幫助您更快的了解專案的結構,請在貢獻之前閱讀:
Fork 本倉庫。
Fork 之後會在您的帳號下方多了一個和本倉庫一模一樣的倉庫,把您帳號的倉庫clone 到本地。
注意替換掉連結中的分支名
和用户名
。
如果是貢獻程式碼,分支名填dev
;如果是貢獻文檔,分支名填docs
git clone -b 分支名 https://gitee.com/用户名/Jpom.git
修改程式碼/文檔,修改後提交上來。
# 把修改的文件添加到暂存区
git add .
# 提交到本地仓库,说明您具体做了什么修改
git commit -m '填写您做了什么修改'
# 推送到远程仓库,分支名替换成 dev 或者 docs
git push origin 分支名
登入您的倉庫,然後會看到一條PR 請求,點擊請求合併,等待管理員把您的程式碼合併進來。
分支 | 說明 |
---|---|
master | 主分支,受保護分支,此分支不接受PR。在beta 分支後經過測試沒問題後會合併到此分支。 |
beta | beta 版本分支,受保護分支,此分支不接受PR。在dev 分支後經過測試沒問題後會合併到此分支。 |
dev | 開發分支,接受PR,PR 請提交至dev 分支。 |
docs | 專案文件分支,接受PR,介紹專案功能、總結常見問題等。 |
目前用到的主要是dev 和docs 分支,接受PR 修改,其他的分支為歸檔分支,貢獻者可以不用管。
Made with contrib.rocks.
項目名稱 | 項目地址 | 項目介紹 |
---|---|---|
SpringBoot_v2 | https://gitee.com/bdj/SpringBoot_v2 | 基於springboot的一款純淨鷹架 |
TLog GVP 項目 | https://gitee.com/dromara/TLog | 一個輕量級的分散式日誌標記追蹤神器,10分鐘即可接入,自動對日誌打標籤完成微服務的鏈路追蹤 |
Sa-Token | https://gitee.com/dromara/sa-token | 這可能是史上功能最全的Java 權限認證架構! |
Erupt | https://gitee.com/erupt/erupt | 零前端程式碼,純註解開發admin 管理後台 |
hippo4j | https://gitee.com/magegoofy/hippo4j | 強大的動態線程池框架,附帶監控警報功能。 |
HertzBeat | https://gitee.com/dromara/hertzbeat | 易用友善的雲端監控系統, 無需Agent, 強大自訂監控能力。 |