Hệ thống giám sát, cảnh báo cho các dịch vụ và thiết bị mạng, server của công ty Mobifone Plus

87 66 0
Hệ thống giám sát, cảnh báo cho các dịch vụ và thiết bị mạng, server của công ty Mobifone Plus

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA PHẠM CAO CƯỜNG HỆ THỐNG GIÁM SÁT, CẢNH BÁO CHO CÁC DỊCH VỤ VÀ THIẾT BỊ MẠNG, SERVER CỦA CÔNG TY MOBIFONE PLUS CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ MÃ SỐ CHUYÊN NGÀNH: 60.52.70 LUẬN VĂN THẠC SĨ TP HỊ CHÍ MINH-2015 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BACH KHOA -ĐHQG -HCM Cán hướng dẫn khoa học: TS Nguyễn Minh Hoàng (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: TS Võ Quế Sơn (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: PGS.TS Phạm Hồng Liên (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 12 tháng 01 năm 2016 Thành phần Hội đồng đánh gỉá luận thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) PGS.TS Lê Tiến Thường TS Chế Viết Nhật Anh TS Võ Quế Sơn’ PGS.TS Phạm Hồng Liên TS Phạm Quang Thái Xác nhận Chủ tịch Hội đồng đánh giá luận văn Trường Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu cố) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐIỆN-ĐIỆN TỬ ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: PHẠM CAO CƯỜNG MSHV: 12140006 Ngày, tháng, năm sinh :l7/02/1989 Nơi sinh: Gia Lai Chuyên ngành: KỸ THUẬT ĐIỆN TỬ Mã số: 60.52.70 I TÊN ĐỀ TÀI: HỆ THỐNG GIÁM SÁT, CẢNH BÁO CHO CÁC DỊCH VỤ VÀ THIẾT BỊ MẠNG, SERVER CỦA CÔNG TY MOBIFONE PLUS II NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu xây dựng giải pháp giám sát, cảnh báo hệ thống hạ tầng mạng ứng dụng, dịch vụ III NGÀY GIAO NHIỆM VỤ : 19/01/2015 IV NGÀY HOÀN THÀNH NHỆM VỤ: 14/06/2015 V CÁN BỘ HƯỚNG DẪN : TS Nguyễn Minh Hoàng CÁN BỘ HƯƠNG DÁN (Họ tên chữ ký) Tp HCM, ngày tháng .năm 20 CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) TS Nguyễn Minh Hoàng TRƯỞNG KHOA ĐIỆN - ĐIỆN TỬ (Họ tên chữ ký) II LỜI CẢM ƠN Sau thời gian thực hiện, luận vãn “HỆ THỐNG GIÁM SÁT, CẢNH BÁO CHO CÁC DỊCH VỤ VÀ THIẾT BỊ MẠNG, SERVER CỦA CÔNG TY MOBIFONE PLUS” hoàn thành Ngoài cố gắng thân, nhận động viên lớn từ gia đình, thầy bạn bè Trước hết tơi xin cảm ơn ba má tạo điều kiện động viên rẩt lớn để hồn thành luận văn tổt nghiệp Tơi xin bày tỏ lòng biết ơn sâu sẳc đến quý thầy trường Đại Học Bách Khoa TP Hồ Chí Minh, người truyền đạt cho kiến thức quý báu suốt khóa học cao học trường Xin gửi lời cảm ơn chân thành nhẩt đến Tiến sĩ Nguyễn Minh Hồng, người tận tình dìu dẳt giúp đỡ tơi q trình làm luận văn tổt nghiệp Tôi xin chân thành cảm ơn kiến thức, ý kiến, lời góp ý sâu sẳc thầy dành cho Xỉn cám ơn tất bạn bè động viên, giúp đỡ tơi q trình học tập hồn thành luận văn TP Hồ Chí Minh, 26/12/2015 Học viên Phạm Cao Cường in TÓM TẮT Ngày nay, hệ thống giám sát đổi với công ty cung cấp dịch vụ nội dung vô quan trọng Việc hệ thổng phần mềm khác đề tài nghiên cứu trước thiếu phần giám sát cảnh báo ứng dụng dịch vụ, hầu hết đỉ sâu vào nghiên cứu cách giám sát cảnh báo đổi với hạ tầng mạng Luận văn “HỆ THỐNG GIÁM SÁT, CẢNH BÁO CHO CÁC DỊCH VỤ VÀ THIẾT BỊ MẠNG, SERVER CỦA CÔNG TY MOBIFONE PLUS” sâu vào nghiên cứu giải pháp để giám sát dịch vụ ứng dụng triển khai công ty Với việc ứng dụng thư viện nguồn mở Sỉgar API đoạn script góp phần việc xây dựng hệ thống giám sát dịch vụ ứng dụng Đề tài giải vẩn đề phát lỗi phần mềm, ứng dụng mà hạ tầng mạng gây để kịp thời khắc phục, giảm thiểu việc mẩt doanh thu đáp ứng chất lượng dịch vụ tổt nhẩt Để tài ứng dụng vào Công ty cổ phần Dịch vụ Gia tăng MobiFone, phận giám sát nhăn viên quản trị hệ thống sử dụng mang lại hiệu công việc chất lượng cao IV ABSTRACT Today, a monitoring system for each company that provide applications and content services are extremely important The monitoring systems and the previous researches have missed component monitoring and alerting for applications and services, most of them focus on monitoring and alerting only network infrastructure This thesis of "SYSTEM MONITORING AND ALERTING FOR SERVICES AND APPLICAITONS, SERVER OF THE MOBIFONE PLUS COMPANY" goes deep into the study of solutions for monitoring and alerting of services and applications currently deployed in The MobiFone Plus Company With using the open source Sigar API library and the scripts have contributed in establishing monitoring systems and application services The thesis solves the problem detected by the software errors and the applications The thesis also reduces the loss of revenue and increases the service quality in The MobiFone Plus Company The thesis has been applied to the MOBIFONE PLUS SERVICES JOINT STOCK COMPANY, currently using by the supervision Department and system administrators LỜI CAM ĐOAN Tôi cam đoan kết đề tài thực chưa công bố công tành khoa học trước Người cam đoan Phạm Cao Cường MỤC LỤC TÓM TẮT IV ABSTRACT V LỜI CAM ĐOAN VI DANH MỤC HÌNH ẢNH IX DANH MỤC CHỮ VIẾT TẮT X Chương 1: Mở đầu 1.1 Đặt vấn đề: 1.2 Đối tượng phạm vi nghiên cứu 1.3 Tóm tắt nội dung Chương 2: Cơ sở lý thuyết mơ hình giám sát 2.1 Nghiên cứu giao thức giám sát 2.1.1 2.1.2 Syslog & Analyzer [4] Giao thức telnet [5] 2.1.3 Giao thức SSH [6] 2.1.4 Giao thức HTTP [7] 2.1.5 Giao thức SOAP [8] 2.2 Nghiên cứu câu lệnh, thư viện phục vụ giám sát dịch vụ ứng dụng 2.2.1 Lệnh wget, wpost 2.2.2 2.2.3 Lệnh grep Tìm hiểu lệnh database MySQL 2.2.4 Tìm hiểu Exception java 10 2.2.5 Thư viện Sigar API 10 2.3 Nghiên cứu công cụ giám sát 11 2.3.1 Phần mềm Cacti 11 2.3.2 Phần mềm Nagios 12 2.3.3 Phần mềm Syslog 13 2.4 Các phương thức cảnh báo 14 Chương 3: Tổng quan hệ thống giám sát, cảnh báo hạ tầng ứng dụng mạng MobiFone Plus 15 3.1 Xây dựng mơ hình chung 15 3.2 Mơ hình mạng MobiFone Plus 16 3.3 Giám sát ứng dụng, dịch vụ 17 3.4 Bộ phận giám sát chức 20 Chương 4: Xây dựng hệ thống giám sát, cảnh báo hạ tầng ứng dụng mạng MobiFone Plus „ „ 21 4.1 Các thành phần hệ thống dịch vụ mạng MobiFone Plus cần giám sát, cảnh báo i 7 „ 22 4.2 Module khai báo câu lệnh cho hệ thống 22 4.3 Định nghĩa lệnh dùng module khai báo 23 4.4 4.5 Cơ chế giám sát 27 Phân cấp mức độ cảnh báo 28 4.6 Các thành phần hỗ trợ phân tích khắc phục cố, cảnh báo 28 4.7 Sensor giám sát 30 4.7.1 Đối với hạ tầng mạng, server 30 4.7.2 Đối với ứng dụng dịch vụ 32 4.8 Tóm tắt tính hệ thống giám sát, cảnh báo 39 Chương 5: Kết luận hướng phát triển 41 5.1 5.2 Đánh giá kết thực 41 Các vấn đề giải 41 5.3 Hướng phát triển 42 PHỤ LỤC 44 6.1 6.2 Cơ sở liệu cho hệ thống giám sát, cảnh báo 44 Hệ thống Syslog 46 6.2.1 Database hệ thống Syslog 46 6.2.2 Hướng dẫn cài đặt cấu hình hệ thống Syslog 46 6.3 Script kiểm tra user login vào hệ thống gửi liệu lên hệ thống cảnh báo 49 6.4 Hướng dẫn cài đặt webserver gồm MySQL, Apache, PHP 50 6.5 Hướng dẫn cài đặt cấu hình Sensor 53 6.6 Giao diện quản trị 57 6.6.1 Giao diện trang Drashboard 57 6.6.2 Giao diện trang Monitor 59 6.6.3 Giao diện trang Alert 60 6.6.4 Giao diện trang Syslog 72 TÀI LỆU THAM KHẢO 74 vni DANH MỤC HÌNH ẢNH Hình 2.1: Phần mềm giám sát Cacti 12 Hình 2.2: Phần mềm giám sát Nagios 13 Hình 3.1: Mơ hình Hệ thống mạng MobiFone Plus 16 Hình 3.2: Mơ hình tổng quan hệ thống theo dõi cảnh báo 17 Hình 3.3: Mơ hình chi tiết hệ thống theo dõi cảnh báo 17 Hình 3.4: Exception ghi log 19 Hình 4.1: Cơ chế giám sát hệ thống cảnh báo 27 Hình 4.2 Cảnh báo SMS 29 Hình 4.3 Cảnh báo Email 29 Hình 4.4 Cảnh báo PushBullet 29 Hình 4.5: cấu hình giám sát hoạt động server 30 Hình 4.6: Cảnh báo monitor hoạt động server 31 Hình 4.7: Giám sát hoạt động user login server 31 Hình 4.8: Cảnh báo kết nối với hệ thống khác 32 Hình 4.9: Khai báo câu lệnh kiểm tra tiến trình chạy server 32 Hình 4.10: Cảnh báo Monitor tiến trình chạy server 33 Hình 4.11: Cảnh báo Alert tiến trình chạy server 33 Hình 4.12: Khai báo câu lệnh kiểm tra kết nối tới website, webservice 34 Hình 4.13: Cảnh báo ừên Monitor cố kết nối tới website 34 Hình 4.14: Cảnh báo ừên Alert cố kết nối tới website 34 Hình 4.15: Khai báo câu lệnh kiểm tta Mysql 35 Hình 4.16: Cảnh báo ừên Monitor cố kiểm tta queue MO dịch vụ Sub7989 38 Hình 4.17: Cảnh báo ừên Email cố kiểm ừa queue MO dịch vụ Sub7989 38 Hình 4.18: Cảnh báo ừên SMS PushBullet cố kiểm tta queue MO dịch vụ Sub7989 39 IX GetlntPostGet (*platformid’, => GetlntPostGet (’module-id’, => GetlntPostGet (’leveljd’, null), *module_id’ null) ’level-id’ , null) *alarm_type_id* , (*alarm_type_id', null) *admin_alert_confirm_status' => , ('admin_alert_confirm_statu GetlntPostGet => GetString (*f_filter' s’, 0), ’filter’ , null), ’chk => GetArray ’ (‘chk’) ’enable’ => GetString , ('f_enable ’disable’ => GetString *, ('f_disable' ’delete* => GetString (*f_delete , *, // Modify url => GetlntPostGet ($f[’platformjd’j !=null) $url = ModifyUrl($url, 'platform_id=* urlencode($f[*platform_id’J), ”); if ($f[*module_id’J !=null) Suri = ModifyUrl($url, *module_id- urlencode($f[*module_id’J), ”); if ($f[’level-id’] !=null) $url = ModifyUrl($url, ’level_id=' urlencode($f[*level_id']),"); if ($f[*alann_type_id’] !=null) $url = Modifyưrl($url, ’alarm_type_id=’ urlencode($f[’alarm_type_id,])J"); if ($f[*admin_alert_confirm_status']!=null) $url = ModifyUrl($url, *admin_alert_confirm_status=' urlencode($f[*admin_alert_confirm_status']), ”); // Process group command tf(($f[’enable']!=")ll($f['disable']!=")ll($f['delete']!=")) { $sql='; foreach ($f[’chk'] as Sk=>$v) $sql = ($sql="?’’:’ or id=’) intval($k); tf (($f[’enable'l!=’’)&&($sql!=”)) $sql = ’UPDATE alarms SET enable=l where id=' $sql; else tf (($f[’disable’l !=")&&($sql !=”)) $sql = ’UPDATE alarms SET enable=o where id=' $sql; elsetf(($f[’delete']!=")&&($sql!=’’)) $sql ='DELETE FROM alarms WHERE id- $sql; ($sql!=”) $MySQL->Execute($sql); // Display control panel $Form->Title = ’Alarm'; $Form->TableName = ’alarms'; Trang 62 $Form->SubmitURL = $url; // Query for platform $MySQL->Query("SELECT * FROM platform”); $list_platform = $MySQL->Data; // Query for modules $MySQL->Query(”SELECT * FROM module” (($f[’platform_id']!='-r)&&($f['platform_id*]!=null)?’ WHERE platform_id- $f['platform_id’] :'*)); $list_module = $MySQL->Data; asc”); // Query alarm_levels $MySQL->Query("SELECT * FROM alarm_level ORDER BY id $list_alarm_level = $MySQL->Data; // Query alarmjype $MySQL->Query("SELECT * FROM alarm_type ORDER BY id asc”); $list_alarm_type = $MySQL->Data; // Add filters // Filter platform $Form->Filter = *Platform:’ *Filter = 'Module:’ 'cselect name=”module_id” id=”module_id”>' ’coption value=”-l'" (($f['module_id,]==null)ll($f[*module_id*]==-l)?' selected':”) *>Tất cảc/option>'; foreach ($list_module as $v) { $Form->Filter = ’coption value=’" $v[’id’] ”” ($f[,module_id,]=$v[’id’]?’ selected’:”) ’>' $v[’name'] 'c/optLon>*; }— $Form->Filter = ’’; Trang 63 // Filter alarm_levels $Form->Filter = ’Level:’ *’ 'coption value=”-l"’ (($f[’level_id’]===null)ll($f[’level_id’]==-l)?' selected':") *>Tất cả'; foreach ($list_alann_level as $v) { $Form->Filter = ’coption value="’ $v[’id’] ”” ($f['level_id’]=$v['id’]?' selected’:’’) ’>’ $v[’name’] ’’; } $Form->Filter = ’’; // Filter alarm_type $Form->Filter = ’Type:’ '’ 'coption value="-l"’ (($f[’alarm_type_íd’]==null)ll($f[’alarm_type_id’]==-l)?' selected':") '>Tất cả'; foreach ($list_alann_type as $v) { $Form->Filter = ’coption value=’" $v[’id’] ”” ($f['alarm_type_id’]=$v['id']?' selected':’’) ’>’ $v['alann_type'] ''; } $Form->Filter = ’’; // Confirm status $Form->Filter = ’Status:’ 'cselect name="admin_alert_confirm_status" id="admin_alert_confirm_status">' ’coption value="-l"’ (($f['module_id']==null)ll($f['module_ìd’]==-l)?' selected':") '>Tất cả'; $Form->Filter = 'coption value="0'" ($f['admin_alert_confirm_status']=0?' selected':") '>Cliưa xử lý'; $Form->Filter = 'coption value=" V" ($f['admin_alert_confirm_status']=l?' selected':") '>Đãxử lý'; $Form->Filter = 'c/selecíx/tdxtd width="20">'; $Form->Filter = ''; $Form->Filter = ’’; ỊỊ Add headers //$Form->AddHeader(’*); // Check all $Form->AddHeader( Type*); $Form-> AddHeaderfPlatform’); $Form->AddHeader(*Module’); $Form->AddHeader(*IP*); $Form-> AddHeaderfLevel’); $Form->AddHeader(*Problem*); $Form-> AddHeader(*Content’); $Form->AddHeader(’Chi tiết'); Trang 64 $Form->AddHeader('Số lỗi'); $Form->AddHeader(’Xử lý’); // Content $ItemPerPage = 100; $sql = "SELECT *, tìmestampdiff(second, time, nowO) as dd FROM alarms WHERE level_idol"; (($f[*platform_id*]!==null)&&($f[*platform_id’]!=-l)) $sql = $sql " and (platform_id="’ $f[’platform id'J.*")"; (($f[*module_id*]!==null)&&($f[*module_id*]!=-l)) $sql = $sql " and (module_id- ** $f[’module_id’] •’’)"; tf(($f[*level_id']!==null)&&($f[’level_id*]!=-l)) $sql = $sql ’’ and (level_id=,M $f[’level_id] ")*'; (($f[*alann_type_id,]!=null)&&($f[’alarm_type_id*]!=-l)) $sql = $sql " and (alaim_type_id- " Sfl'alarm-type-id'] *’)"; (($f[’admin_alert_confirm_status*]!=null)&&($f[’admin_alert_confirm_status’] !=-l)) $sql = $sql " and (admin_alert_confirm_status="' $f['admin_alert_confirm_status’] "*)'*; //if ($f[’sort*]!= ) { // $sql = ’ order by ’ $f[’sort*] ($f[*sortdừ’]==l?* desc’:**); //} //else $sql =' order by id desc'; $sql = limit 0,2000"; $MySQL->QueryI($sql); Sgdata = arrayO; $gnum = 0; Somaxid = $maxid; // Check thong tin de group by for ($x=0; $xNumRows; $x++) { ($maxidData[$x][’id']) $maxid = $MySQL>Data[$x][’id*J; $type = "; $c = $MySQL->Data[$x] [’content*]; //echo $c ’*; $g = $MySQL->Data[$x][,alarm type id'] '* SMySQL>Data[$x][’platform_id'] $MySQL->Data[$x][’ffom_ip*J $MySQL>Data[$x][’level_id’] $MySQL->Data[$x]['command_id’]; if (startsWith($c, ’Queue - MT Server - HN')) { $type = 'Queue MT'; $g = $type; $c = substr($c, 20); $sv = substr($c,0,5); // HN 56 $c = substr($c, 6); $arr = explode(';’, $c); $s = expiodef:, $arr[0]); $toSMSC = $s[lj; $s = explodef:', $arr[l]); $fromSMSC = $s[l]; Trang 65 $s = explodef:', $arr[2]); $responseSMSC = $s[lj; $s = explodef:', $arr[3]); $GetMT2Queue = $s[l]; $s = explodef:', $arr[4]); $Wait4ResponseTable = $s[l]; $s = explodef:', $arr[5]); $SendLogQueue = $s[l]; } // Queue - MT Server - HCM-toSMSC: 0; fromSMSC: 0; responseSMSC: 0; GetMT2Queue: 0; Wait4ResponseTable: 86; SendLogQueue: (startsWith($c, 'Queue - MT Server - HCM’)) { $type = 'Queue MT'; $g = $type; $c = substr($c, 20); $sv = '10.54.64.40, $c = substr($c, 6); $arr = explode(';’, $c); $s = explodef:, $arr[OJ); $toSMSC = $s[l]; $s = explodef:', $arr[ ]); $fromSMSC = $s[l]; $s = explodef:', $arr[2]); $responseSMSC = $s[l]; $s = explodef:', $arr[3]); $GetMT2Queue = $s[l]; $s = explodef:', $arr[4]); $Wait4ResponseTable = $s[l]; $s = explodef:', $arr[5]); $SendLogQueue = $s[l]; } else (startsWith($c, 'Queue - mtserver’)) { // Queue mtserver23_hcm-toSMSC $type = 'Queue MT'; $g = $type; Trang 66 $c = substr($c, 16); $sv = substr($c,0,6); // HN 56 $c = substr($c, 7); $arr = explode(';’, $c); $s = explodef:, $arr[0]); $toSMSC = $s[lj; $s = explodef:', $arr[ ]); $fromSMSC = $s[l]; $s = explodef:', $arr[2]); $responseSMSC = $s[l]; $s = explodef:', $arr[3]); $GetMT2Queue = $s[l]; $s = explodef:', $arr[4]); $Wait4ResponseTable = $s[l]; $s = explodef:', $arr[5]); $SendLogQueue = $s[l]; } else (startsWith($c, 'Forward MO to CP Fa - Forward MO to CP FAIL’)) { $type = 'Forward MO to CP FAIL’; $g = $type; $c = substr($c, 44); $arr = explode(T, $c); $MSISDN = $air[0]; $sc = $arr[l]; $MO = $arr[2J; $a = getShortcodeRange($sc); $g $a[l]; $sv = $a[l].' - ’ $a[0]; MO } else (startsWith($c, 'Forward MO to CP FA - Forward to CP FAIL')) { $type = ’Forward MO to CP FAIL’; $g = $type; $c = substt($c, 44); $arr = explode(T, $c); (sizeof($arr)=4) { $reason = $arr[OJ; $MSKDN = $arr[l]; $sc = $arr[2]; $MO = $arr[3]; } else { $reason = ""; $MSISDN = $arr[OJ; $sc = $arr[l]; $MO = $arr[2]; } $a = getShortcodeRange($sc); $g $a[l]; Trang 67 CP FAIL’)) { $sv = $a[l] ’ - ’ $a[0]; } else (startsWith($c, ’Forward MO to CP - Forward MO to $type = 'Forward MO to CP FAIL*; $g = $type; $c = substr($c, 41); $arr = explode(T, $c); tf (sizeof($arr)=4) { $reason = $arr[OJ; $MSISDN = $arr[l]; $sc = $arr[2]; $MO = $arr[3]; } else { $reason = ””; $MSISDN = $arr[0]; $sc = $arr[l]; $MO = $arr[2]; } $a = getShortcodeRange($sc); $g $a[l]; $sv = $a[l] ’ - ’ $a[0]; } else { $type = '*; $sv = $c; } $found = 0; foreach (Sgdata as $k=>$v) if ($k==$g) { $found= 1; $gdata[$g] i’num']++; $cl = " tf ($MySQL->Data[$x][’dd’]Data[$x] [*level_id*]]; if ($v['type’]=’Queue MT’) { $gdata[$g][’info’l = '’ $toSMSC ’’ $fromSMSC ’Data[$x] ['from_ip*J; $gdata[$g] [’level_id’] = $MySQL>Data[$x] [’level-id*]; $gdata[$g][’type*] = $gdata[$g][’sv'l $type; $gdata[$g][’info’] = $sv; $gdata[$g][’note'l $gdata[$g][’num'] = 1; $gdata[$g] [’list= $MySQL>Data[$x]['id']; id*] $cl = "• ($MySQL->Data[$x][’dd’]Data[$x] [’level-id*]]; $gdata[$g] ['info'] = ’toSMSCfromSMSCrespSMSCGetMT2QWait4RespSendLogQTime’; $gdata[$g] ['info'] = '’ $fromSMSC *’ $responseSMSC *’ $GetMT2Queue '’ $MSISDN *’ $sc *’ $MO ** $MySQL- >Data[$x][*timeData[$x]['time’] **; } tf ($MySQL->Data[$x][*note']!=") { $nn = explode(*', $MySQL- >Data[$x] ['note']); foreach ($nn as $vn) (($vn!=”)&&(strpos($gdata[$g][’note*], $vn)==false)) $gdata[$g]['note'] = ** $vn; } $gnum++; } } $url = ModifyUrl($url, *maxid=* $maxid, *'); $gnum = 0; foreach (Sgdata as Sgk=>$gv) { $Form->row++; $gnum++; $Form->Content = *row%2) valign=”top'*>*; // Alarm type $Form->Content = *Content = $v[’name’]; $Form->Content = **; // Module $Form->Content = *Content = *Content = $v[*name’]; $Form->Content = **; //Type $Fonn->Content = *Content = ’' $gv[’info’]7'’ ($gv[’note’]!=”?'l?'' $gv['num'] ''; //ACK $Form->Content = ’Note - ACK’; //Note Trang 71 $Form->EndRow(); // Queue - MT Server - HN 56-toSMSC: 0; fromSMSC: 0; responseSMSC: 0; GetMT2Queue: 0; Wait4ResponseTable: 4; SendLogQueue: // Queue - MT Server - HN 57-toSMSC: 0; fromSMSC: 0; responseSMSC: 0; GetMT2Queue: 0; Wait4ResponseTable: 4; SendLogQueue: 19220 // Forward MO to CP Fa - Forward MO to CP FAIL:84906851015l7716ICau $Form->PageTitle = 'Danh sách lỗi'; $Form->Action = ’CPanel’; $Form->CurrentPage = $Request[’page']; $Form->TotalItems = $MySQL->TotalRows; $Form->IteniPerPage =20; $Form->ShowCPanel2(); ($f[*admin_alert_confirm_status']!=l) echo "

Ngày đăng: 14/02/2020, 06:57

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan