由于自己現在無業游民,所以沒有什么現成的環境,環境就隨便找個公網的。再者當下的完成度應該算不上一個完整的 APP,但是作為參考,依瓢畫葫蘆絕對足夠了,如果等完整產品,可能得等一段時間了,下面的是該項目的地址。
項目地址:https://github.com/youerning/MyApp(star一下唄)
效果圖如下
文章目錄:
1. 準備工作
2. 代理
3. 頁面框架
4. 獲取數據
5. 繪圖
6. 自問自答
頁面邏輯簡要說明:
1. 一共三個 tab,分別為 home,es,zabbix。
2. home 頁面有 es,zabbix 的性能指標。
3. es頁面可以圖形展示搜索的數據。
4. zabbix頁面可以圖形展示搜索的數據(沒有環境所以留空)。
(一)
1. 環境搭建參考:第一篇http://youerning.blog.51cto.com/10513771/1735450
2. es 服務器
因為沒有現成的 es 環境再者自己搭建還得往里面填數據,這太難過了,所以通過 shodan 找一個暴露在公網的 es 服務器。
3. 創建一個 APP
ionic start myops blank
4. sublime 打開該項目
(二)
1. 搭建代理
雖說 app 里面似乎沒有跨域的限制,但是自己在調試的時候還是可能被這個跨域弄得焦頭爛額的。
所以可以通過 flask 簡單的寫一個代理頁面,代碼如下,如你所見,我把這個暴露在公網的 es 服務器的 IP 寫出來,的確有點不道德(大家不要搞破壞呀~數據量這么豐富的還是比較難找的呀)。
這個頁面的效果如下。
(三)
1. 頁面框架
就如上面的效果圖,我們應該需要三個 tab,然后一個 es 性能的模板頁面,一個詳情模板頁面。
所以目錄結構大體如下。
總而言之,我們需要五個模板,所以在 www 目錄下創建了一個 tpls 的目錄用于放置我們的模板文件。
完整源代碼,可以訪問我的 GitHub。
2. 頁面框架編寫。
首先在入口頁撰寫總體布局:
創建視圖文件,大致結構如下,home.html,es.html.zabbix.html等
編寫路由邏輯。
(四)
1. 獲取數據
這里我們通過 angularjs 內置的 $http 訪問相應的 api,大致如下。
本來性能指標應該是時間序列的監控數據,但是由于沒有環境,這里就簡單的列出當前指標值。
perf.html 內容如下。
(五)
1. 繪圖
這里繪圖使用 chart.js
2. 安裝 chart.js
在項目目錄下執行下面命令
3. 在 index.html 引入 js 文件
4. 檢索 es 中我們感興趣的字段
通過檢索 mapping 效果如下
個人而言,感覺可玩的是 clientip,agent,response
我們利用 es 的 api 統計以下上面的字段吧。
因為聚合需要 post 方法,所以這里使用 postman。
效果如下
5. 通過 $http 獲取數據
6. 模板內容如下
7. 繪圖
(六)
自問自答
Q:為毛不用最新的 ionic
A:暫時沒有看 typescript 的看法
Q:能畫其他圖么?
A:參考 http://jtblin.github.io/angular-chart.js/
Q:為毛沒有獲取一下 zabbix 的數據
A:沒環境,不想搭
不足
1. 有一些重復的代碼
2. 不夠足夠好看
3. 沒有將 url 的控制權交給 APP
-
Linux
+關注
關注
87文章
11345瀏覽量
210406 -
APP
+關注
關注
33文章
1577瀏覽量
72786 -
運維
+關注
關注
1文章
263瀏覽量
7630
原文標題:手把手教你從無到有寫一個運維APP
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
【原創分享】從無到有,徹底搞懂MOSFET講解(五)
【原創】從無到有,徹底搞懂MOSFET講解(九)
【原創推薦】從無到有,徹底搞懂MOSFET講解(完)
從無到有,手擼實現ActorFrameWork
利用6 個 Linux 運維典型問題來分析處理問題的思路
【原創分享】從無到有,徹底搞懂MOSFET講解(四)
從無到有玩NodeMcu:web端控制
![<b class='flag-5'>從無到有</b>玩NodeMcu:web端控制](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論