<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>phoenix云監控平臺

phoenix云監控平臺

2022-04-25 | zip | 9.30 MB | 次下載 | 免費

資料介紹

授權協議 GPL
開發語言 Java JavaScript HTML/CSS
操作系統 跨平臺
軟件類型 開源軟件
所屬分類 管理和監控、 系統監控

軟件簡介

“phoenix” 是一個靈活可配置的開源監控平臺,主要用于監控應用程序、服務器、數據庫和網絡,通過實時收集、匯聚和分析監控信息,實現在發現異常時立刻推送告警信息,并且提供了可視化系統進行配置、管理、查看。

  • 應用程序

默認支持Java應用程序,監控內容包括:在線狀態、業務埋點。其它應用程序需要自己開發客戶端,來調用接口與服務端或者代理端通信(心跳接口、服務器信息接口、告警接口);

  • JVM

監控內容包括:內存、線程、類、GC等;

  • 服務器

支持Windows、Linux,監控內容包括:在線狀態、操作系統、CPU、進程、磁盤、內存、網卡、電池、傳感器;

  • 數據庫

支持MySQL、Oracle、Redis; ? ? 監控內容: ? ? ? ? ??MySQL:會話; ? ? ? ? ??Oracle:會話、表空間; ? ? ? ? ??Redis:Redis信息全集;

  • 網絡:支持監控網絡狀態;

  • 告警:默認支持電子郵件。

設計

  • 功能架構

poYBAGJiCpmAJE3AAAD_IYSGYes265.png

  • 邏輯架構

pYYBAGJiCpuAcr2PAAB73uFn-CU714.png

  • 運行環境

Maven3+ ? ? Jdk1.8 ? ? Lombok ? ? Mysql5.7+

  • 技術選型

核心框架:SpringBoot ? ? 安全框架:SpringSecurity、SpringSession ? ? 任務調度:JUC、SpringTask、Quartz ? ? 持久層框架:MyBatis、 MyBatis-Plus ? ? 數據庫連接池:Alibaba Druid ? ? 日志管理:SLF4J、Logback ? ? 前端框架:Layui、ECharts ? ? 監控框架:sigar、oshi

  • 模塊結構

平臺使用Java+Layui+ECharts開發,數據庫采用MySQL。

phoenix(監控平臺父工程) ? ? ├── phoenix-common(監控公共模塊父工程) ? ? │ ├── phoenix-common-core(監控核心公共模塊) ? ? │ └── phoenix-common-web(監控WEB公共模塊) ? ? ├── phoenix-client(監控客戶端父工程) ? ? │ ├── phoenix-client-core(監控客戶端) ? ? │ ├── phoenix-client-spring-boot-starter(監控客戶端與springboot集成的starter) ? ? │ └── phoenix-client-spring-mvc-integrator(監控客戶端與springmvc集成的integrator) ? ? ├── phoenix-agent(監控代理端) ? ? ├── phoenix-server(監控服務端) ? ? ├── phoenix-ui(監控UI端) ? ? └── doc(文檔)

phoenix:監控平臺父工程,管理平臺的依賴、構建、插件等; ? ? phoenix-common:監控公共模塊,提供平臺所有的公共代碼,包含一個監控核心公共模塊(phoenix-common-core)和一個監控WEB公共模塊(phoenix-common-web); ? ? phoenix-client:監控客戶端,用于集成到Java應用程序中實現業務埋點和Java應用程序監控信息收集,包含一個通用模塊(phoenix-client-core)和與springboot集成的starter(phoenix-client-spring-boot-starter)、與springmvc集成的integrator(phoenix-client-spring-mvc-integrator)兩個拓展模塊; ? ? phoenix-agent:監控代理端,用于收集服務器信息和匯聚、轉發來自監控客戶端的信息; ? ? phoenix-server:監控服務端,是監控平臺的核心模塊,用于匯聚、分析監控信息,在發現異常時實時推送告警信息; ? ? phoenix-ui:監控可視化系統,用于平臺配置、用戶管理、監控信息查看、圖表展示等; ? ? doc:包含平臺的設計文檔、服務啟停腳本、數據庫腳本等。

下載

  • 源碼倉庫地址

https://gitee.com/monitoring-platform/phoenix ? ?? ? 注意:一定要下載最新發行版源碼!

  • 示例代碼倉庫地址

https://gitee.com/monitoring-platform/phoenix-example

  • 中央倉庫地址
  1. 客戶端為普通Java程序

xml ? ? ? ? ? com.gitee.pifeng ? ? ? phoenix-client-core ? ? ? ${最新穩定版本} ?

  1. 客戶端為springboot程序

xml ? ? ? ? ? com.gitee.pifeng ? ? ? phoenix-client-spring-boot-starter ? ? ? ${最新穩定版本} ?

  1. 客戶端為springmvc程序

xml ? ? ? ? ? com.gitee.pifeng ? ? ? phoenix-client-spring-mvc-integrator ? ? ? ${最新穩定版本} ?

使用

初始化“監控數據庫”

請下載項目源碼并解壓,進入目錄:/phoenix/doc/數據庫設計/sql/mysql ,找到SQL腳本并執行即可。

phoenix.sql

編譯源碼

解壓源碼,按照maven格式將源碼導入IDE, 使用maven進行編譯即可。

配置

監控配置

監控配置文件為: monitoring.properties ,放在 classpath:/ 下會自動加載,UI端、服務端、代理端、客戶端都需要有這個配置文件。如果是springboot項目也可以分環境配置,示例配置代碼如下:

java ? /** ? ?* 開發環境監控配置 ? ?*/ ? @Configuration ? @Profile("dev") ? @EnableMonitoring(configFileName = "monitoring-dev.properties") ? public class MonitoringUiDevConfig { ? } ?? ? /** ? ?* 生產環境監控配置 ? ?*/ ? @Configuration ? @Profile("prod") ? @EnableMonitoring(configFileName = "monitoring-prod.properties") ? public class MonitoringUiProdConfig { ? }

監控配置項說明:

|配置項 ? ? ? ? ? ? ? ? ? ? ? ? ? |含義 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |必須項 ? ? ? |默認值|? ? |--------------------------------|------------------------------------------------------------------|-------------|-----| ? |monitoring.server.url ? ? ? ? ? |監控服務端(代理端)url ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|是 ? ? ? ? ? | ? ? ?| ? |monitoring.own.instance.order ? |實例次序(整數),用于在集群中區分應用實例,配置“1”就代表集群中的第一個應用實例 |否 ? ? ? ? ? |1 ? ? | ? |monitoring.own.instance.endpoint|實例端點類型(server、agent、client、ui) ? ? ? ? ? ? ? ? ? ? ? ? ? ? |否 ? ? ? ? ? |client| ? |monitoring.own.instance.name ? ?|實例名稱,一般為項目名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|是 ? ? ? ? ? | ? ? ?| ? |monitoring.own.instance.desc ? ?|實例描述 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |否 ? ? ? ? ? | ? ? ?| ? |monitoring.own.instance.language|程序語言 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |否 ? ? ? ? ? |Java ?| ? |monitoring.heartbeat.rate ? ? ? |與服務端或者代理端發心跳包的頻率(秒),最小不能小于30秒 ? ? ? ? ? ? ? ? ? ?|否 ? ? ? ? ? |30 ? ?| ? |monitoring.server-info.enable ? |是否采集服務器信息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |否 ? ? ? ? ? |false | ? |monitoring.server-info.rate ? ? |與服務端或者代理端發服務器信息包的頻率(秒),最小不能小于30秒 ? ? ? ? ? ? ? |否 ? ? ? ? ? |60 ? ?| ? |monitoring.server-info.ip ? ? ? |被監控服務器本機ip地址 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|否(自動獲?。?| ? ? ?| ? |monitoring.jvm-info.enable ? ? ?|是否采集Java虛擬機信息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |否 ? ? ? ? ? |false | ? |monitoring.jvm-info.rate ? ? ? ?|與服務端或者代理端發送Java虛擬機信息的頻率(秒),最小不能小于30秒 ? ? ? ? ? |否 ? ? ? ? ? |60 ? ?|

  1. 監控UI端

除了在 monitoring-{profile}.properties 文件修改監控配置外,還需要在 application-{profile}.yml 文件修改數據庫配置。

  1. 監控服務端

需要在 application-{profile}.yml 文件修改數據庫配置和郵箱配置。

  1. 監控代理端

只需在 monitoring-{profile}.properties 文件修改監控配置。

  1. 監控客戶端

只需添加監控配置。

加解密配置

除了監控配置文件外,還可以在 classpath:/ 下加入 monitoring-secure.properties 加解密配置文件,用來修改監控平臺的加解密方式。但是注意各監控端加解密配置參數必須相同。這個配置不是必須的,沒有此配置文件將使用默認加解密配置,加入此配置文件則必須正確配置配置項。

加解密配置項說明:

|配置項 ? ? ? ? ? ? ? ? |含義 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|必須項 ? ? ? ? ? ? ? ? ? ? ? ? |默認值|? ? |----------------------|-------------------------------------------|------------------------------|-----| ? |secret.type ? ? ? ? ? |加解密類型,值只能是 des、aes、sm4 之一 ? ? ? ? |否,為空則不進行加解密 ? ? ? ? ? | ? ? ?| ? |secret.key.des ? ? ? ?|DES密鑰 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |否,secret.type=des時,需要配置 ? ? | ? ? ?| ? |secret.key.aes ? ? ? ?|AES密鑰 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |否,secret.type=aes時,需要配置 ? ? | ? ? ?| ? |secret.key.sm4 ? ? ? ?|國密SM4密鑰 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|否,secret.type=ms4時,需要配置 ? ? ?| ? ? ?|

秘鑰可通過 com.gitee.pifeng.monitoring.common.util.secure.SecureUtilsTest#testGenerateKey 方法生成,然后填入配置文件。

客戶端開啟監控

  • 普通Java程序

main 方法中,調用方法 Monitor.start() 來開啟監控功能,或者調用重載的方法 Monitor.start(configPath, configName) 指定監控配置文件的路徑和名字來開啟監控功能,如果未指定配置文件路徑和名字,則配置文件需要放在 classpath:/ 下,名字必須為 monitoring.properties 。

  • springboot程序

在啟動類上加上注解 @EnableMonitoring 來開啟監控功能,或者通過注解的兩個參數來指定配置文件的路徑和名字,如果未指定配置文件路徑和名字,則配置文件需要放在 classpath:/ 下,名字必須為 monitoring.properties 。

  • springmvc程序

web.xml 文件中配置一個監聽器,來開啟監控功能:

xml ? ? ? ? ? ? ? ? configLocation ? ? ? ? classpath:monitoring.properties ? ? ? ? ? ? ? ? ? ? ? com.gitee.pifeng.monitoring.integrator.listener.MonitoringPlugInitializeListener ? ? ? ? ? ?

業務埋點

Java應用程序只要集成了監控客戶端,就具有業務埋點監控的能力,通過 Monitor.buryingPoint() 方法定時監控業務運行情況,通過 Monitor.sendAlarm() 發送告警。具體使用實例如下:

// 業務埋點監控
ScheduledExecutorService service = Monitor.buryingPoint(() -> {
? // 假如發現了業務異常,用下面的代碼發送告警
? Alarm alarm = new Alarm();
? alarm.setAlarmLevel(AlarmLevelEnums.ERROR);
? alarm.setTitle("業務埋點監控");
? alarm.setTest(false);
? alarm.setCharset(Charsets.UTF_8);
? alarm.setMsg("測試普通maven程序業務埋點監控!");
? // alarm.setCode("001");
? alarm.setMonitorType(MonitorTypeEnums.CUSTOM);
? Result result = Monitor.sendAlarm(alarm);
? System.out.println("發送業務告警結果:" + result.toJsonString());
}, 0, 1, TimeUnit.HOURS, ThreadTypeEnums.IO_INTENSIVE_THREAD);

時鐘同步

部署監控程序(監控UI端、監控服務端、監控代理端、監控客戶端)的服務器集群需要進行時鐘同步(NTP),保證時間的一致性!。

打包部署運行

Jar包部署

監控UI端、監控服務端、監控代理端 直接打成可執行jar,打包后可執行jar包在 phoenix/target 目錄下,部署后通過腳本(命令)運行。啟停腳本位置在:/phoenix/doc/腳本/ 。 ? 監控UI端 訪問URL:https://localhost/phoenix-ui/index ,初始賬號/密碼:admin/admin123,guest/guest123。

Docker部署

注意:不推薦使用docker部署,因為在docker容器中運行隔離了物理服務器環境,將無法監控到物理服務器信息,監控到的服務器信息變成了容器環境信息。

  • 方式一:Maven打包遠程部署
  1. 有一臺已經安裝好docker環境的服務器,并且允許遠程連接(以centos7下的yum方式安裝的docker且使用service方式運行為例開啟遠程連接): ? ? ?vi /usr/lib/systemd/system/docker.service ? ? ?確保:ExecStart 的后面有: -H tcp://0.0.0.0:2375 ? ? ?修改完成后保存退出,刷新并重啟docker服務: ? ? ?systemctl daemon-reload ? ? ?systemctl restart docker
  2. 在系統環境變量中添DOCKER_HOST,如下圖所示: ? poYBAGJiCpyAFu_1AAAlYhLZpiw397.png
  3. 編譯項目打包項目并打包鏡像: ? ? ?mvn -Dmaven.test.skip=true clean package docker:build
  4. 運行:腳本位置在phoenix/doc/腳本/,腳本名為:docker_run.sh,可以自己根據需要靈活修改。
  • 方式二:服務器本地構建docker鏡像
  1. 打包可執行jar,并上傳至服務器;
  2. 上傳Dockerfile文件至服務器,文件位置在:phoenix/phoenix-agent/src/main/docker/Dockerfile、phoenix/phoenix-server/src/main/docker/Dockerfile、phoenix/phoenix-ui/src/main/docker/Dockerfile, ? ? ?Dockerfile要與對應的jar包放在同一目錄下;
  3. 運行Dockerfile,構建docker鏡像;
  4. 運行:腳本位置在phoenix/doc/腳本/,腳本名為:docker_run.sh,可以自己根據需要靈活修改。

集群部署

監控服務端、監控UI端支持集群部署,提升系統的容災和可用性。

集群部署時,幾點要求和建議:

  1. DB配置保持一致;
  2. 集群機器時鐘保持一致(單機集群忽視);
  3. 建議:推薦通過nginx為集群做負載均衡,分配域名。監控服務端、監控UI端均通過該域名進行訪問。

pYYBAGJiCp6ADEk7AABSZIMddgE598.png

功能截圖

pYYBAGJiCqCAVGZAAAF4j4I6goU282.png ?? poYBAGJiCqKAAVQGAAGkNqMSL7E022.png ?? poYBAGJiCqSAFMOJAADjCcrGC4E975.png

pYYBAGJiCqaAdZeuAAGW6J_ZFFA580.png ?? pYYBAGJiCqiAABZXAAFRO-1KkTk781.png ?? poYBAGJiCqqAHQhTAAGS3cN0tvU473.png

poYBAGJiCquAflE7AAEHXNdS6Xo802.png

pYYBAGJiCq2AbOY8AAGRUYw2Z1o094.png

poYBAGJiCq-Ab49-AAI6HEQzLNg021.png

pYYBAGJiCrGAYKM9AADuNEoWAfg901.png

pYYBAGJiCrOAc_YPAADoMKVdJfg363.png

pYYBAGJiCrSABh-sAADL9-QvxbM873.png

poYBAGJiCraAF_eSAAHSoLNvF1I641.png

poYBAGJiCriAU8K6AADbNX5Op9Q294.png

poYBAGJiCrqAa81jAAKMCDVpo8U809.png

pYYBAGJiCryAYejkAAExAM8PntU417.png

poYBAGJiCr6AaZoEAAJ15LMFnSs172.png

pYYBAGJiCsGAFEUHAAO8ob-nMPY365.png

pYYBAGJiCsKAWCWjAADxhobfy-U539.png

常見問題

https://gitee.com/monitoring-platform/phoenix/wikis/pages?sort_id=4438763&doc_id=935794

期望

歡迎提出更好的意見,幫助完善 phoenix

版權

GNU General Public License v3.0

?

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>