OneAPM 云監(jiān)控部署與試用體驗(yàn)

作為 Zabbix 骨灰級(jí)粉絲,一直以來(lái)對(duì)第三方監(jiān)控(APM)都是拒絕的。一來(lái)覺(jué)得收費(fèi),二來(lái)?yè)?dān)心數(shù)據(jù)被人所知,三來(lái)覺(jué)得 Zabbix 牛逼到無(wú)可取代。但是,隨著 APM 市場(chǎng)的火爆,我決定「放下身段」試用一次,并且會(huì)總結(jié)出它與開源監(jiān)控之間差別在哪里。

運(yùn)維經(jīng)歷的磨難

雖然都在不同的公司,做著不同的業(yè)務(wù),但是大多運(yùn)維總會(huì)經(jīng)歷相同的故事,以及背著類似的黑鍋。運(yùn)維們大多有如下經(jīng)歷:

  • 網(wǎng)站或者業(yè)務(wù)訪問(wèn)不了,服務(wù)器問(wèn)題,運(yùn)維的責(zé)任
  • 昨天還好好的,今天就出現(xiàn)的問(wèn)題,運(yùn)維的責(zé)任
  • 部分地區(qū)用戶反饋網(wǎng)站/App 無(wú)法試用,運(yùn)維查查服務(wù)器。而且這種問(wèn)題大多出現(xiàn)在事后。
  • 各種程序都需要監(jiān)控,常見的 MongoDB 、 Redis 、 Nginx ,還會(huì)出現(xiàn)各種不常見的應(yīng)用。任何一種軟件都要熟悉,運(yùn)維總是在不停的學(xué)習(xí),待遇缺一直比不上研發(fā)!
  • 服務(wù)器出現(xiàn)問(wèn)題,老板找運(yùn)維、領(lǐng)導(dǎo)找運(yùn)維、開發(fā)也找運(yùn)維,運(yùn)維并不知道代碼邏輯,看日志,各種排錯(cuò)。

初識(shí) OneAPM

OneAPM 是一家為企業(yè)和開發(fā)者提供 APM 解決方案的服務(wù)商,支持 Java、.NET、PHP、Ruby、Python、Node.js、HTML5、iOS、Android 等語(yǔ)言和操作系統(tǒng)。

什么是 APM ?

既然試用 APM ,我覺(jué)得很有必要給大家解釋一下這個(gè)名詞。應(yīng)用性能管理(Application Performance Management)主要指對(duì)企業(yè)的關(guān)鍵業(yè)務(wù)應(yīng)用進(jìn)行監(jiān)測(cè)、優(yōu)化,提高企業(yè)應(yīng)用的可靠性和質(zhì)量,保證用戶得到良好的服務(wù),降低IT總擁有成本 (TCO) 。使用全業(yè)務(wù)鏈的敏捷 APM 監(jiān)控,可使一個(gè)企業(yè)的關(guān)鍵業(yè)務(wù)應(yīng)用的性能更強(qiáng)大,可以提高競(jìng)爭(zhēng)力,并取得商業(yè)成功,因此,加強(qiáng)應(yīng)用性能管理(APM)可以產(chǎn)生巨大商業(yè)利益。國(guó)內(nèi)外的 APM 有 Compuware 、 iMaster 、聽云、New Relic、OneAPM 、AppDynamics 等。
解釋比較干,如果還是不了解什么是 APM ,那么請(qǐng)隨我全面試用 OneAPM 的過(guò)程來(lái)了解什么是 APM 。

為什么要使用 OneAPM ?

分別從兩個(gè)層面考量,分別為運(yùn)維層面與代碼層面

  • 運(yùn)維層面
    團(tuán)隊(duì)規(guī)模小,大多數(shù)團(tuán)隊(duì)因?yàn)槌杀締?wèn)題,都由開發(fā)人員兼職,造成了沒(méi)有專業(yè)運(yùn)維的一個(gè)局面,導(dǎo)致無(wú)法做更多的運(yùn)維層面監(jiān)控。
  • 代碼層面
    運(yùn)維能監(jiān)控到眾多系統(tǒng)層面甚至業(yè)務(wù)級(jí)別監(jiān)控,但是代碼級(jí)別、終端用戶層面無(wú)法監(jiān)控到。部分 App /程序上線初期因?yàn)橛脩袅枯^少服務(wù)器能夠頂住,但是一旦用戶上來(lái),將會(huì)變成亂成一團(tuán),最終導(dǎo)致用戶流失。

OneAPM 六個(gè)監(jiān)控大項(xiàng)

共有六項(xiàng)功能,接下來(lái)我一一使用,并對(duì)它和傳統(tǒng)的開源監(jiān)控來(lái)做比較

Ai(應(yīng)用監(jiān)控

可監(jiān)控 Java、.NET、Node.js、Python、PHP、Ruby 性能,通過(guò)探針的方式監(jiān)控,可以監(jiān)控到代碼層面的性能,例如代碼響應(yīng)時(shí)間、吞吐量等等,研發(fā)人員通過(guò)它可以快速的定位性能低效代碼

Bi(瀏覽器監(jiān)控)

通過(guò)Ai方式注入或者流量器中增加js ,js 收集瀏覽網(wǎng)頁(yè)用戶的信息,并提交到OneAPM服務(wù)器。于是,我們能夠了解到真實(shí)用戶對(duì)網(wǎng)站的瀏覽情況。例如:白屏?xí)r間、首屏?xí)r間、腳本錯(cuò)誤、網(wǎng)頁(yè)加載就緒時(shí)間、各種瀏覽器的訪問(wèn)情況,甚至能了解不同瀏覽器、運(yùn)營(yíng)商、地區(qū)用戶的訪問(wèn)狀況。

Ci(平臺(tái)監(jiān)控)

Ai、Bi 都比較偏向于開發(fā),Ci則偏向于運(yùn)維,Ci提供對(duì)系統(tǒng)、開源程序(例如:Nginx、PHP、Apache、MySQL、redis 等等)的性能指標(biāo)管理,而且也提供系統(tǒng)層面的基本監(jiān)控,例如 CPU 、內(nèi)存、硬盤,但是功能相對(duì)比 Server 模塊弱一點(diǎn)。

Mi(移動(dòng)應(yīng)用)

與Ai相類似,唯一不同的是它屬于用戶層面軟件管理,真實(shí)反饋用戶是用情況,并定位到代碼問(wèn)題。目前支持 iOS、 Android ,Windows Phone 用戶量畢竟太少

Servers(系統(tǒng)監(jiān)控)

服務(wù)器系統(tǒng)級(jí)別監(jiān)控,主要監(jiān)控CPU、內(nèi)存、網(wǎng)絡(luò)、硬盤等基本信息

告警(OneAlert)

OneAlert 的前身是 110 monitor ,偏向于運(yùn)維,它是監(jiān)控中最終的一環(huán)。 OneAlert 是一個(gè)中心,任何告警信息發(fā)送至 OneAlert,你可以設(shè)置各種規(guī)則,例如什么時(shí)間點(diǎn)發(fā)告警給誰(shuí),通過(guò)什么發(fā)送發(fā)送,例如短信、郵箱、微信、app等等。此功能相對(duì)獨(dú)立,不依托前面幾個(gè)產(chǎn)品。支持多種插件,例如zabbix、NAGIOS、阿里云,甚至競(jìng)爭(zhēng)對(duì)手監(jiān)控寶。不知道監(jiān)控寶該高興呢還是不高興呢!

OneAPM 正式試用

因?yàn)檫\(yùn)維生存時(shí)間是 LNMP 環(huán)境,所以接下來(lái)的內(nèi)容以 LNMP 為主,當(dāng)然盡量試用更多的業(yè)務(wù)

OneAPM 試用之Ai

其實(shí)就是安裝一個(gè) PHP 擴(kuò)展,而且官方已經(jīng)列出了傻瓜式的文檔,所以可以知道安裝到底有多簡(jiǎn)單了。極力推薦官方改成一鍵安裝方式。

安裝OneAPM PHP Agent

#wget https://user.oneapm.com/account/7e42e138b703a72ae6950531c9ad958a/agent/php/OneAPM_php_Agent_latest.tar.gz

tar -xzf OneAPM_php_Agent_latest.tar.gz
cd oneapm-php5-linux-install-script
./oneapm-install

在提示輸入「License Key」時(shí),輸入「License Key」

BwQCBwAPDAd5724VHAhDXw9NW04886BbXhgGCAkDTb0f6wBfGwNRTQcE3ca5BgcZBAAVBls=

等待安裝腳本執(zhí)行。若出現(xiàn)以下信息,則安裝成功。

OneAPM is now installed on your system. Congratulations!

重啟php-fpm

service php-fpm restart

或者你是 Apache ,那么重啟 Apache 就行了,等候幾分鐘,重新進(jìn)入后臺(tái),便可以看到數(shù)據(jù)。

Cloudwatch1
Cloudwatch1

Ai 總覽

Cloudwatch2
Cloudwatch2

默認(rèn)顯示最近30分鐘數(shù)據(jù)。一一看下都有哪些功能及其作用
平均響應(yīng)時(shí)間
分為4個(gè)事物, Web 事務(wù)、后臺(tái)任務(wù)、數(shù)據(jù)庫(kù)、外部服務(wù),著重了解 Web 與數(shù)據(jù)庫(kù)。

Cloudwatch3
Cloudwatch3

Web 事務(wù)響應(yīng)時(shí)間為從接收到請(qǐng)求到放回之間的時(shí)間,最高平均值為870多毫秒,這個(gè)值可以容忍。好在運(yùn)維生存時(shí)間時(shí)間有使用 CDN ,否則絕對(duì)都是無(wú)法容忍的。

Cloudwatch4
Cloudwatch4

數(shù)據(jù)庫(kù)最大平均響應(yīng)時(shí)間為3.08ms,執(zhí)行次數(shù)16,316次,總時(shí)間50.22毫秒。看到這些數(shù)據(jù),心里有底了。

Apdex (性能指數(shù))

先來(lái)了解下什么是 Apdex 。 Apdex 是一個(gè)國(guó)際通用標(biāo)準(zhǔn),是對(duì)用戶體驗(yàn)滿意度的量化值。
服務(wù)端 Apdex :當(dāng)前服務(wù)端設(shè)定的 Apdex T 值為0.5秒。這意味著響應(yīng)時(shí)間小于0.5秒時(shí),為滿意狀態(tài),介于0.5秒到2秒之間為可容忍狀態(tài),2秒以上為不滿意狀態(tài)。
瀏覽器 Apdex :當(dāng)前瀏覽器設(shè)定的 Apdex T值為2秒。 這意味著瀏覽器加載時(shí)間在2秒內(nèi)是滿意狀態(tài),介于2秒到8秒之間為可容忍狀態(tài),8秒以上為不滿意狀態(tài)。

Cloudwatch5
Cloudwatch5

吞吐量

每分鐘平均請(qǐng)求量

Cloudwatch6
Cloudwatch6

目前這邊每分鐘平均27.17個(gè)請(qǐng)求,上圖圖層顯示的數(shù)據(jù)為14:50到14:52兩分鐘內(nèi)平均響應(yīng)時(shí)間328.76ms,執(zhí)行次數(shù)66次。如果吞吐量小,響應(yīng)時(shí)間長(zhǎng),那應(yīng)該引起足夠的重視,將問(wèn)題消滅在萌芽期。

Web 事務(wù)

一個(gè) http/https 請(qǐng)求從發(fā)起到收到響應(yīng)這個(gè)過(guò)程,我們稱之為 Web 事務(wù)。
有時(shí)候網(wǎng)站慢,有時(shí)候有正常,運(yùn)維無(wú)法排查到問(wèn)題。OneAPM 的慢事務(wù)追蹤完美解決了這個(gè)問(wèn)題。來(lái)找出運(yùn)維生存時(shí)間網(wǎng)站隱藏的問(wèn)題。

Cloudwatch7
Cloudwatch7

由此,我找到 Uri/wp-login.php 在整個(gè)過(guò)程相對(duì)耗時(shí)間,這是一個(gè)較少用到的頁(yè)面,從上圖可以發(fā)現(xiàn)2分鐘內(nèi)只執(zhí)行了2次,平均響應(yīng)時(shí)間卻達(dá)到995.78毫秒。

Cloudwatch8
Cloudwatch8

點(diǎn)擊如上連接,進(jìn)入追蹤

Cloudwatch9
Cloudwatch9

在最慢組件中,我們發(fā)現(xiàn)函數(shù) file_get_contents 調(diào)用了一次,卻執(zhí)行了9秒時(shí)間。我們看看追蹤詳情,來(lái)探探究竟。


Cloudwatch10
Cloudwatch10

運(yùn)維生存時(shí)間時(shí)間啟用了酷炫的登陸頁(yè)面,后臺(tái)圖片為 bing 的背景。這個(gè)文章竟然是通過(guò) file_get_contents 抓取的,得不償失呀!

Web 事務(wù)追中不僅僅包含了代碼級(jí)別追蹤,其中還有請(qǐng)求參數(shù),SQL 語(yǔ)句。功能酷的不能在庫(kù)了。到底是 SQL 有問(wèn)題還是代碼有問(wèn)題,OneAPM 都給你展示出來(lái)了。

Cloudwatch11
Cloudwatch11

錯(cuò)誤信息

程序執(zhí)行過(guò)程中可能會(huì)少量出現(xiàn)錯(cuò)誤,因?yàn)楦怕实年P(guān)系,我們可能無(wú)法遇到,有些錯(cuò)誤致命,有些錯(cuò)誤無(wú)關(guān)大小,OneAPM 也就能抓住他們,等著開發(fā)人員去消滅。

Cloudwatch12
Cloudwatch12

以上錯(cuò)誤,在近6小時(shí)出現(xiàn)1326次,慶幸它是一個(gè) warning 。為此功能點(diǎn)贊!

OneAPM 試用之 Bi

試用Ai之后,即使它是商業(yè)化產(chǎn)品,但是崇拜之心油然而生,畢竟這些功能 Zabbix 、NAGIOS 無(wú)法實(shí)現(xiàn)。
Bi , 瀏覽器應(yīng)用管理,適合門戶、論壇等站點(diǎn),數(shù)據(jù)均來(lái)自真實(shí)用戶,能夠最直接的了解到站點(diǎn)性能,以及用戶端出現(xiàn)的錯(cuò)誤。

Cloudwatch13
Cloudwatch13

有三種部署方式

  • 復(fù)制/黏貼 js 純文本
    輸入應(yīng)用名稱后,復(fù)制生成的代碼,將其粘貼在<head>中。
    注意:需要將代碼粘貼在 <meta> 后面,所有 <script> 前面。
    優(yōu)勢(shì):避免加載 js 探針第一個(gè)腳本引起的網(wǎng)絡(luò)耗時(shí)和減少白屏?xí)r間。

  • 復(fù)制/黏貼 js 鏈接
    輸入應(yīng)用名稱后,復(fù)制生成的代碼,將其粘貼在<head>中。
    注意:需要將代碼粘貼在<meta> 后面,所有 <script> 前面。
    優(yōu)勢(shì):操作簡(jiǎn)單,部署方便。

  • Ai 自動(dòng)注入 Bi 探針
    由 Ai 探針自動(dòng)向前端頁(yè)面注入 js 代碼,只需簡(jiǎn)單配置,無(wú)需修改代碼。
    優(yōu)勢(shì):和 Ai 無(wú)縫集成,可監(jiān)控 Web 應(yīng)用程序在不同區(qū)域、不同設(shè)備下響應(yīng)時(shí)間,更新 js 探針?lè)奖?/p>

部署 Bi

使用 js 純文本方式部署,輸入應(yīng)用名「運(yùn)維生存時(shí)間 WEB」,保存即可獲取到 js ,獲取到的代碼放到網(wǎng)站共用 head 之間。

Cloudwatch14
Cloudwatch14
Cloudwatch15
Cloudwatch15

如果不知道怎么放到 head ,聯(lián)系對(duì)應(yīng)的開發(fā)人員,他會(huì)告訴你。

Cloudwatch16
Cloudwatch16

在測(cè)試的前一周,我們已經(jīng)部署了一個(gè)未上 CDN 的小流量站點(diǎn),先用這個(gè)站點(diǎn)看看。

Bi 基本功能

功能分為:受訪頁(yè)面、Ajax、腳本錯(cuò)誤、瀏覽器、地理、運(yùn)營(yíng)商。
這部分?jǐn)?shù)據(jù)對(duì)前端工程師非常重要,白屏?xí)r間、首屏?xí)r間、網(wǎng)頁(yè)就緒時(shí)間,OneAPM 統(tǒng)計(jì)了每一個(gè) URL 的這些指數(shù)的平均時(shí)間,從中找出最耗時(shí)間的 URL ,對(duì)代碼響應(yīng)的改良。

Cloudwatch17
Cloudwatch17

Apdex 性能指數(shù)

此處能非常清晰的表現(xiàn)出當(dāng)前站點(diǎn)的用戶體驗(yàn)狀況。如果大于2,那說(shuō)明網(wǎng)站情況非常糟糕。如上截圖,平均性能指標(biāo) Apdex 在0.28,可以容忍,看到這個(gè)指數(shù)心里相對(duì)放心,咱的站點(diǎn)用戶體驗(yàn)不差。

腳本兼容性之腳本錯(cuò)誤

公司有個(gè)前端工程師安裝了各種瀏覽器,不知道的人還以為他愛好廣泛呢,實(shí)際上他僅僅是為了在每種瀏覽器上做兼容性測(cè)試。瀏覽器有多家,每一家都有多個(gè)版本, Firefox 都以及42.0了_。腳本錯(cuò)誤在所難免, js 錯(cuò)誤進(jìn)一步導(dǎo)致網(wǎng)站部分功能無(wú)法使用。 OneAPM 記錄了用戶腳本錯(cuò)誤信息,簡(jiǎn)直就是一個(gè)專業(yè)用戶自動(dòng)反饋(以往靠熱心的用戶的反饋,還提供測(cè)試,遠(yuǎn)程測(cè)試那得多消磨時(shí)間,而且其他未反饋的用戶就別遺忘了,被遺忘幾乎等于流失)。

Cloudwatch18
Cloudwatch18

Cloudwatch19
Cloudwatch19
Cloudwatch20
Cloudwatch20
Cloudwatch21
Cloudwatch21

如上信息可以知道哪個(gè)頁(yè)面出現(xiàn)了哪些腳本錯(cuò)誤,并且給出了用戶信息、瀏覽器、錯(cuò)誤信息、堆棧信息等。我想,前端工程師從這里可以解決相當(dāng)多問(wèn)題!

頁(yè)面跟蹤

某些頁(yè)面慢,到底慢在哪里,和 Ai 的 Web 事務(wù)一樣,提供了慢事務(wù)追蹤。

Cloudwatch22
Cloudwatch22

點(diǎn)擊需要 Trace 的頁(yè)面,找到滿加載追蹤,資源為支持的可以 Trace

Cloudwatch23
Cloudwatch23
Cloudwatch24
Cloudwatch24

時(shí)間都在DOM

Cloudwatch25
Cloudwatch25

只列出了部分資源時(shí)序,底下還有更多,類似 firebug 的「網(wǎng)絡(luò)」,顯示各個(gè)資源加載所消耗的時(shí)間。但是功能略顯不足,未顯示每個(gè)資源 DNS 解析、建立連接、接收數(shù)據(jù)分別消耗的時(shí)間,但是它能為我們提供一定的參考。這邊或許可以做得更好。

OneAPM 試用之 Ci

Ci 平臺(tái)監(jiān)控,具體干嘛的,我上一張圖你就明白了。

Cloudwatch26
Cloudwatch26

用戶只需在服務(wù)器安裝 OneAPM Ci Agent,配置需要監(jiān)控應(yīng)用的配置文件即可。

部署OneAPM Ci Agent

點(diǎn)擊設(shè)置添加平臺(tái),如下圖

Cloudwatch27
Cloudwatch27

復(fù)制 shell 命令,在 Linux 中運(yùn)行即可。

平臺(tái)添加完畢之后,過(guò)幾分鐘就能看到信息

Cloudwatch28
Cloudwatch28

剛配置完畢,平臺(tái)服務(wù)列只有 System 。 System 為服務(wù)器基本信息,例如 CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等。如下圖

Cloudwatch29
Cloudwatch29

效果與剛安裝完 Zabbix 一樣,但是安裝更簡(jiǎn)單,UI 更漂亮。

添加平臺(tái)服務(wù)

有各種各樣的程序需要做性能管理,例如 Nginx 、 MySQL 、 PHP 、tomcat 等

LNMP 環(huán)境部署

所有的配置文件均在 /etc/oneapm-ci-agent/conf.d/ ,支持被監(jiān)控的軟件都有配置文件 sample

配置文件如下

ll /etc/oneapm-ci-agent/conf.d/
-rw-r--r-- 1 oneapm-ci-agent root 2630 Sep  6 22:41 activemq_58.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 2619 Sep  6 22:41 activemq.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  232 Sep  6 22:41 apache.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 2372 Sep  6 22:41 cassandra.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  250 Sep  6 22:41 couchbase.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  916 Sep  6 22:41 couch.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 2408 Sep  6 22:41 docker.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 2385 Sep  6 22:41 elastic.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 1550 Sep  6 22:41 jmx.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  338 Sep  6 22:41 kafka_consumer.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 5957 Sep  6 22:41 kafka.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  245 Sep  6 22:41 mcache.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  872 Sep  6 22:41 mongo.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  917 Sep  6 22:41 mysql.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  627 Sep  6 22:41 nginx.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root  952 Sep  6 22:41 php_fpm.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 1787 Sep  6 22:41 postgres.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 1645 Sep  6 22:41 rabbitmq.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 1116 Sep  6 22:41 redisdb.yaml.example
-rw-r--r-- 1 oneapm-ci-agent root 2760 Sep  6 22:41 tomcat.yaml.example

部署 nginx

部署 nginx status

請(qǐng)看之前的文章:http://www.ttlsa.com/nginx/nginx-status-detail/

status地址:http://localhost/status

編輯 nginx 配置

# cat nginx.yaml
init_config:
instances:
- nginx_status_url: http://localhost/ngx_status
tags:
tag_key:tag_value`

重啟OneAPM-C

# /etc/init.d/oneapm-ci-agent restart
Stopping OneAPM CI Agent (using killproc on supervisord):  [  OK  ]
Starting OneAPM CI Agent (using supervisord):             [  OK  ]

驗(yàn)證 php-fpm運(yùn)行狀態(tài)

# /etc/init.d/oneapm-ci-agent info   

如果看到如下信息,說(shuō)明 php-fpm 監(jiān)控配置成功,登陸 OneAPM,等候幾分鐘,Ci中會(huì)有數(shù)據(jù)展示

Checks
======
php_fpm
-------
- instance #0 [OK]
- Collected 7 metrics, 0 events & 2 service checks`

Nginx 性能數(shù)據(jù)

Cloudwatch30
Cloudwatch30

修改配置文件,重啟 Agent 即可獲取到 nginx,非常簡(jiǎn)答!

部署 MySQL

部署方法基本類型,只需要修改 mysql.yaml 即可

# cat mysql.yaml
instances:
- server: localhost
user: oneapm
pass: '123456'`

配置數(shù)據(jù)權(quán)限

# mysql -e "CREATE USER 'oneapm'@'localhost' IDENTIFIED BY 123456;"
# mysql -e "GRANT REPLICATION CLIENT ON *.* TO 'oneapm'@'localhost' WITH   MAX_USER_CONNECTIONS 5;"

重啟 Agent

# /etc/init.d/oneapm-ci-agent restart`

驗(yàn)證配置

# /etc/init.d/oneapm-ci-agent restart
Checks
======
[...]
mysql
-----
- instance #0 [OK]
- Collected 8 metrics & 0 events`

備注:密碼如果是數(shù)字,一定記得加上單引號(hào),否則會(huì)出現(xiàn)錯(cuò)誤。這算一個(gè)小 BUG,希望 OneAPM 能將它先轉(zhuǎn)為字符串。

MySQL 性能數(shù)據(jù)

Cloudwatch31
Cloudwatch31

當(dāng)然,這邊只顯示部分12個(gè)性能指標(biāo),你可以點(diǎn)擊“加載更多”顯示更多,或者前往 MySQL 儀表盤。

Nginx 部署

配置方法都一樣,只是配置文件不同,我列出我的配置文件以及監(jiān)控圖

配置文件 nginx.yaml

# cat nginx.yaml
init_config:
instances:
- nginx_status_url: http://localhost/ngx_status
tags:
-tag_key:tag_value`

性能數(shù)據(jù)

Cloudwatch32
Cloudwatch32

到這里我們可以發(fā)現(xiàn) Ci 監(jiān)控與 Zabbix 部分功能是一樣的

OneAPM 有如下優(yōu)勢(shì)

  • 部署簡(jiǎn)單,沒(méi)有太多復(fù)雜配置

  • Ui 美觀大方

  • 圖片數(shù)據(jù)能更詳細(xì)的顯示,而 Zabbix 僅僅是一張圖

Zabbix 優(yōu)勢(shì)

  • 開源免費(fèi)
  • 自定義功能強(qiáng)

OneAPM 試用之 Mi

功能與 Ai 類似,可實(shí)現(xiàn)代碼級(jí)別管理

OneAPM 試用之 Server

Server 監(jiān)控與平臺(tái)監(jiān)控中的平臺(tái)服務(wù)「system」部分重疊,如果你不想監(jiān)控太多關(guān)于系統(tǒng)層面的數(shù)據(jù)(cpu、內(nèi)存、io之類),那么安裝OneAPM Ci Agent即可。反之,裝OneAPM Servers吧!

部署 OneAPM Servers

# wget              https://user.oneapm.com/account/7e42e138b703a72ae6950531c9ad958a/agent/server/OneAPM_server_Age    nt_latest.tar.gz
# tar –xzvf OneAPM_server_Agent_latest.tar.gz
# cd oneapm-sysmond-linux-install-script/
# ./oasysmond-install
OneAPM Server Monitor Installation (interactive mode)
============================================

Please select from one of the following options:

1)  Install OneAPM Server Monitor
2)  Uninstall OneAPM Server Monitor
3)  Upgrade OneAPM Server Monitor

0)  Exit

Enter choice (1-3, 0 to exit): 1

根據(jù)提示,輸入你的 key 即可。
運(yùn)行 OneAPM Servers

# oasysmond

數(shù)據(jù)展示
啟動(dòng)之后,登陸 OneAPM 后臺(tái),進(jìn)入 Server 監(jiān)控,稍等幾分鐘便可以查看數(shù)據(jù)。我添加了兩臺(tái)服務(wù)器,數(shù)據(jù)如下

Cloudwatch33
Cloudwatch33

一個(gè)服務(wù)器列表,顯示了最基礎(chǔ)的 CPU\ 內(nèi)存、內(nèi)存、磁盤信息。點(diǎn)擊主機(jī)名,查看更多數(shù)據(jù)。我們可以看到四個(gè)菜單:總覽、磁盤、網(wǎng)絡(luò)、進(jìn)程。

相比其他功能, Server 監(jiān)控沒(méi)有給我太大的驚喜,畢竟功能和 zabbix 相類似。不過(guò)站在非專業(yè)運(yùn)維角度出發(fā),這絕對(duì)是個(gè)被需要產(chǎn)品。分別列出一些性能指數(shù)

Cloudwatch34
Cloudwatch34
Cloudwatch35
Cloudwatch35
Cloudwatch36
Cloudwatch36
Cloudwatch37
Cloudwatch37
Cloudwatch38
Cloudwatch38
Cloudwatch39
Cloudwatch39
Cloudwatch40
Cloudwatch40
Cloudwatch41
Cloudwatch41

千萬(wàn)不要小看這些基本數(shù)據(jù),他能給服務(wù)器是否需要擴(kuò)容升級(jí)提供一個(gè)依據(jù),歷史數(shù)據(jù)也更容易協(xié)助解決一些存在故障!

OneAPM 試用之 OneAlert

Cloudwatch42
Cloudwatch42

它是告警 ALL IN ONE,Zabbix 、API、NAGIOS、阿里云、騰訊云、監(jiān)控寶等等發(fā)出的告警信息接入 OneAlert 數(shù)據(jù)中心。 OneAlert 根據(jù)定義好的規(guī)則,將通過(guò)定義好的告警方式(可能是郵件、可能是短信、可能是電話)將告警消息傳給指定的人,規(guī)則各種靈活配置。

OneAPM VS Zabbix

通過(guò)全面的試用 OneAPM ,我覺(jué)得沒(méi)有必要拿 OneAPM 與傳統(tǒng)開源監(jiān)控 Zabbix 做個(gè)比較。因?yàn)楦髯詡?cè)重點(diǎn)不同,互相不可取代。OneAPM 偏重于性能管理, Zabbix 偏重于業(yè)務(wù)監(jiān)控。

OneAPM 與 Zabbix 如何選擇?

文章寫這么多,不是立馬讓你掏錢去買 OneAPM 服務(wù),這并不是我的初衷。我想讓大家全面的了解什么 APM,APM 能做什么? APM 能解決什么問(wèn)題?如果你覺(jué)得它對(duì)你們有說(shuō)幫助,請(qǐng)毫不猶豫的使用它。如果覺(jué)得 Zabbix 就夠了。那也沒(méi)那個(gè)必要。

最后

感謝 OneAPM 提供試用功能,讓我更全面的了解了 OneAPM 性能管理。當(dāng)然, zabbix 毫無(wú)疑問(wèn)是一個(gè)偉大的產(chǎn)品,我是它的鐵桿粉絲(我用 Zabbix 110篇系列文章這個(gè)行動(dòng)證明了),了解到它的強(qiáng)大之處,也了解到了它的不足之處,這個(gè)不足恰巧是 APM 的機(jī)會(huì)!

  作者:涼白開  網(wǎng)站:運(yùn)維生存時(shí)間 網(wǎng)址:http://www.ttlsa.com/

如果你也想體驗(yàn) OneAPM 強(qiáng)悍的應(yīng)用性能管理功能,歡迎訪問(wèn) OneAPM 官方網(wǎng)站進(jìn)行體驗(yàn)試用。想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問(wèn) OneAPM 官方博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,818評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,185評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,656評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,647評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,446評(píng)論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,951評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,041評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,189評(píng)論 0 287
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,718評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,602評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,800評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,045評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,419評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,671評(píng)論 1 281
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,420評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,755評(píng)論 2 371

推薦閱讀更多精彩內(nèi)容