監控入門
監控入門
如何發現伺服器執行不佳的狀況?等到使用者告訴你係統有問題時,這些問題可能已經存在有一段時間了。如果問題長時間得不到解決,將會使系統診斷和修復過程複雜化。
本章將使用各種系統提供的基本工具,在作業系統層面對MySQL 監控進行測試,我們從這裡開始介紹是因為系統服務或應用程式總是依賴於作業系統和其本身硬體的效能。如果作業系統效能很差,其上安裝的資料庫系統或應用程式的效能也好不到哪裡去。
我們首先考察為什麼要使用監控系統,再看看在主流作業系統上執行的基本監控任務,並討論監控系統如何使預防性維護工作變得更輕鬆。一旦你掌握了這些技巧,就可以更加了解你的資料庫系統。下一章將關注監控MySQL 伺服器的更多詳情,並介紹一些解決常見效能問題的使用指南。
監控方法
當我們想到“監控”時,通常會聯想到一些用於監測問題的早期預警系統。然而,監控(作為動詞)這個詞是指“在不影響操作或執行環境的前提下,用儀器觀察、記錄或檢測操作或環境”()。這些早期的預警系統採用自動取樣和預報系統相結合的方式進行預警。
Linux 和UNIX作業系統非常複雜,且有許多影響主要和次要系統活動的所有行為的引數。最佳化這些作業系統的效能可以說是一門藝術而非科技。與一些桌面作業系統不同,Linux和UNIX(及其變種)既不隱藏系統最佳化工具,也不限制你對系統的最佳化。而一些桌面作業系統,如Mac OS X 和Windows,將系統的許多基礎機制隱藏在使用者非常友好的視覺化介面後面。
例如,Mac OS X 作業系統是一個非常優雅的且執行流暢的作業系統,在正常情況下它只需要一點點或根本不需要使用者的注意。然而,在以下章節你將看到,Mac OS X 作業系統提供許多先進的監控工具,這些工具可以幫你最佳化Mac OS X 作業系統。
Windows 作業系統有很多版本,目前最新的版本是Windows 7。幸運的是,這些版本中的大部分都包含相同的監控工具,使用者可以使用這些監控工具最佳化系統以滿足特定需求。雖然Windows 不如Mac OS X 作業系統那樣討好,但是它提供了許多使用者可訪問的最佳化選項。
主要有三類系統監控:系統效能、應用程式效能和安全性。你可能因為一些特殊原因而開始進行系統監控,但是一般情況下任何監控任務都可以歸為這三類中的一類。
每類都使用不同的工具集(有一些重疊)且監控物件也不相同。例如,監控系統效能可以確保系統能夠在最高效率下執行,監控應用程式的效能是為了確保單個應用程式能夠以最高效率執行,而監控安全性卻是為了確保系統被保護在最安全的保護模式下。
監控MySQL 伺服器類似於監控應用程式。這是因為MySQL 就像大多數的資料庫系統一樣,需要測量許多與作業系統關係不大或無關的變數和狀態指標。但是,資料庫系統非常容易受到主機作業系統的影響,所以在進行資料庫系統的問題診斷前,確保主機作業系統執行良好是很重要的。
因為我們的目的是監控MySQL 系統以確保資料庫系統能夠以最高的效率執行,所以以下各節將討論作業系統的效能監控。至於安全性監控,將在其他章節詳細介紹。
監控的好處
監控方法有兩種:主動監控和被動監控。你可能希望透過監控來確保一切都沒有改變(沒有效能下降,不存在安全漏洞),或者查出是哪些地方發生了改變或哪些地方出現了問題。主動監控是指透過監控系統確保一切都沒有改變,而被動監控是指透過監控系統確定系統出錯的地方。遺憾的是,大多數監控是被動監控,且被動監控是有些專業人士瞭解的唯一形式。只有極少數的IT 專業人士有時間或資源進行主動監控。
不過,花時間主動監控系統可以減少大量的被動監控工作。例如,如果你的使用者抱怨系統效能差(被動監控首要關注的問題),你沒有辦法知道該系統退化了多少,除非有以前的監控結果可以進行對比。記錄這種監控結果被稱為“形成系統的基準”。也就是說,你在低、正常和高負荷的環境下已經監控系統效能一段時間了。如果你持續頻繁地進行取樣,就可以確定在各種負荷情況下系統的典型效能。因此,當使用者報告效能問題時,你可以對系統進行取樣並將上報的結果與基準進行比較。如果你的歷史資料足夠詳細,通常一眼就能發現系統的哪一部分已經發生改變了。
本文節選自《高可用MySQL:構建健壯的資料中心 》一書
圖書詳細資訊:http://space.itpub.net/?uid-13164110-action-viewspace-itemid-708303
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-708847/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 呼叫鏈監控 CAT 之 入門
- Prometheus監控系統入門與部署Prometheus
- 監控神器:Prometheus 輕鬆入門,真香!(上篇)Prometheus
- 監控神器:Prometheus 輕鬆入門,真香!(下篇)Prometheus
- springCloud入門學習--Hystrix狀態監控SpringGCCloud
- 踩坑指南:入門OpenTenBase之監控篇
- 監控平臺SkyWalking9入門實踐
- Ambari,hadoop的配置,管理和監控專案入門Hadoop
- Arduino入門:製作你自己的環境監控系統UI
- Spring Cloud 快速入門(四)Hystrix Dashboard 監控儀表盤、Turbine 聚合監控、服務降級報警機制SpringCloud
- 【ELK入門】Elastic中文社群運維監控實戰之架構篇AST運維架構
- go 如何監控鍵盤輸入Go
- 模擬登入之web監控Web
- 黑盒監控、日誌監控
- ASP.NET 效能監控和優化入門ASP.NET優化
- ASP.NET效能監控和優化入門ASP.NET優化
- 培訓工作納入系統監控
- Go 監控告警入門 OpentelemetryGo
- 6.prometheus監控--監控dockerPrometheusDocker
- 運維必學的監控系統——Prometheus,大牛免費直播帶你入門~運維Prometheus
- TiDB監控實現--存活監控TiDB
- 聊聊前端監控——錯誤監控篇前端
- nagios監控例項 -- PostgreSQL監控iOSSQL
- 從零開始入門 K8s | 可觀測性:監控與日誌K8S
- APM效能監控軟體的監控型別服務及監控流程型別
- 【SQL監控】SQL完全監控的指令碼SQL指令碼
- 伺服器監控之 ping 監控伺服器
- 3-主機監控、應用監控
- Redis監控Redis
- 批量監控
- index 監控Index
- nginx監控Nginx
- centos 監控CentOS
- zabbix監控
- 夜鶯監控
- 【Linux入門】10個超好用的免費伺服器和網路監控工具!Linux伺服器
- 利用Resource Timing監控資源載入速度
- mysql 的一個監控指令碼,監控heartbeatMySql指令碼