Giám sát hiệu năng ứng dụng (Application Manager) là một phần của công nghệ thông tin (CNTT) để đảm bảo các chương trình ứng dụng mã máy tính có hoạt động như mong đợi hay không. Công cụ giám sát ứng dụng duy trì giám sát hoặc theo dõi này. Mục tiêu cuối cùng của giám sát hiệu suất là cung cấp cho người dùng cuối trải nghiệm người dùng cuối chất lượng hàng đầu.
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI:
TÍCH HỢP HỆ THỐNG GIÁM SÁT HIỆU NĂNG ỨNG
DỤNG ÁP DỤNG TRÊN HỆ THỐNG SCADA
Giảng viên hướng dẫn : Th.S NGUYỄN KHÁNH TÙNG
Lớp : QTANM Khóa : 2016 - 2021
Hà Nội, tháng 12 năm 2020
Trang 2PHIẾU CHẤM ĐIỂM
Dương Phương Nam
Họ và tên giảng viên
Trang 3MỤC LỤC
Lời mở đầu 4
Danh mục hình ảnh 6
Chương 1 : Tìm hiểu hệ thống giám sát hiệu năng ứng dụng 8
1.1 Giám sát hiệu năng ứng dụng là gì? 8
1.2 Tại sao nó cần thiết cho doanh nghiệp? 9
1.3 Những điểm cần tìm trong một công cụ giám sát tốt 10
Chương 2 : Công cụ giám sát hiệu năng ứng dụng Application Manager 11
2.1 Application Manager là gì? 11
2.2 Các tính năng nổi bật 11
2.2.1 Giám sát cơ sở dữ liệu 11
2.2.2 Giám sát tài nguyên máy chủ 12
2.2.3 Giám sát máy chủ ứng dụng 12
2.2.4 Giám sát sâu bên trong ứng dụng APM Insight 12
2.2.5 Giám sát URL HTTP 13
2.2.6 Giám sát WebServices 13
2.2.7 Giám sát tổng hợp với trình duyệt thực 13
2.2.8 Giám sát toàn bộ các thành phần từ End User cơ sở hạ tầng 13
2.3 Những công cụ và giao thức được sử dụng 16
2.3.1 SNMP 16
2.3.2 WMI 17
2.3.2 HTTP/HTTPS 18
2.4 Mục tiêu, phạm vi và sơ đổ triển khai 19
2.3.1 Mục tiêu 19
2.4.2 Phạm vi 19
2.5 Thiết kế mô hình tổng quan 21
2.5.1 Mô hình Enterprise 21
2.5.2 Mô hình Professional 24
2.6 WorkFlow 26
Chương 3 : Tích hợp hệ thống 27
Trang 43.1 Giám sát Database 27
3.1.1 Oracle 27
3.1.2 MS SQL 29
3.2 Giám sát tài nguyên máy chủ 32
3.2.1 Linux Server 32
3.2.2 Windows Server 33
3.3 Giám sát web server và các dịch vụ 35
3.3.1 Web Server 35
3.3.2 APM Insight 37
3.3.3 URL 44
3.3.4 Real Browser Monitor 47
3.3.5 Script Monitor 48
3.4 Topology và Alarm 49
3.4.1 Business View 49
3.4.2 Alarm 49
3.4.3 Email Notification 51
3.5 Tích hợp giám sát trên hệ thống Scada 51
3.5.1 Giám sát tài nguyên máy chủ 51
3.5.2 Giám sát tầng Code Level 52
3.5.3 Thực hiện tạo request test 54
3.5.4 Tích hợp cảnh báo về Telegram 56
Phần kết luận tổng kết và đánh giá kết quả 58 Giám sát toàn bộ các thành phần từ End User cơ sở hạ tầng
Trang 5Lời mở đầu
Dưới đây là bài báo cáo phục vụ việc bảo vệ Đồ án tốt nghiệp của em.
Trên ý tưởng là “Tích hợp hệ thống giám sát hiệu năng ứng dụng áp dụng trên hệ thống Scada.”
Ý tưởng của em dựa vào thời gian đi thực tập tại đơn vị, hiện nay các doanhnghiệp hoạt động trong lĩnh vực công nghệ thông tin nói chung đều đã có các hệthống giám sát nhưng mới chỉ dừng lại ở việc giám sát hạ tầng ví dụ như:network, server, database Ngoài việc giám sản những thành phần trên trong cơ
sở hạ tầng là điều rất cần thiết thì việc có một hệ thống giám sát toàn bộ cácthành phần của ứng dụng khi cung cấp tới khách hàng cũng là việc hết sức cầnthiết, để tránh việc xung đột và tăng hiệu xuất làm việc giữa đội quản trị hệthống (system administrator), phát triển phần mềm (software developer) khi ứngdụng downtime, sảy ra lỗi hoặc sự ở môi trường sản phầm khi cung cấp tớingười dùng cuối (end user)
Hệ thống Scada là phần mềm được triển khai từ bạn Mai Quang Vinh lớpD11QTANM, dựa trên những dữ liệu thực tế từ ứng dụng trả về em kết hợp đểhoàn thiện bài đồ án này
Sau cùng, em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông Tindồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình làtruyền đạt kiến thức cho thế hệ mai sau
Trân trọng!
Trang 6DANH MỤC TỪ VIẾT TẮT, CHUYÊN NGÀNH
Danh mục hình ảnh
Hà Nội, tháng 12 năm 2020 Sinh viên thực hiện:
Dương Phương Nam
IDC Trung tâm dữ liệu Internet
API Application Programming Interface
HTTP Hypertext Transfer Protocol – Giao thức truyển tải siêu văn bảnLDAP Lightweight Directory Access Protocol – Giao thức ứng dụng truy cập cấu trúc thư mụcDNS Domain Name System – Hệ thống phân giải tên miền
SLA Service-Level Agreement - Thỏa thuận mức dịch vụ
KPI Key Performance Indicator - Chỉ số đánh giá năng lực và hiệu quảAPM Application Manager – Hệ thống giám sát hiệu năng ứng dụngWMI Windows Management Intrusmentation
SNMP Simple Network Management Protocol
EUM End User Monitoring – Theo dõi trải ngiệm người dùng cuối
SSH Giao thức dùng để kết nối mạng một cách bảo mật
SOAP Simple Object Access Protocol – Giao thức truy cập đối tượng đơn giản
SGA
System Global Area – Phần bộ nhớ chia sẻ, bao gồm nhiều phần
bộ nhớ nhỏ bên trong, chứa thông tin về hoạt động database, thông tin về các session, process, code.
PGA Program Global Area – Phần bộ nhớ cấp phát cho mỗi UserProcess khi kết nối tới Oracle ServerASM Automatic Storage Management – là 1 công nghệ lưu trữ, 1 hệthống quản lý tập tin (cluster file system) của Oracle.JVM Java Virtual Machine – là 1 máy ảo java, được dùng để thực thicác chương trình Java hiểu một cách khác là thông dịch Java.
Trang 7Hình 1.1 Giám sát hiệu năng ứng dụng 8
Hình 2.1 Phần mềm Application Manager của hãng Manage Engine 11
Hình 3.1 Kết quả khi thêm giám sát Oracle Database 27
Hình 3.2 Thông tin giám sát session của Oracle Database 28
Hình 3.3 Kết quả khi thêm giám sát MS SQL Database thành công 29
Hình 3.4 Các thông tin giám sát Memory của MS SQL Database 29
Hình 3.5 Các thông tin giám sát Top Query trong MS SQL Database 30
Hình 3.6 Kết quả khi thêm giám sát MySQL Database thành công 30
Hình 3.7 Các thông số giám sát của MySQL Database 31
Hình 3.8 Các thông số giám sát của MySQL Database 31
Hình 3.9 Thông tin về tài nguyên (CPU, Ram, Disk) Linux giám sát với SNMP 32
Hình 3.10 Thông tin giám sát chi tiết từng Core trong CPU của Linux 33
Hình 3.11 Thông tin về tài nguyên (CPU, Ram, Disk) Windows Server khi giám sát WMI 34
Hình 3.12 Thông tin giám sát chi tiết Memory & CPU 34
Hình 3.13 Giám sát các thành phần Process và Services đang chạy 35
Hình 3.14 Giám sát các thành phần sâu trong CPU 35
Hình 3.15 Thông tin về tài nguyên (CPU, Ram, Disk) Windows Server khi giám sát SNMP 36
Hình 3.16 Thông tin giám sát IIS Server 36
Hình 3.17 Thông tin giám sát Web Statistic, App Pool của IIS 37
Hình 3.18 Thông tin giám sát Tomcat Server 37
Hình 3.19 Các thông tin giám sát sâu bên trong của Tomcat Server 38
Hình 3.20 Biểu đồ thông tin giám sát APM Insight 39
Hình 3.21 Biểu đồ thông tin giám sát các Transaction bên trong ứng dụng 39
Hình 3.22 Các Transaction gây cao tải trong hệ thống 40
Hình 3.23 Các câu Query gây cao tải trong hệ thống 40
Hình 3.24 Khả năng tìm, phân tích lỗi (debugging) tới code-level 41
Hình 3.25 Giám sát ứng dụng chạy trong Tomcat Server 42
Hình 3.26 Thu thập, giám sát thông tin Exception Count, Error Count, HTTP Error, Split up, Top Transaction, Top Trace với Java Application 42
Hình 3.27 Thu thập, giám sát thông tin transaction có thời gian phản hồi cao 42
Hình 3.28 Thu thập, giám sát thông tin transaction với những thông tin chi tiết 43
Hình 3.29 Biểu đồ giám sát JVM 44
Hình 3.30 Thu thập, giám sát thông tin exception trên Java 44
Trang 8Hình 3.31 Các thông số, biểu đồ chi tiết của Exception trong Tomcat Server 45
Hình 3.32 Giám sát URL 45
Hình 3.33 Response time và các thông số khi giám sát URL 46
Hình 3.34 Các thông tin giám sát về URL - Sequence 47
Hình 3.35 Thông tin từng URL trong quá trình giám sát 47
Hình 3.36 Giám sát trình duyệt thực 48
Hình 3.37 Thu thập và hiển thông tin chi tiết về tài nguyên của website 48
Hình 3.38 Giám sát trạng thái script chạy trên Linux 49
Hình 3.39 Hiển thị, đọc output của các script khi xuất ra theo template 49
Hình 3.40 Topology của ứng dụng khi các thành phần được tích hợp 50
Hình 3.41 Cảnh báo khi phát hiện sự kiện 51
Hình 3.42 Nguyên nhân của cảnh báo 51
Hình 3.43 Sự kiện cảnh báo được gửi về Email 52
Hình 3.44 Tài nguyên máy chủ của hệ thống Scada 53
Hình 3.45 Giám sát bên trong ứng dụng Scada 53
Hình 3.46 Giám sát các transaction 54
Hình 3.47 Giám sát các query trong database 54
Hình 3.48 Các tham số thực đo được trong quá trình test tải 55
Hình 3.49 Thông số giám sát transaction khi traffic lớn 56
Hình 3.50 Các transaction phản hồi chậm 56
Hình 3.51 Thông số giám sát transaction khi traffic lớn 57
Hình 3.52 Cảnh báo gửi về tin nhắn Telegram thành công! 58
Trang 9Chương 1 : Tìm hiểu hệ thống giám sát hiệu năng ứng dụng
1.1 Giám sát hiệu năng ứng dụng là gì?
Giám sát hiệu năng ứng dụng (Application Manager) là một phần củacông nghệ thông tin (CNTT) để đảm bảo các chương trình ứng dụng mã máytính có hoạt động như mong đợi hay không Công cụ giám sát ứng dụng duy trìgiám sát hoặc theo dõi này Mục tiêu cuối cùng của giám sát hiệu suất là cungcấp cho người dùng cuối trải nghiệm người dùng cuối chất lượng hàng đầu
Hình 1.1 Giám sát hiệu năng ứng dụng
Quản lý hiệu năng ứng dụng về cơ bản là một thuật ngữ được tạo ra chobất kỳ điều gì có liên quan đến việc quản lý hoặc giám sát hiệu suất của mã, phụthuộc ứng dụng, thời gian giao dịch và toàn bộ trải nghiệm người dùng
Hiện nay, trong các tổ chức doanh nghiệp hoạt động trong lĩnh vực côngnghệ thông tin, tài chính ngân hàng, hoặc bất cứ bên nào cung cấp các dịch vụliên quan tới công nghệ thông tin đều cần có một hệ thống giám sát tổng thể toàn
bộ các thành phần trong hệ thống thông tin về hiệu xuất, hiệu năng, tính sẵnsàng, thời gian phản hồi bao gồm: tài nguyên máy chủ máy chủ, lưu lượngmạng, tài nguyên máy chủ cơ sở dữ liệu, máy chủ ứng dụng, máy chủ web, v…
vv Từ đó các công cụ giám sát về hiệu năng, hiệu xuất cung cấp, gửi tới cáccảnh báo tức thời tới cho quản trị viên yêu cầu họ phải nhanh chóng khám phá,tìm ra và khắc phục các vấn đề ảnh hưởng tiêu cực đến hiệu suất của ứng dụng.Các công cụ như vậy có thể dành riêng cho một ứng dụng đã chọn hoặc giám sát
Trang 10nhiều ứng dụng trên mạng không đổi, nhóm dữ liệu liên quan đến việc sử dụngCPU của khách hàng, nhu cầu bộ nhớ, đầu ra dữ liệu và băng thông tổng thể, cáctransaction của khách hàng, người dùng trên website, ứng dụng.
1.2 Tại sao nó cần thiết cho doanh nghiệp?
Các hệ thống giám sát hiện tại của các doanh nghiệp đa số mới chỉ dừnglại ở việc giám sát hạ tầng, mạng, máy chủ, cơ sở dữ liệu
Nhu cầu có một hệ thống giám sát được toàn bộ các thành phần trong hạtầng, ứng dụng, các thành phần sâu trong tầng code
Các dịch vụ cung cấp tới khách hàng cẩn đảm bảo tính sẵn sàng cao, hiệunăng, hạn chế tối đa thời gian downtime và vấn đề với hiệu xuất
Các doanh nghiệp đặc biệt với các doanh nghiệp hoạt động trong lĩnh vực
IT cần có một hệ thống giám sát sâu vào bên trong toàn bộ các thành phầntạo nên ứng dụng vạch ra các nguyên nhân gốc rễ ảnh hưởng tới hiệu năngứng dụng để có phương án tối ưu, mục đích đem tới trả nghiệp tốt nhất chongười dùng
Các giao dịch trên web, thao tác cần được tối ưu đặc biệt với các doanhnghiệp hoạt động trong lĩnh vực tài chính như các ngân hàng
Hệ thống hỗ trợ cảnh báo, giám sát kịp thời về tin nhắn, email giúp đỡngười quản trị trong quá trình vận hành hệ thống
Đưa ra các báo cáo chi tiết, chuyên nghiệp phục vụ cho việc báo cáo tớicác cấp lãnh đạo trong doanh nghiệp
Ví dụ: Khi người dùng đăng nhập thực hiện các thao tác, sử dụng các tínhnăng, giao dịch mua bán sản phẩm, thanh toán,… trên một website, ứng dụngthương mại điện tử Khi đó nếu thời gian phản hồi của website hoặc ứng dụng,quá 5s trên một lượt tải trang hoặc khi click vào một tính năng sẽ dẫn tới việccảm thấy không thực sự hài lòng khi sử dụng dịch vụ, còn khi đã vượt quá 10– 15s có thể họ sẽ không còn kiên nhẫn với dịch vụ chúng ta và tỏ rõ sựkhông hài lòng, lý do để họ chuyền qua dịch vụ, ứng dụng của bên khác cungcấp với các tính năng tương tự
Trang 111.3 Những điểm cần tìm trong một công cụ giám sát tốt
Đa dạng giám sát: Có thể hỗ trợ giám sát toàn bộ các thành phần có liênquan tới ứng dụng
Giao diện thân thiện với người dùng: Xem dữ liệu có ý nghĩa, dữ liệu gì làquan trọng nhất
Cảnh báo tùy chỉnh: Nhận thông báo qua Email, SMS, Telegram
Phân tích nguyên nhân gốc rễ: Để khắc phục sự cố nhanh hơn
Trang 12Chương 2 : Công cụ giám sát hiệu năng ứng dụng Application Manager 2.1 Application Manager là gì?
ManageEngine Applications Manager là một giải pháp giám sát hiệu
năng ứng dụng, giám sát chủ động các ứng dụng nhằm đảm bảo ứng dụng hoạt
động một cách hiệu quả nhất, giảm thiểu tối đa sự gián đoạn của hệ thống ứngdụng , hỗ trợ lên tới hơn 100 các thành phần của ứng dụng và máy chủ
Hình 2.1 Phần mềm Application Manager của hãng Manage Engine
2.2 Các tính năng nổi bật
2.2.1 Giám sát cơ sở dữ liệu
- Phần mềm giám sát được hầu hết các sơ sở dữ liệu như: MySQL,MariaDB, Oracle, IBM DB2, MS SQL, CouchBase, PostgreSQL ngoài racòn có thể giám sát cơ sở dữ liệu NoSQL cho các máy chủ Memcached,Cassandra, MongoDB, IBM Informix, Redis
- Theo dõi các truy vấn chậm, báo cáo đắt tiền, thời gian đáp ứng, thất bại,lỗi trang, và rất nhiều toàn bộ KPIs
Trang 13- Dễ dàng xác định và giải quyết các vấn đề cơ sở dữ liệu hiệu suất ứngdụng tác động
2.2.2. Giám sát tài nguyên máy chủ
- Phần mềm có thể theo dõi hiệu suất của các máy chủ thông dụngWindows, Linux, Solaris, HP Unix, Tru64, Mac OS, Unix, IBM AIX,IBM AS400 / iSeries, Novell và FreeBSD Đồng thời giám sát Event Logscho Windows và Windows Server Cluster
2.2.3. Giám sát máy chủ ứng dụng
- Có tính năng giams át các máy chủ ứng dụng như: Microsoft .NET,GlassFish, JBoss và Wildfly, Máy chủ Jetty, Máy chủ Oracle, Máy chủResin, Máy chủ SilverStream, Máy chủ Tomcat, Máy chủ VMware vFnai
tc, Máy chủ WebLogic, Máy chủ WebSphere, Apache Geronimo và cácứng dụng web - based như Servlets, JSP và EJB của các máy chủ ứngdụng
- Giúp người quản trị chủ động khắc phục sự cố máy chủ ứng dụng trướckhi chúng ảnh hưởng đến hiệu suất của các ứng dụng doanh nghiệp
- Có được tầm nhìn sâu vào trạng thái và hiệu suất của máy chủ ứng dụng
2.2.4. Giám sát sâu bên trong ứng dụng APM Insight
- Ngoài các tính năng giám sát các thành phần cơ bản trong cơ sở hạ tầngcủa doanh nghiệp, tính năng nổi bật và mạnh mẽ nhất của ApplicationManager đó là APM Insight, có khả năng giám sát toàn diện từ đầu đếncuối của các giao dịch web trên các ứng dụng phát triển bằng các ngônngữ Java, Ruby on Rails, PHP, NodeJs và NET Cung cấp một cái nhìnsâu sắc về số liệu hiệu suất của tất cả các thành phần bắt đầu từ URL đếncác câu truy vấn SQL và lịch sử theo dõi giao dịch của người dùng trênứng dụng
- APM Insight (J2EE Transaction Monitoring) cung cấp khả năng hiển thị
về cách sử dụng ứng dụng của doanh nghiệp, tổ chức đối với người dùngcuối Có thể có được cái nhìn toàn diện về giao dịch từ đầu đến cuối trong
cơ sở hạ tầng của họ
Trang 14- Cho phép bạn cách ly các vấn đề về hiệu suất, phát hiện các vấn đề vềhiệu năng và giải quyết chúng nhanh chóng trước khi chúng ảnh hưởngtới hiệu năng ứng dụng.
2.2.7. Giám sát tổng hợp với trình duyệt thực
- Ngoài toàn bộ các thành phần của ứng dụng có thể thêm vào màn hìnhgiám sát, Application Manager còn cung cấp khả năng đo lường trảinghiệm của người dùng cuối Bao gồm hỗ trợ cho màn hình Real BrowserMonitor, DNS, Ping, LDAP và Mail Server
- End User Monitoring (EUM) cung cấp khả năng giám sát Health vàPerfomance của dịch vụ từ nhiều địa điểm bên ngoài công ty, tổ chức.Cung cấp khả năng hiển thị tốt hơn về trải nghiệm người dùng và hành vicủa dịch vụ, giúp phát hiện các sự cố về hiệu năng tiềm ẩn trước khi ảnhhưởng tới người dùng (User)
2.2.8. Giám sát toàn bộ các thành phần từ End User cơ sở hạ tầng
ManageEngine Application Manage là công cụ giám sát hiệu năng rất trựcquan cho chúng ta có nhìn tổng quan xuyên suốt từ khi người dùng gửi yêu cầu,
di chuyển, xử lý qua nhiều chặn đường/trạm như Server, Web Server, AppServer, Database, Third party xử lý nghiệp vụ, dữ liệu và cuối cùng nhận đượckết quả phản hồi để hiển thị dữ liệu lên màn hình cho người dùng Hệ thống ứngdụng rất thông minh phân tích, chuẩn đoán, đánh giá, tính toán được thời gian,
độ trễ cho từng chặng, các thành phần như ứng dụng xử lý và cấp phát quá nhiềutài nguyên hay chưa thu hồi tài nguyên, dữ liệu truy vấn chưa tối ưu trở thànhchủ đề rất nóng đối với Lãnh đạo Doanh nghiệp, làm ảnh hưởng hiệu năng hệthống hay ứng dụng dẫn đến chưa làm Khách hàng hài lòng Thông qua sơ đồ và
Trang 15bảng số liệu phân tích giúp bên vận hành hệ thống đưa ra cách giải pháp xử lýtối ưu, chính xác nhằm khắc phục độ chậm trễ, nâng cao, cải tiến hiệu năng hệthống ứng dụng đáp ứng kịp thời trong quá trình phát triển kinh doanh củaDoanh nghiệp, hệ thống luôn duy trì tính sẵn sàng 24/7 và ổn định
Hình 2.2 Đặc tả các thành phần của ứng dụng cần giám sát
Phân tích nguyên nhân gốc rễ
- Phần mềm có sẵn khả năng cung cấp chi tiết về các mức độ nghiêm trọngkhác nhau cũng như xác định lý do / nguyên nhân gốc rễ vấn đề ảnhhướng tới hệ thống
Quản lý lỗi , cảnh báo
- Phần mềm có tính năng tự tạo và gửi “cảnh báo” các sự kiện liên quan khi
có vấn đề sảy ra trên hệ thống ngay lập tức, dựa trên các thuộc tính đượccấu hình giám sát Các cảnh báo này có thể được gửi thông qua e-mail /SMS / trap / MBean Hoạt động / execute program
Quản trị và sử dụng trên trình duyệt web trực quan
- Phần mềm hỗ trợ giao diện Web trực quan, dễ sử dụng gồm đầy đủ cáctính năng giúp các hoạt động thao tác, quản trị, giám sát của người dùngđược thực hiện dễ dàng
Tạo tài khoản và phân quyền người dùng
Trang 16- Phần mềm hỗ trợ tạo tài khoản và phân quyền cho người dùng theo role.Việc phân quyền này sẽ giúp người quản trị tập trung vào những thànhphần của ứng dụng mà mình phụ trách.
Tạo báo cáo và tùy chỉnh bảng điều khiển
- Có sẵn 100 mẫu báo cáo được xây dựng và ghi nhận được thông tin chitiết hiệu năng của các ứng dụng
- Tùy chỉnh các báo cáo hoặc xây dựng mới một cách dễ dàng Tạo biểu đồtùy chỉnh tương tác và chia sẻ chúng với các phòng/ban hoặc Lãnh đạo
- Đạt được tinh thần đồng đội tốt hơn trong giải quyết vấn đề Ghi bất kỳbiểu đồ từ các ứng dụng quản lý để tổng quan của bạn với sự giúp đỡ củaout-of-the-box widget
- Nhanh chóng hình dung dữ liệu lớn sẽ giúp kết nối các dấu chấm giữakinh nghiệm người dùng, hoạt động CNTT, và tác động kinh doanh
- Tự động cập nhật khi thay đổi ứng dụng
Application Manager Rest API:
Application Manager ManageEngine cung cấp các API REST để tìm nạp
dữ liệu từ Trình quản lý ứng dụng Sử dụng các API này, dữ liệu của Trìnhquản lý ứng dụng có thể được tích hợp với bất kỳ cổng nội bộ nào hoặcphần mềm Quản lý hệ thống của bên thứ ba
Những công cụ và giao thức được sử dụng
2.3.1 SNMP
Simple Network Management Protocol (SNMP) là giao thức tầng ứngdụng được sử dụng để quản lý và giám sát các thiết bị mạng cũng nhưchức năng của chúng SNMP cung cấp ngôn ngữ chung cho các thiết bịmạng để chuyển tiếp thông tin quản lý trong cả môi trường single-vendor
và multi-vendor trong mạng cục bộ (LAN) hoặc mạng diện rộng(WAN) Phiên bản gần đây nhất của SNMP, version 3, bao gồm các cải
Trang 17tiến bảo mật để xác thực và mã hóa tin nhắn SNMP cũng như bảo vệ cácgói trong khi truyền.
Hình 2.3: Giao thức giám sát SNMP
SNMP thực hiện vô số chức năng, dựa trên sự pha trộn giữa truyền tinpush-and-pull giữa các thiết bị mạng và hệ thống quản lý Nó có thể ra lệnh đọchoặc ghi, chẳng hạn như đặt lại mật khẩu hoặc thay đổi cài đặt cấu hình Nó cóthể báo cáo lại mức độ sử dụng băng thông, CPU và bộ nhớ, với một số trìnhquản lý SNMP tự động gửi cho người quản trị một email hoặc thông báo tin
nhắn văn bản nếu vượt quá ngưỡng xác định trước
Trong hầu hết các trường hợp, SNMP hoạt động trong một mô hình đồng
bộ, với giao tiếp được khởi tạo bởi người quản lý SNMP và tác nhân gửi phảnhồi Các lệnh và thông báo này, thường được vận chuyển qua giao thức UDPhoặc TCP/IP, được gọi là đơn vị dữ liệu giao thức (PDU):
GET: Được tạo bởi trình quản lý SNMP và được gửi đến một agent để
lấy giá trị của một biến số nào đó, được xác định bởi OID của nó, trong mộtMIB
đi để trả lời yêu cầu GET Chứa các giá trị của các biến được yêu cầu
giá trị của OID tiếp theo trong hệ thống phân cấp của MIB
Trang 18 GETBULK: Được gửi bởi người quản lý SNMP cho agent để có được
các bảng dữ liệu lớn bằng cách thực hiện nhiều lệnh GETNEXT
SET: Được gửi bởi người quản lý SNMP cho agent để đưa ra các cấu
hình hoặc lệnh
TRAP: Một cảnh báo không đồng bộ được gửi bởi agent đến trình
quản lý SNMP để chỉ ra một sự kiện quan trọng, chẳng hạn như lỗi hoặc sự cố,
đã xảy ra
2.3.2 WMI
WMI là viết tắt của Windows Management Instrumentation Được thiết kếbởi Microsoft, đây là một cơ sở hạ tầng để quản lý dữ liệu và thông tin đượcchuẩn hóa độc lập với thiết bị Kể từ Windows 2000, WMI được cài đặt sẵn với
hệ điều hành Windows
Để hoạt động như một máy chủ (Server), một thiết bị phải được cấu hình
để lắng nghe các yêu cầu từ máy khách (Client) trên kết nối mạng
Port Default: TCP – 445
Hình 2.4 Công cụ giám sát, quản lý WMI WMI2.3.2 HTTP/HTTPS
HTTPS (Hypertext Transfer Protocol Secure) là giao thức truyền tải
siêu văn bản an toàn Thực chất, đây chính là giao thức HTTP nhưng tíchhợp thêm Chứng chỉ bảo mật SSL nhằm mã hóa các thông điệp giao tiếp
Trang 19để tăng tính bảo mật Có thể hiểu, HTTPS là phiên bản HTTP an toàn,bảo mật hơn.
Hình 2.5 Giao thức http/https
HTTP hoạt động theo mô hình Client (máy khách) – Server (máy chủ) Việc truycập website được tiến hành dựa trên các giao tiếp giữa 2 đối tượng trên Khi bạntruy cập một trang web qua giao thức HTTP, trình duyệt sẽ thực hiện các phiênkết nối đến server của trang web đó thông qua địa chỉ IP do hệ thống phân giảitên miền DNS cung cấp Máy chủ sau khi nhận lệnh, sẽ trả về lệnh tương ứnggiúp hiển thị website, bao gồm các nội dung như: văn bản, ảnh, video, âm thanh,
Tích hợp, mô phỏng khả năng tự học, tự khởi tạo ra được mô hình(Topology, business view), kết nối giữa các thành phần trong hạ tầng ứngdụng của doanh nghiệp
Trang 20 Hệ thống có các bộ tiêu chí, biểu mẫu giám sát (có thể tùy biến) từ đó sinh
ra cấu hình các cảnh báo trên hệ thống theo mức độ sử dụng
Hệ thống có thể phân tích, phát hiện lỗi và đưa ra nguyên nhân gốc rễtrong quá trình vận hành hệ thống ảnh hưởng tới hiệu năng
Tích hợp các script, program tự động bắn cảnh báo tới ứng dụng bên thứ
ba (Telegram) về sự cố làm ảnh hưởng tới dịch vụ cung cấp tới ngườidùng cuối
Theo dõi được trải nghiệm người dùng cuối End User Monitoring, đảmbảo sự hài lòng khi dịch vụ cung cấp tới khách hàng
Tạo và xuất ra report, KPI phục vụ việc báo cáo
2.3.2. Phạm vi
Các thành phần giám sát triển khai giám sát gồm:
Cơ sở dữ liệu: Oracle Database, Microsoft SQL, MySQL
Máy chủ: Linux Server (Centos 6 – 7, Ubuntu 14.04 – 18.04) ,Windows Server 2012 - 2016
Giám sát URL
Web Server: IIS , Apache Tomcat
Web Application: Microsoft .NET, Java (sử dụng APM InsightAgent), Nodejs
Trải ngiệm thực tế của người dùng (Real Browser Monitoring)
Tạo sơ đồ Business View theo ứng dụng, nhóm ứng dụng
Cấu hình các ngưỡng cảnh báo
Cấu hình cảnh báo gửi về Email
Tạo tài khoản và phân quyền cho người dùng
Thiết kế mô hình tổng quan
2.5.1 Mô hình Enterprise
Trang 21Hình 2.6 Mô hình giám sát Enterprise
Đối với mô hình Enterprise sẽ áp dụng cho các doanh nghiệp, tổ chức lớn
có số lượng giám sát > 500 Server vật lý trở lên, các doanh nghiệp này sẽ baogồm các tổ chức hoạt động trong lĩnh vực thương mại điện tử, dịch vụ, ngânhàng, tài chính có các chi nhánh nằm ở các tỉnh, khu vực khác nhau
Distribute Monitoring Server 01: Sẽ giám sát toàn bộ các thành phần
liên quan đến ứng dụng như Application Server, Database Server, Web Server,URL, SSL, End user monitoring …
Distribute Monitoring Server 02: Sẽ giám sát toàn bộ các thành phần
liên quan đến Server như: Server Host (ESXi, Docker, Kubenetes) Storage(SAN, NAS), File Server…
Lưu lượng và các thông tin giám sát được phân chia tới các MonitorServer (01 và 02) của chi nhánh đó, giúp việc giám sát được tách biệt giữa cácứng dụng, dịch vụ của các chi nhánh khác nhau Tùy theo số lượng đối tượng,ứng dụng, dịch vụ cần giám sát của doanh nghiệp mà số lượng DistributeMonitoring Server sẽ được tăng lên theo số lượng
Trang 22Central Monitoring Server: Toàn bộ các thông tin giám sát sẽ được đẩy
về Server giám sát trung tâm (Monitor Server Central) việc này sẽ giúp doanhnghiệp giảm thiểu số lượng nhân viên phải trực giám sát, thay vì mỗi chi nhánh
sẽ có đội giám sát cảnh báo, thì việc đẩy thông tin giám sát về trung tâm(Monitor Server Central) sẽ cho phép đội giám sát được tập trung
Database Server: Đây là cơ sở dữ liệu lưu toàn bộ thông tin giám sát trên
hệ thống, bao gồm cả trên Central và Distribute, các dữ liệu này sẽ bao gồmnhiều thông tin nhạy cảm bao gồm cả thông tin đăng nhập nên khuyết nghị làdựng trên vùng mạng Internal của tổ chức, để tránh những dủi do tiềm tàng vềviệt thất thoát dữ liệu vì khi khai báo giám sát sẽ cần thông tin đăng nhập
Email Server: cần thiết cho việc cấu hình gửi và nhận cảnh báo trên ứngdụng giám sát
Thông tin kỹ thuật
2.5.1.1 Thông tin máy chủ Central Monitoring Server:
Số lượng 01 server
HDD 200 GB (HĐH và Monitor Sercer Central)
Hệ điều hành Windows Server 2016 hoặc Redhat 7.x
2.5.1.2 Thông tin máy chủ Distribute Monitoring Server 01
Trang 231.1 THÔNG SỐ PHẦN CỨNG
Số lượng 01 server
HDD 200 GB (HĐH & cài đặt Monitor Server)
Hệ điều hành Windows Server 2016 hoặc Redhat 7.x
2.5.1.3 Thông tin máy chủ Distribute Monitoring Server 02
Hệ điều hành Windows Server 2016 hoặc Redhat 7.x
2.5.1.4 Thông tin máy chủ Database Server
Số lượng 01 server
HDD 200 GB (HĐH & cài đặt Application Manager Managed)
Hệ điều hành Windows Server 2016 hoặc Redhat 7.x
2.5.2 Mô hình Professional
Trang 24Hình 2.7 Mô hình giám sát Enterprise
Đối với mô hình Professional sẽ áp dụng cho các doanh nghiệp, tổ chức vừa vànhỏ có số lượng giám sát < 500 Server vật lý trở lên, số lượng dịch vụ, ứng dụng
mà các doanh nghiệp này cung cấp không lớn như với mô hình Enterprise Việcthiết kế hệ thống giám sát sẽ giúp giảm thiểu tài nguyên máy chủ mà doanhnghiệp đó phải đầu tư mà vẫn đảm bảo việc giám sát đầy đủ toàn bộ các thànhphần trong ứng dụng của doanh nghiệp đó Phí mua license của phiên bảnProfessional cũng sẽ thấp hơn so với phiên bảo Enterprise tuy vậy vẫn sẽ đáp
ứng đầy đủ các tính năng, add on cần thiết cho việc giám sát
Database Server phục vụ cho việc lưu trữ dữ liệu giám sát đối với môhình sử dụng phiên bản Professional có thể cài lên một Dedicate server (đối vớiviệc sử dụng MS SQL) hoặc có thể sử dụng Database Plugin trực tiếp trên ứngdụng khi cài (PostgreSQL)
2.5.2.1 Thông tin máy chủ Central Monitoring Server:
Trang 251.1 THÔNG SỐ PHẦN CỨNG
Số lượng 01 server
HDD 200 GB (HĐH và Monitor Sercer Central)
Hệ điều hành Windows Server 2016 hoặc Redhat 7.x
2.5.2.2 Thông tin máy chủ Database Server
Số lượng 01 server
HDD 200 GB (HĐH & cài đặt Application Manager Managed)
Hệ điều hành Windows Server 2016 hoặc Redhat 7.x
2.6. WorkFlow
Trang 26Hình 2.8 Workflow
Quy trình làm việc của trình giám sát ứng dụng sẽ thu thập thông tin từ hệthống, phát hiện các nhật ký, sự kiến từ hệ thống, dựa vào các ngưỡng(threshold) được đặt bởi người quản trị để đưa ra các ngưỡng cảnh báo gửi về
Technical (kỹ thuật viên)
Trang 27Chương 3 : Tích hợp hệ thống 3.1 Giám sát Database
Hình 3.1 Kết quả khi thêm giám sát Oracle Database
Hình 3.2 Các thông tin giám sát Oracle Database
Trang 28Hình 3.3 Thông tin giám sát Tablespaces của Oracle Database
34: Thôg
Hình 3.4 Thông tin giám sát session của Oracle Database
Trang 293.1.2 MS SQL
MS SQL: Đã tích hợp, cấu hình và hiển thị đầy đủ thông tin giám sát
Các thông số giám sát chung của MS SQL được hiển thị sau khi được
thêm vào giám sát
Hình 3.5 Kết quả khi thêm giám sát MS SQL Database thành công
56MS SQDatabase thành công Hình 3.6 Các thông tin giám sát Memory của MS SQL Database
7
Trang 30Hình 3.7 Các thông tin giám sát Top Query trong MS SQL Database
Hình 3.78: Các thông tin giám sát Top Query trong MS SQL Database
3.1.3 MySQL
MySQL: Đã tích hợp, cấu hình và hiển thị đầy đủ thông tin giám sát
Các thông số giám sát chung của MySQL được hiển thị sau khi được
thêm vào giám sát
Trang 31Hình 3.8 Kết quả khi thêm giám sát MySQL Database thành công
Datah công
Hình 3.9 Các thông số giám sát của MySQL Database