SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
Opserver 監控服務的解決方案
twMVC #19
 阿砮 Cheng-Ju Wu
 C#, ASP.NET MVC
http://mvc.tw
 Opserver 是什麼?
 Opserver 專案架構與使用方式
 Opserver 監控項目
 其他
摘要
2
開始前…
3
來說點甚麼
4
早期服務小,只要簡單一組
當服務慢慢長大
5
AP+DB機器增加
需具備HA機制
Cache服務
異常Log收集
Search優化
6
當服務越來越多
7
維運需要不同第三方工具輔助
監控變複雜了…
後來注意到一個解決方案
8
Opserver
那麼進入正題吧…
9
Opserver 是什麼?
http://mvc.tw
 開源專案,可於 GitHub 自行下載修改
 使 用 .NET 技術 (C# + ASP.NET MVC)
 用途為 Monitoring System
 使用於 StackExchange 服務
Opserver 是什麼?
10
http://mvc.tw
StackExchange
11
 Using Visual Studio 2015
 Using ASP.NET MVC 5 (C#)(.NET 4.5)
 Using Windows Server 2012 R2 x64
 Using IIS 8.5
 Using MS SQL Server 2014
 Using LINQ to SQL 和 Dapper
 Using StackExchange.Redis
Which tools and technologies are used to build the Stack Exchange Network?
http://mvc.tw
StackExchange
12
http://mvc.tw
StackExchange
13http://stackexchange.com/performance
http://mvc.tw
 Servers
 SQL clusters/instances
 Redis
 Elastic Search
 Exception Logs
 Haproxy
因此 Opserver 監控項目…
14
http://mvc.tw
Opserver 運作 – SNMP
15
How SNMP Works
http://mvc.tw
Opserver 運作
16
17
Opserver 專案架構與使用方式
http://mvc.tw
Opserver 開源專案
18
http://mvc.tw
Opserver 專案架構
19
Opserver (Web) Opserver.Core (Data)
http://mvc.tw
Opserver 使用方式 - Config
20
 Config 資料夾
 SecuritySetting.config
 可依所需功能,開啟.json
http://mvc.tw
Opserver 使用方式 – Security.Config
21
 Active Directory (AD)
 專案初始設定
 自訂
 C# 專案,可修改串接公司內部權限系統
http://mvc.tw
Opserver 使用方式 - Init
22
Demo
23
24
Opserver 監控項目介紹
For SQL Server
25
For Redis
For Exception
For SQL Server
26
http://mvc.tw
For SQL Server – 設定
27
{
"defaultConnectionString": "保持它的預設連線字串",
"clusters": [
{
"name": "隨意名稱",
"refreshIntervalSeconds": 20,
"nodes": [
{
"name": "隨意名稱",
"connectionString": "資料庫連線"
}
]
}
],
"instances": [
{
"name": "AzureVM-DB-Server",
"connectionString": "資料庫連線"
}
]
}
http://mvc.tw
For SQL Server – 內容
28
 All Servers
 Instances
 Top Query
 Who is Active
 Connections
 Database
http://mvc.tw
For SQL Server – All Servers
29
http://mvc.tw
For SQL Server – All Servers
30
http://mvc.tw
For SQL Server – All Servers
31
http://mvc.tw
For SQL Server – Instance
32
http://mvc.tw
For SQL Server – 記憶體
33
http://mvc.tw
= SQL Server – 記憶體報表
34
http://mvc.tw
For SQL Server – All Jobs
35
http://mvc.tw
For SQL Server – Top Query
36
http://mvc.tw
For SQL Server – Active Query
37
http://mvc.tw
For SQL Server – Database
38
http://mvc.tw
For SQL Server – 補充
39
Azure SQL Database
不支援
因缺少msdb
Demo
40
For Redis
41
http://mvc.tw
Redis – 設定
42
{
"Servers": [
{
"name" : "Domain or IP",
"instances": [{
"name": "隨意名稱",
"port": "6379",
"password" : "password"
}]
},
{
"name" : "Domain or IP",
"instances": [{
"name" : “隨意名稱",
"port": "6379"
}]
}]
}
http://mvc.tw
For Redis – Key
43
http://mvc.tw
For Redis – Key
44
http://mvc.tw
For Redis – DB
45
http://mvc.tw
For Redis – 分析
46
Demo
47
For Exception
48
http://mvc.tw
 符合 StackExchange 環境的 Error Handler
 使用 StackExchange.Exceptional
 開源專案:GitHub, Nuget
 支援 Log to SQL Server & MySQL
 設定方式:程式設定, 資料庫設定
For Exception – 注意事項
49
http://mvc.tw
For Exception – 設定
50
{
"warningRecentCount": "100",
"criticalRecentCount": "200",
"viewGroups": "",
"applications": [
"Samples.MVC4",
"Samples.MVC5"
],
"stores": [
{
"name": "AppExceptions",
"queryTimeoutMs": 2000,
"pollIntervalSeconds": 10,
"connectionString" : "資料庫連線"
}
]
}
http://mvc.tw
For Exception – Detail
51
http://mvc.tw
For Exception – Jira
52
http://mvc.tw
For Exception – Jira
53
Demo
54
55
其他
http://mvc.tw
還有什麼沒說到的…
56
 Servers
 Elastic Search
 Haproxy
 Connect PagerDuty (IT Tool)
 Connect Jira
 Connect TeamCity (CI Tool)
http://mvc.tw
 Opserver.org
 http://opserver.org
 Opserver GitHub
 https://github.com/opserver/Opserver
 Stackoverflow 問題集
 http://stackoverflow.com/questions/tagged/opserver
補充資料
57
http://mvc.tw
 SQL CPU Graph 無法顯示 – 修正
 https://github.com/opserver/Opserver/issues/93
 Pat Pack – 介紹設定方式
 http://patpack.blogspot.tw/2013/10/setting-up-
stackexchanges-opserver.html
補充資料
58
http://mvc.tw
謝謝聆聽~
59
http://mvc.tw
最後…
60
http://mvc.tw
感謝 KKTIX 贊助活動報名平台
http://kktix.com
61
http://mvc.tw
感謝網際智慧贊助自然輸入法
62
http://skilltree.my/sponsor/xin_zi_ran
http://mvc.tw
感謝 Jetbrains 贊助贈品
63
https://www.jetbrains.com/resharper/
http://mvc.tw
感謝 OzCode 贊助贈品
64
http://www.oz-code.com/
http://mvc.tw
業界師資、實戰教學
65
http://skilltree.my
謝謝各位
• 本投影片所包含的商標與文字皆屬原著作者所有。
• 本投影片使用的圖片皆從網路搜尋。
• 本著作係採用姓名標示-非商業性-相同方式分享 3.0 台灣授權。閱讀本授權條款,請到
http://creativecommons.org/licenses/by-nc-sa/3.0/tw/,或寫信至Creative Commons, 444 Castro
Street, Suite 900, Mountain View, California, 94041, USA.
h t t p : / / m v c . t w

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvctwMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvc
 
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
 
twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
 
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18
 
twMVC#22 | 什麼鬼的IOC與DI
twMVC#22 | 什麼鬼的IOC與DItwMVC#22 | 什麼鬼的IOC與DI
twMVC#22 | 什麼鬼的IOC與DI
 
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
 
輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14輕鬆上手Asp.net web api 2.1-twMVC#14
輕鬆上手Asp.net web api 2.1-twMVC#14
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
 
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
twMVC#33聊聊如何自建 Facebook {廣告} 服務 with API
 
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
 
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18一小時可以打造什麼服務Plus twMVC#18
一小時可以打造什麼服務Plus twMVC#18
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
 
如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12
 

Ähnlich wie twMVC#19 | opserver監控服務的解決

从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
 
+++º+ ¦¦ ¦ ¦¦ ¦+ =
+++º+ ¦¦  ¦ ¦¦ ¦+ =+++º+ ¦¦  ¦ ¦¦ ¦+ =
+++º+ ¦¦ ¦ ¦¦ ¦+ =
guesta6295f3
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
Allen Lsy
 

Ähnlich wie twMVC#19 | opserver監控服務的解決 (20)

twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事twMVC 47_Elastic APM 的兩三事
twMVC 47_Elastic APM 的兩三事
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教
 
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
 
+++º+ ¦¦ ¦ ¦¦ ¦+ =
+++º+ ¦¦  ¦ ¦¦ ¦+ =+++º+ ¦¦  ¦ ¦¦ ¦+ =
+++º+ ¦¦ ¦ ¦¦ ¦+ =
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
 
Raising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi LuRaising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi Lu
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
 
Open whisk makes your cloud serverless 20180320
Open whisk makes your cloud serverless 20180320Open whisk makes your cloud serverless 20180320
Open whisk makes your cloud serverless 20180320
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
 

Mehr von twMVC

Mehr von twMVC (20)

.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
 
twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇twMVC#46 一探 C# 11 與 .NET 7 的神奇
twMVC#46 一探 C# 11 與 .NET 7 的神奇
 
twMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwrighttwMVC#44 如何測試與保護你的 web application with playwright
twMVC#44 如何測試與保護你的 web application with playwright
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
 
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
 
twMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart FactorytwMVC#42 Azure IoT Hub for Smart Factory
twMVC#42 Azure IoT Hub for Smart Factory
 
twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1twMVC#42 Windows容器導入由0到1
twMVC#42 Windows容器導入由0到1
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
twMVC#41 hololens2 MR
twMVC#41 hololens2 MRtwMVC#41 hololens2 MR
twMVC#41 hololens2 MR
 
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generator
 
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
 
twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁twMVC#36C#的美麗與哀愁
twMVC#36C#的美麗與哀愁
 
twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波twMVC#36.NetCore 3快速看一波
twMVC#36.NetCore 3快速看一波
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
 
twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署
 
twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩twMVC#30 | Bootstrap 搶先玩
twMVC#30 | Bootstrap 搶先玩
 
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
twMvc#30 | 技術人員與業務團隊的無礙的溝通法則
 
twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習twMVC#29 | 從電影推薦預測開始學機器學習
twMVC#29 | 從電影推薦預測開始學機器學習
 

twMVC#19 | opserver監控服務的解決