බාහිරින් ලබා ගැනීමේ සිට සංවර්ධනය දක්වා (1 කොටස)

හැමෝටම ආයුබෝවන්, මගේ නම Sergey Emelyanchik. මම වේලියම් පද්ධතියේ ප්‍රධාන සංවර්ධකයා සහ කතුවරයා වන විගණන-ටෙලිකොම් සමාගමේ ප්‍රධානියා වෙමි. මම සහ මගේ මිතුරා බාහිරින් ලබා ගැනීමේ සමාගමක් නිර්මාණය කර, අප වෙනුවෙන්ම මෘදුකාංගයක් ලියා පසුව SaaS පද්ධතිය හරහා සෑම කෙනෙකුටම බෙදා හැරීමට පටන් ගත් ආකාරය ගැන ලිපියක් ලිවීමට මම තීරණය කළෙමි. මෙය කළ හැකි යැයි මම නිශ්චිතවම විශ්වාස නොකළ ආකාරය ගැන. ලිපියේ කථාවක් පමණක් නොව, වේලියම් නිෂ්පාදනය නිර්මාණය කරන ලද ආකාරය පිළිබඳ තාක්ෂණික විස්තර ද අඩංගු වේ. ප්‍රභව කේත කොටස් කිහිපයක් ඇතුළුව. අප කළ වැරදි මොනවාද සහ ඒවා නිවැරදි කළේ කෙසේදැයි මම ඔබට පසුව කියමි. එවැනි ලිපියක් පළ කළ යුතුද යන්න පිළිබඳව සැකයක් මතු විය. ඒත් ලිපිය පල නොකර ඉන්නවට වඩා ඒක කරලා ප්‍රතිපෝෂණ ලබාගෙන දියුණු වෙන එක හොඳයි කියලා හිතුනා...

මුදලටය

මම IT සේවකයෙක් විදියට එක ආයතනයක වැඩ කළා. සමාගම පුළුල් ජාල ව්‍යුහයක් සමඟ තරමක් විශාල විය. මම මගේ රැකියා වගකීම් මත රැඳී නොසිටිමි, ඔවුන් අනිවාර්යයෙන්ම කිසිවක් සංවර්ධනය ඇතුළත් නොකළ බව පමණක් කියමි.

අපට නිරීක්ෂණයක් තිබුනා, නමුත් හුදෙක් ශාස්ත්‍රීය උනන්දුව නිසා මට මගේම සරලම එකක් ලිවීමට උත්සාහ කිරීමට අවශ්‍ය විය. අදහස මෙය විය: මට එය වෙබයේ තිබීමට අවශ්‍ය විය, එවිට මට කිසිදු සේවාදායකයෙකු ස්ථාපනය නොකර පහසුවෙන් ඇතුළු වී Wi-Fi හරහා ජංගම උපාංගයක් ඇතුළුව ඕනෑම උපාංගයකින් ජාලය සමඟ සිදුවන දේ බැලීමට හැකි වන අතර මටද ඇත්තෙන්ම කාමරයේ "mopey" බවට පත් වී ඇති උපකරණ මොනවාදැයි ඉක්මනින් තේරුම් ගැනීමට අවශ්ය විය. එවැනි ගැටළු වලට ප්‍රතිචාර දැක්වීමේ කාලය සඳහා ඉතා දැඩි අවශ්‍යතා තිබුණි. එහි ප්‍රතිඵලයක් වශයෙන්, ජාල රූප සටහනක් සහිත jpeg පසුබිමක් තිබූ සරල වෙබ් පිටුවක් ලිවීමට, මෙම පින්තූරයේ ඇති උපාංග ඔවුන්ගේ IP ලිපින සමඟ කපා, සහ එහි ඉහළින් ගතික අන්තර්ගතය පෙන්වීමට සැලැස්මක් මගේ හිසෙහි උපත ලැබීය. අවශ්‍ය ඛණ්ඩාංකවල ඇති පින්තූරය හරිත හෝ දිලිසෙන රතු IP ලිපිනයක ස්වරූපයෙන්. කාර්යය සකසා ඇත, අපි ආරම්භ කරමු.

මීට පෙර, මම Delphi, PHP, JS සහ ඉතා මතුපිටින් C++ හි වැඩසටහන් කරමින් සිටියෙමි. ජාල ක්‍රියා කරන ආකාරය මම හොඳින් දනිමි. VLAN, Routing (OSPF, EIGRP, BGP), NAT. ප්‍රාථමික නිරීක්ෂණ මූලාකෘතියක් ලිවීමට මට මෙය ප්‍රමාණවත් විය.

මම සැලසුම් කළ දේ PHP වලින් ලිව්වා. Apache සහ PHP සේවාදායකය Windows මත තිබූ නිසා... ඒ මොහොතේ මට ලිනක්ස් තේරුම්ගත නොහැකි හා ඉතා සංකීර්ණ දෙයක් විය, එය පසුව පෙනී ගිය පරිදි, මම ඉතා වැරදියට තේරුම් ගත් අතර බොහෝ ස්ථානවල ලිනක්ස් වින්ඩෝස් වලට වඩා සරල ය, නමුත් මෙය වෙනම මාතෘකාවක් වන අතර හොලිවර් කීයක් තිබේදැයි අපි කවුරුත් දනිමු. මේ මාතෘකාව. වින්ඩෝස් කාර්ය කාලසටහන්කරු කුඩා කාල පරතරයකින් (මට හරියටම මතක නැත, නමුත් සෑම තත්පර තුනකට වරක් වැනි දෙයක්) PHP ස්ක්‍රිප්ට් එකක් ඇදී ගොස් ඇති අතර එය සියලු වස්තු සාමාන්‍ය පිං එකකින් විමසා ප්‍රාන්තය ගොනුවකට සුරකින ලදී.

system(“ping -n 3 -w 100 {$ip_address}“); 

ඔව්, ඔව්, ඒ මොහොතේ දත්ත සමුදායක් සමඟ වැඩ කිරීම ද මට ප්‍රගුණ නොවීය. ක්‍රියාවලි සමාන්තරගත කළ හැකි බව මම දැන සිටියේ නැත, සහ සියලුම ජාල නෝඩ් හරහා යාමට බොහෝ කාලයක් ගත විය, මන්ද ... මේක එක thread එකක උනා. නෝඩ් කිහිපයක් නොමැති විට ගැටළු විශේෂයෙන් මතු විය, මන්ද ඔවුන් එක් එක් ස්ක්‍රිප්ට් එක ms 300ක් ප්‍රමාද කළා. සේවාලාභියාගේ පැත්තෙන්, තත්පර කිහිපයක කාල පරතරයකින්, Ajax ඉල්ලීමක් සමඟ සේවාදායකයෙන් යාවත්කාලීන තොරතුරු බාගත කර අතුරු මුහුණත යාවත්කාලීන කරන ලද සරල ලූප කිරීමේ කාර්යයක් තිබුණි. හොඳයි, එසේ නම්, පේළියක අසාර්ථක පිං 3 කට පසු, පරිගණකයේ නිරීක්ෂණ සහිත වෙබ් පිටුවක් විවෘතව තිබුනේ නම්, සතුටුදායක සංයුතියක් වාදනය විය.

සෑම දෙයක්ම සාර්ථක වූ විට, මම ප්රතිඵලයෙන් බොහෝ ආස්වාදයක් ලබා ගත් අතර, (මගේ දැනුම හා හැකියාවන් නිසා) මට එය තවත් එකතු කළ හැකි යැයි සිතුවෙමි. නමුත් මම සෑම විටම ප්‍රස්ථාර මිලියනයක් සහිත පද්ධති වලට කැමති නැත, මම එදා සිතූ සහ අද දක්වාම සිතන බොහෝ අවස්ථාවල අනවශ්‍ය ය. මට අවශ්‍ය වුණේ මගේ වැඩවලට ඇත්තටම මට උපකාර වන දේ පමණක් එහි තැබීමටයි. මෙම මූලධර්මය අද දක්වා වේලියම් සංවර්ධනය සඳහා මූලිකව පවතී. තව දුරටත්, මට විවෘතව නිරීක්ෂණය කිරීමට සහ ගැටළු පිළිබඳව දැන ගැනීමට අවශ්‍ය නොවන්නේ නම් එය ඉතා සිසිල් බව මට වැටහුණි, එය සිදු වූ විට, පිටුව විවෘත කර මෙම ගැටළු සහගත ජාල නෝඩය පිහිටා ඇත්තේ කොතැනද සහ එය සමඟ ඊළඟට කුමක් කළ යුතු දැයි බලන්න . කෙසේ හෝ මම එවකට ඊමේල් කියවා නැත, මම එය භාවිතා කළේ නැත. ඔබට GET හෝ POST ඉල්ලීමක් යැවිය හැකි SMS ද්වාර ඇති බව අන්තර්ජාලයේ මට හමු වූ අතර, ඔවුන් මා ලියන අකුරු සමඟ මගේ ජංගම දුරකථනයට කෙටි පණිවිඩයක් එවනු ඇත. මට මෙය ඇත්තටම අවශ්‍ය බව මට වහාම වැටහුණි. ඒ වගේම මම ලේඛන අධ්‍යයනය කරන්න පටන් ගත්තා. ටික වේලාවකට පසු මම සාර්ථක වූ අතර දැන් මගේ ජංගම දුරකථනයේ ජාලයේ ඇති ගැටළු පිළිබඳව “වැටුණු වස්තුවක” නම සමඟ කෙටි පණිවුඩයක් ලැබුණි. ක්‍රමය ප්‍රාථමික වුවද, එය මා විසින්ම ලියා ඇති අතර, එය වර්ධනය කිරීමට මා පෙලඹවූ වැදගත්ම දෙය නම්, එය මගේ කාර්යයට සැබවින්ම උපකාරී වූ යෙදුම් වැඩසටහනක් වීමයි.

ඉන් පසුව එක් අන්තර්ජාල නාලිකාවක් වැඩට බැස ගිය දිනය පැමිණියේය, මගේ අධීක්ෂණය මට ඒ ගැන දැන ගැනීමට ඉඩ දුන්නේ නැත. ගූගල් ඩීඑන්එස් තවමත් හොඳින් පිං කරන බැවින්. සන්නිවේදන නාලිකාව සජීවී බව ඔබට නිරීක්ෂණය කළ හැකි ආකාරය ගැන සිතීමට කාලයයි. මෙය කරන්නේ කෙසේද යන්න පිළිබඳව විවිධ අදහස් තිබුණි. මට සියලුම උපකරණ සඳහා ප්‍රවේශය නොතිබුණි. සජීවී නාලිකා මොනවාද යන්න තේරුම් ගන්නේ කෙසේදැයි අපට සොයා ගැනීමට සිදු විය, නමුත් එය කෙසේ හෝ ජාල උපකරණ මතම බැලීමට නොහැකි විය. එවිට සගයකු අදහසක් ඉදිරිපත් කළේ අන්තර්ජාලයට ප්‍රවේශ වීමට දැනට භාවිතා කරන සන්නිවේදන නාලිකාව අනුව පොදු සේවාදායකයන් වෙත මාර්ග සොයා ගැනීම වෙනස් විය හැකි බවයි. මම පරීක්ෂා කර එය එසේ විය. ලුහුබැඳීමේදී විවිධ මාර්ග තිබුණි.

system(“tracert -d -w 500 8.8.8.8”);

එබැවින් වෙනත් ස්ක්‍රිප්ට් එකක් දර්ශනය විය, නැතහොත්, කිසියම් හේතුවක් නිසා ජාලයේ සියලුම උපාංග පිං කරන ලද එම ස්ක්‍රිප්ට් එකේ අවසානයට හෝඩුවාවක් එක් කරන ලදී. කොහොමටත් මේක එකම ත්‍රෙඩ් එකේම ක්‍රියාත්මක කරලා සම්පූර්ණ ස්ක්‍රිප්ට් එකේම වැඩ මන්දගාමී කරපු තවත් දීර්ඝ ක්‍රියාවලියක්. නමුත් පසුව එය එතරම් පැහැදිලිව පෙනෙන්නට නොතිබුණි. නමුත් එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින්, ඔහු තම කාර්යය ඉටු කළේය, කේතය එක් එක් නාලිකා සඳහා කුමන ආකාරයේ ලුහුබැඳීමක් විය යුතුද යන්න දැඩි ලෙස අර්ථ දක්වා ඇත. පද්ධතිය ක්‍රියාත්මක වීමට පටන් ගත් ආකාරය, එය දැනටමත් නිරීක්ෂණය කර ඇති (හයියෙන් කීවේ, කිසිදු ප්‍රමිතික එකතුවක් නොතිබූ නිසා, නමුත් පිං පමණි) ජාල උපාංග (රවුටර, ස්විච, වයි-ෆයි, ආදිය) සහ බාහිර ලෝකය සමඟ සන්නිවේදන නාලිකා . SMS පණිවිඩ නිතිපතා පැමිණි අතර රූප සටහන සෑම විටම ගැටලුව කොතැනද යන්න පැහැදිලිව පෙන්වයි.

තව දුරටත්, එදිනෙදා වැඩවලදී මට හරස් හරස් කිරීමට සිදු විය. ඒවගේම පාවිච්චි කරන interface එක බලන්න හැම වෙලාවෙම Cisco switches වලට ගිහින් මට එපා වුනා. නිරීක්ෂණයේදී වස්තුවක් මත ක්ලික් කර විස්තර සහිත එහි අතුරුමුහුණත් ලැයිස්තුවක් බැලීම කොතරම් සිසිල්ද? එය මට කාලය ඉතිරි කරයි. තවද, මෙම යෝජනා ක්‍රමය තුළ ගිණුම් සහ විධාන ඇතුළත් කිරීමට Putty හෝ SecureCRT ධාවනය කිරීමට අවශ්‍ය නොවේ. මම මොනිටරින් එක ක්ලික් කරලා අවශ්‍ය දේ බලලා මගේ වැඩේ කරගන්න ගියා. මම ස්විච සමඟ අන්තර් ක්‍රියා කිරීමට ක්‍රම සෙවීමට පටන් ගතිමි. මට වහාම විකල්ප 2 ක් හමු විය: SNMP හෝ SSH හරහා ස්විචයට පිවිසීම, මට අවශ්‍ය විධාන ඇතුළත් කිරීම සහ ප්‍රති result ලය විග්‍රහ කිරීම. එය ක්‍රියාත්මක කිරීමේ සංකීර්ණත්වය නිසා මම SNMP ඉවත් කළෙමි; ප්‍රතිඵලය ලබා ගැනීමට මම නොඉවසිල්ලෙන් සිටියෙමි. SNMP සමඟින්, ඔබට MIB වෙත දිගු කාලයක් හාරා ගත යුතු අතර, මෙම දත්ත මත පදනම්ව, අතුරුමුහුණත් පිළිබඳ දත්ත ජනනය කරන්න. CISCO එකේ අපූරු කණ්ඩායමක් ඉන්නවා

show interface status

හරස් හරස් කිරීම් සඳහා මට අවශ්‍ය දේ එය හරියටම පෙන්වයි. මට මෙම විධානයේ ප්‍රතිදානය බැලීමට අවශ්‍ය වූ විට SNMP සමඟ කරදර වන්නේ ඇයි, මම සිතුවෙමි. කාලෙකට පස්සේ මට මේ අවස්ථාව තේරුණා. වෙබ් පිටුවක වස්තුවක් මත ක්ලික් කළා. AJAX සේවාලාභියා සේවාදායකයා සම්බන්ධ කර ගත් සිදුවීමක් ආරම්භ වූ අතර, එය SSH හරහා මට අවශ්‍ය ස්විචය වෙත සම්බන්ධ විය (ඇත්තපත්‍ර කේතයට තද කර ඇත, එය පිරිපහදු කිරීමට අවශ්‍ය නොවීය, වෙනම මෙනු කිහිපයක් සෑදීමට. අතුරුමුහුණතෙන් ගිණුම් වෙනස් කිරීමට හැකි වනු ඇත, මට ප්රතිඵලය අවශ්ය වූ අතර ඉක්මනින්) මම ඉහත විධානය එහි ඇතුළත් කර එය බ්රවුසරයට යවා ඇත. එබැවින් මම මූසිකයේ එක් ක්ලික් කිරීමකින් අතුරුමුහුණත් පිළිබඳ තොරතුරු බැලීමට පටන් ගතිමි. මෙය අතිශයින්ම පහසු විය, විශේෂයෙන් ඔබට මෙම තොරතුරු එකවර විවිධ ස්විචයන් මත බැලීමට සිදු විය.

ලුහුබැඳීම මත පදනම් වූ නාලිකා අධීක්ෂණය හොඳම අදහස නොවීය, මන්ද... සමහර විට ජාලයේ වැඩ සිදු කරන ලද අතර, ලුහුබැඳීම වෙනස් විය හැකි අතර, නාලිකාවේ ගැටළු ඇති බව අධීක්ෂණය මට කෑ ගැසීමට පටන් ගත්තේය. නමුත් විශ්ලේෂණය සඳහා බොහෝ කාලයක් ගත කිරීමෙන් පසු, සියලුම නාලිකා ක්‍රියාත්මක වන බවත්, මගේ අධීක්ෂණය මාව රවටා ගන්නා බවත් මට වැටහුණි. එහි ප්‍රතිඵලයක් වශයෙන්, අසල්වාසීන්ගේ දෘශ්‍යතා තත්ත්වය වෙනස් වූ විට මට සරලව syslog එවන ලෙස මම නාලිකා සැකසීමේ ස්විච කළමනාකරණය කළ මගේ සගයන්ගෙන් ඉල්ලා සිටියෙමි. ඒ අනුව, එය ලුහුබැඳීමට වඩා සරල, වේගවත් හා නිවැරදි විය. අසල්වැසියා අහිමි වීම වැනි සිදුවීමක් පැමිණ ඇති අතර, මම වහාම නාලිකාව ක්‍රියා විරහිත වීම පිළිබඳ දැනුම්දීමක් නිකුත් කරමි.

තවද, වස්තුවක් මත ක්ලික් කිරීමේදී තවත් විධාන කිහිපයක් දර්ශනය වූ අතර, සමහර ප්‍රමිතික එකතු කිරීම සඳහා SNMP එකතු කරන ලදී, එය මූලික වශයෙන් එයයි. පද්ධතිය තවදුරටත් වර්ධනය වූයේ නැත. එය මට අවශ්ය සෑම දෙයක්ම කළා, එය හොඳ මෙවලමක් විය. මෙම ගැටළු විසඳීම සඳහා අන්තර්ජාලයේ දැනටමත් මෘදුකාංග රාශියක් ඇති බව බොහෝ පාඨකයින් මට පවසනු ඇත. නමුත් ඇත්ත වශයෙන්ම, මම එවකට එවැනි නොමිලේ නිෂ්පාදන ගූගල් නොකළ අතර මට සැබවින්ම අවශ්‍ය වූයේ මගේ ක්‍රමලේඛන කුසලතා වර්ධනය කර ගැනීමට සහ සැබෑ යෙදුම් ගැටලුවකට වඩා මේ සඳහා තල්ලු කිරීමට වඩා හොඳ ක්‍රමය කුමක්ද? මෙම අවස්ථාවේදී, අධීක්ෂණයේ පළමු අනුවාදය සම්පූර්ණ කරන ලද අතර එය තවදුරටත් වෙනස් කර නොමැත.

සමාගම Audit-Telecom නිර්මාණය කිරීම

කාලය ගෙවී යත්ම, මම වෙනත් සමාගම්වල අර්ධකාලීනව වැඩ කිරීමට පටන් ගතිමි, වාසනාවකට මෙන් මගේ වැඩ කාලසටහන මට මෙය කිරීමට ඉඩ දුන්නේය. ඔබ විවිධ සමාගම්වල වැඩ කරන විට, විවිධ ක්ෂේත්‍රවල ඔබේ කුසලතා ඉතා ඉක්මනින් වර්ධනය වන අතර ඔබේ ක්ෂිතිජය හොඳින් වර්ධනය වේ. ඔවුන් පවසන පරිදි, ඔබ ස්වීඩන ජාතිකයෙක්, අස්වැන්න නෙළන්නෙකු සහ හොරණෑ වාදකයෙකු වන සමාගම් තිබේ. එක් අතකින්, එය දුෂ්කර ය, අනෙක් අතට, ඔබ කම්මැලි නොවේ නම්, ඔබ සාමාන්‍යවාදියෙකු බවට පත්වන අතර, අදාළ ක්ෂේත්‍රය ක්‍රියා කරන ආකාරය ඔබ දන්නා නිසා ඉක්මනින් හා කාර්යක්ෂමව ගැටළු විසඳීමට මෙය ඔබට ඉඩ සලසයි.

මගේ මිතුරා පාවෙල් (තොරතුරු තාක්ෂණ විශේෂඥයෙක් ද) ඔහුගේම ව්‍යාපාරයක් ආරම්භ කිරීමට මා දිරිමත් කිරීමට නිරන්තරයෙන් උත්සාහ කළේය. ඔවුන් කරන දේ පිළිබඳ විවිධ වෙනස්කම් සහිත අසංඛ්‍යාත අදහස් තිබුණි. මෙය වසර ගණනාවක් තිස්සේ සාකච්ඡා කර ඇත. අවසානයේදී, මම සංශයවාදියෙකු නිසාත්, පාවෙල් සිහින දකින්නෙකු නිසාත් එය කිසිවකට නොපැමිණිය යුතුය. ඔහු අදහසක් යෝජනා කරන සෑම අවස්ථාවකම මම එය විශ්වාස නොකළ අතර සහභාගී වීම ප්‍රතික්ෂේප කළෙමි. නමුත් අපිට ඇත්තටම ඕන වුණේ අපේම ව්‍යාපාරයක් විවෘත කරන්න.

අවසාන වශයෙන්, අපි දෙදෙනාටම ගැලපෙන විකල්පයක් සොයා ගැනීමටත් අප දන්නා දේ කිරීමටත් අපට හැකි විය. 2016 දී, අපි ව්‍යාපාරවලට තොරතුරු තාක්ෂණ ගැටළු විසඳීමට උපකාර වන තොරතුරු තාක්ෂණ සමාගමක් නිර්මාණය කිරීමට තීරණය කළෙමු. මෙය තොරතුරු තාක්ෂණ පද්ධති යෙදවීම (1C, පර්යන්ත සේවාදායකය, තැපැල් සේවාදායකය, ආදිය), ඒවායේ නඩත්තුව, පරිශීලකයින් සහ ජාල පරිපාලනය සඳහා සම්භාව්‍ය හෙල්ප්ඩෙස්ක් වේ.

අවංකවම, සමාගම නිර්මාණය කරන අවස්ථාවේ දී, මම එය 99,9% ක් පමණ විශ්වාස කළේ නැත. නමුත් කෙසේ හෝ මාව උත්සාහ කිරීමට පාවෙල්ට හැකි වූ අතර, ඉදිරි දෙස බැලීමෙන් ඔහු නිවැරදි බව පෙනී ගියේය. පවෙල් සහ මම රුබල් 300 බැගින් කපා, නව LLC "විගණන-ටෙලිකොම්" ලියාපදිංචි කර, කුඩා කාර්යාලයක් කුලියට ගෙන, සිසිල් ව්‍යාපාරික කාඩ්පත් සාදා, සාමාන්‍යයෙන්, බොහෝ අද්දැකීම් අඩු, නවක ව්‍යාපාරිකයන් මෙන්, සේවාදායකයින් සෙවීමට පටන් ගත්තෙමු. ගනුදෙනුකරුවන් සොයා ගැනීම සම්පූර්ණයෙන්ම වෙනස් කතාවකි. සමහර විට අපි ආයතනික බ්ලොග් අඩවියේ කොටසක් ලෙස වෙනම ලිපියක් ලියන්නෙමු උනන්දුවක් දක්වන්නේ නම්. සීතල ඇමතුම්, පියාසර කරන්නන්, ආදිය. මෙය කිසිදු ප්‍රතිඵලයක් ලබා දුන්නේ නැත. ව්‍යාපාර පිළිබඳ බොහෝ කථා වලින් මම දැන් කියවන පරිදි, එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින්, බොහෝ දේ වාසනාව මත රඳා පවතී. අපි වාසනාවන්තයි. සමාගම නිර්මාණය කර සති කිහිපයකට පසු, අපගේ පළමු සේවාදායකයා අප වෙත ගෙන ආ මගේ සහෝදර ව්ලැඩිමීර් අප වෙත පැමිණියේය. සේවාදායකයින් සමඟ වැඩ කිරීමේ විස්තර මම ඔබව කම්මැලි නොකරමි, ලිපිය ඒ ගැන නොවේ, මම කියන්නේ අපි විගණනයකට ගොස් තීරණාත්මක ප්‍රදේශ හඳුනාගෙන මෙම ප්‍රදේශ බිඳ වැටුණද යන්න තීරණය කරන අතරතුර බාහිරින් ලබා ගන්නන් ලෙස අඛණ්ඩ පදනමක් මත අප සමඟ සහයෝගයෙන් කටයුතු කරන්න. මෙයින් පසු, වහාම ධනාත්මක තීරණයක් ගන්නා ලදී.

ඉන්පසුව, ප්රධාන වශයෙන් මිතුරන් හරහා කට වචනයෙන්, වෙනත් සේවා සමාගම් පෙනී සිටීමට පටන් ගත්තේය. උපකාරක කවුළුව එක පද්ධතියක විය. ජාල උපකරණ සහ සේවාදායකයන් වෙත සම්බන්ධතා වෙනස්, හෝ ඊට වඩා වෙනස් ය. සමහර අය කෙටිමං සුරකින අතර තවත් අය RDP ලිපින පොත් භාවිතා කළහ. අධීක්ෂණය තවත් වෙනම පද්ධතියකි. කණ්ඩායමක් එකිනෙකට වෙනස් පද්ධතිවල වැඩ කිරීම ඉතා අපහසුය. වැදගත් තොරතුරු නොපෙනී යයි. හොඳයි, උදාහරණයක් ලෙස, සේවාලාභියාගේ පර්යන්ත සේවාදායකය ලබා ගත නොහැකි විය. මෙම සේවාදායකයාගේ පරිශීලකයින්ගෙන් අයදුම්පත් වහාම ලැබෙනු ඇත. උපකාරක විශේෂඥයා ඉල්ලීමක් විවෘත කරයි (එය දුරකථනයෙන් ලැබුණි). සිදුවීම් සහ ඉල්ලීම් එක් පද්ධතියක ලියාපදිංචි කර ඇත්නම්, උපකාරක විශේෂඥයා වහාම පරිශීලකයාගේ ගැටලුව කුමක්දැයි දැක ඒ ගැන ඔහුට පවසනු ඇත, ඒ සමඟම තත්වය විසඳා ගැනීමට අවශ්ය වස්තුවට සම්බන්ධ වේ. සෑම කෙනෙකුම උපායශීලී තත්ත්වය පිළිබඳව දැනුවත් වන අතර සමගියෙන් කටයුතු කරයි. මේ සියල්ල එකතු කරන ක්‍රමයක් අපට හමු වී නැත. අපේම නිෂ්පාදනයක් කිරීමට කාලය පැමිණ ඇති බව පැහැදිලි විය.

ඔබගේ අධීක්ෂණ පද්ධතියේ අඛණ්ඩ වැඩ

කලින් ලියා ඇති පද්ධතිය වර්තමාන කාර්යයන් සඳහා සම්පූර්ණයෙන්ම නුසුදුසු බව පැහැදිලිය. ක්‍රියාකාරීත්වය අනුව හෝ ගුණාත්මකභාවය අනුව නොවේ. තවද පද්ධතිය මුල සිටම ලිවීමට තීරණය විය. රූපමය වශයෙන් එය සම්පූර්ණයෙන්ම වෙනස් ලෙස පෙනෙන්නට තිබුණි. එය ධූරාවලි පද්ධතියක් විය යුතු අතර එමඟින් නිවැරදි සේවාදායකයා සඳහා නිවැරදි වස්තුව ඉක්මනින් සහ පහසු ලෙස විවෘත කිරීමට හැකි වනු ඇත. පළමු අනුවාදයේ මෙන් යෝජනා ක්‍රමය වර්තමාන නඩුවේදී කිසිසේත්ම යුක්ති සහගත නොවේ, මන්ද සේවාදායකයින් වෙනස් වන අතර උපකරණ පිහිටා ඇත්තේ කුමන පරිශ්‍රයේද යන්න කිසිසේත්ම වැදගත් නොවේ. මෙය දැනටමත් ලේඛන වෙත මාරු කර ඇත.

ඉතින්, කාර්යයන්:

  1. ධූරාවලි ව්යුහය;
  2. අපට අවශ්‍ය ප්‍රමිතික එකතු කර එය මධ්‍යම සේවාදායකයට යැවීමට අතථ්‍ය යන්ත්‍රයක ස්වරූපයෙන් සේවාදායකයාගේ පරිශ්‍රයේ තැබිය හැකි යම් ආකාරයක සේවාදායක කොටසක්, මේ සියල්ල සාරාංශ කර අපට පෙන්වනු ඇත;
  3. ඇඟවීම්. මග හැරිය නොහැකි ඒවා, මන්ද ... ඒ වෙලාවේ මොනිටරය දිහා නිකම්ම ඉඳගෙන කාටවත් ඉන්න පුළුවන්කමක් තිබුණේ නැහැ.
  4. යෙදුම් පද්ධතිය. අපි සේවාදායක සහ ජාල උපකරණ පමණක් නොව, වැඩපොළවල් සඳහා සේවා සපයන සේවාදායකයින් පෙනී සිටීමට පටන් ගත්හ;
  5. පද්ධතියෙන් සේවාදායකයන් සහ උපකරණ වෙත ඉක්මනින් සම්බන්ධ වීමේ හැකියාව;

කාර්යයන් සකසා ඇත, අපි ලිවීමට පටන් ගනිමු. මාර්ගය ඔස්සේ, ගනුදෙනුකරුවන්ගෙන් ඉල්ලීම් සැකසීම. ඒ වෙනකොට අපි 4 දෙනෙක් හිටියා. අපි කොටස් දෙකම එකවර ලිවීමට පටන් ගත්තෙමු: මධ්යම සේවාදායකය සහ සේවාදායකයන්ට ස්ථාපනය කිරීම සඳහා සේවාදායකය. මෙම අවස්ථාව වන විට, Linux තවදුරටත් අපට ආගන්තුක නොවූ අතර සේවාදායකයින්ට ඇති අතථ්‍ය යන්ත්‍ර Debian මත පවතින බව තීරණය විය. ස්ථාපකයන් නොසිටිනු ඇත, අපි එක් විශේෂිත අථත්‍ය යන්ත්‍රයක සේවාදායක කොටස් ව්‍යාපෘතියක් සාදන්නෙමු, පසුව අපි එය අපේක්ෂිත සේවාදායකයාට ක්ලෝන කරන්නෙමු. මෙය තවත් වැරැද්දක් විය. එවැනි යෝජනා ක්රමයක් තුළ යාවත්කාලීන යාන්ත්රණය සම්පූර්ණයෙන්ම නොදියුණු බව පසුව පැහැදිලි විය. එම. අපි නව විශේෂාංගයක් එකතු කරමින් සිටියෙමු, පසුව එය සියලුම සේවාදායක සේවාදායකයන් වෙත බෙදා හැරීමේ සම්පූර්ණ ගැටළුවක් ඇති විය, නමුත් අපි පසුව මේ වෙත ආපසු එන්නෙමු, සියල්ල පිළිවෙලට.

අපි පළමු මූලාකෘතිය හැදුවා. අපට අවශ්‍ය සේවාදායක ජාල උපාංග සහ සේවාදායකයන් ping කිරීමට සහ මෙම දත්ත අපගේ මධ්‍යම සේවාදායකයට යැවීමට ඔහුට හැකි විය. තවද ඔහු මෙම දත්ත මධ්‍යම සේවාදායකයේ තොග වශයෙන් යාවත්කාලීන කළේය. මෙහිදී මම ලියන්නේ කෙසේද සහ සාර්ථක වූයේ කෙසේද යන්න පිළිබඳ කතාවක් පමණක් නොව, ආධුනික වැරදි මොනවාද සහ පසුව කාලයත් සමඟ මට එය ගෙවිය යුතු ආකාරය ගැන. එබැවින්, සමස්ත වස්තු ගස අනුක්‍රමික වස්තුවක ස්වරූපයෙන් එක් ගොනුවක ගබඩා කර ඇත. අපි සේවාදායකයන් කිහිප දෙනෙකු පද්ධතියට සම්බන්ධ කළ අතර, සමහර විට සම්පූර්ණයෙන්ම තේරුම්ගත නොහැකි සමහර කෞතුක වස්තු තිබුණද, සෑම දෙයක්ම වඩා අඩු හෝ සාමාන්ය විය. නමුත් අපි සර්වර් දුසිමක් පද්ධතියට සම්බන්ධ කළ විට ආශ්චර්යයන් සිදු වීමට පටන් ගත්තේය. සමහර විට, කිසියම් නොදන්නා හේතුවක් නිසා, පද්ධතියේ සියලුම වස්තූන් සරලව අතුරුදහන් විය. සේවාදායකයන් විසින් සෑම තත්පර කිහිපයකට වරක් POST ඉල්ලීමක් හරහා මධ්‍යම සේවාදායකයට දත්ත යවා තිබූ සේවාදායකයන් මෙහි සටහන් කිරීම වැදගත්ය. අවධානයෙන් සිටින පාඨකයෙකු සහ පළපුරුදු ක්‍රමලේඛකයෙකු දැනටමත් අනුමාන කර ඇත්තේ අනුක්‍රමික වස්තුව එකවර විවිධ නූල් වලින් ගබඩා කර ඇති ගොනුවට බහු ප්‍රවේශ වීමේ ගැටලුවක් ඇති බවයි. මෙය සිදු වන විට, වස්තූන් අතුරුදහන් වීමත් සමඟ ආශ්චර්යයන් සිදු විය. ගොනුව හුදෙක් හිස් විය. නමුත් මේ සියල්ල වහාම සොයා නොගත් නමුත් සේවාදායකයන් කිහිපයක් සමඟ ක්‍රියාත්මක වන විට පමණි. මෙම කාලය තුළ, වරාය පරිලෝකනය කිරීමේ ක්‍රියාකාරිත්වය එක් කරන ලදී (සේවාදායකයන් මධ්‍යම වෙත යවන ලද්දේ උපාංග ලබා ගැනීමේ හැකියාව පිළිබඳ තොරතුරු පමණක් නොව, ඒවා මත විවෘතව ඇති වරායන් පිළිබඳ තොරතුරු ය). මෙය සිදු කළේ විධානය ඇමතීමෙන්:

$connection = @fsockopen($ip, $port, $errno, $errstr, 0.5);

ප්රතිඵල බොහෝ විට වැරදි වූ අතර ස්කෑන් කිරීම සම්පූර්ණ කිරීමට බොහෝ කාලයක් ගත විය. මට ping ගැන සම්පූර්ණයෙන්ම අමතක විය, එය fping හරහා සිදු කරන ලදී:

system("fping -r 3 -t 100 {$this->ip}");

මෙයද සමාන්තරව සිදු නොවූ අතර එබැවින් ක්රියාවලිය ඉතා දිගු විය. පසුව, සත්‍යාපනය සඳහා අවශ්‍ය IP ලිපින ලැයිස්තුව එකවරම fping වෙත යවන ලද අතර, ප්‍රතිචාර දැක්වූ අයගේ සූදානම් කළ ලැයිස්තුවක් අපට ආපසු ලැබුණි. අප මෙන් නොව, fping හට ක්‍රියාවලි සමාන්තර කිරීමට හැකි විය.

තවත් සාමාන්‍ය සාමාන්‍ය කාර්යයක් වූයේ WEB හරහා සමහර සේවාවන් පිහිටුවීමයි. හොඳයි, උදාහරණයක් ලෙස, MS Exchange වෙතින් ECP. මූලික වශයෙන් එය සබැඳියක් පමණි. නිශ්චිත සේවාදායකයෙකුගේ ECP වෙත ප්‍රවේශ වන්නේ කෙසේද යන්න සඳහා ලේඛනවල හෝ පිටු සලකුණු වල වෙනත් තැනක බැලීමට අවශ්‍ය නොවන පරිදි, එවැනි සබැඳි කෙලින්ම පද්ධතියට එක් කිරීමට අපට හැකි විය යුතු බව අපි තීරණය කළෙමු. පද්ධතිය සඳහා සම්පත් සබැඳි සංකල්පය දර්ශනය වූ ආකාරය මෙයයි, ඒවායේ ක්‍රියාකාරිත්වය අද දක්වා පවතින අතර වෙනස් වී නැත, හොඳයි, පාහේ.

වේලියම් හි සම්පත් සබැඳි ක්‍රියා කරන ආකාරය
බාහිරින් ලබා ගැනීමේ සිට සංවර්ධනය දක්වා (1 කොටස)

දුරස්ථ සම්බන්ධතා

වේලියම් හි වත්මන් අනුවාදයේ ක්‍රියාවෙන් පෙනෙන්නේ මෙයයි
බාහිරින් ලබා ගැනීමේ සිට සංවර්ධනය දක්වා (1 කොටස)

එක් කාර්යයක් වූයේ සේවාදායකයන් වෙත ඉක්මනින් හා පහසුවෙන් සම්බන්ධ වීමයි, ඒවායින් දැනටමත් බොහෝ (සියයකට වඩා) ඇති අතර පෙර-සුරකින ලද RDP කෙටිමං මිලියන ගණනක් හරහා වර්ග කිරීම අතිශයින් අපහසු විය. මෙවලමක් අවශ්ය විය. එවැනි RDP සම්බන්ධතා සඳහා ලිපින පොතක් වැනි මෘදුකාංගයක් අන්තර්ජාලයේ ඇත, නමුත් ඒවා අධීක්ෂණ පද්ධතිය සමඟ ඒකාබද්ධ කර නොමැති අතර ගිණුම් සුරැකිය නොහැක. ඔබ දිනකට දුසිම් ගනනක් විවිධ සේවාදායකයන් වෙත සම්බන්ධ කරන විට සෑම විටම විවිධ සේවාදායකයින් සඳහා ගිණුම් ඇතුළත් කිරීම නිර්මල අපායකි. SSH සමඟ, දේවල් ටිකක් හොඳ ය; එවැනි සම්බන්ධතා ෆෝල්ඩර වලට සංවිධානය කිරීමට සහ ඒවායින් ගිණුම් මතක තබා ගැනීමට ඔබට ඉඩ සලසන හොඳ මෘදුකාංග රාශියක් ඇත. නමුත් ගැටළු 2 ක් ඇත. පළමුවැන්න නම්, අපි RDP සහ SSH සම්බන්ධතා සඳහා තනි වැඩසටහනක් සොයා නොගත් බවයි. දෙවැන්න නම්, යම් අවස්ථාවක මම මගේ පරිගණකයේ නොසිටින අතර මට ඉක්මනින් සම්බන්ධ වීමට අවශ්‍ය නම්, හෝ මම පද්ධතිය නැවත ස්ථාපනය කළහොත්, මෙම සේවාදායකයාගෙන් ගිණුම බැලීමට මට ලේඛනගත කිරීමට සිදුවනු ඇත. එය අපහසුතාවයක් සහ කාලය නාස්තියකි.

සේවාදායක සේවාදායකයන් සඳහා අපට අවශ්‍ය ධූරාවලි ව්‍යුහය දැනටමත් අපගේ අභ්‍යන්තර නිෂ්පාදනයේ පවතී. එහි ඇති අවශ්‍ය උපකරණවලට ඉක්මන් සම්බන්ධතා සම්බන්ධ කරන්නේ කෙසේදැයි මට සොයා ගැනීමට සිදු විය. ආරම්භකයින් සඳහා, අවම වශයෙන් ඔබේ ජාලය තුළ.

අපගේ පද්ධතියේ සේවාදායකයා පරිගණකයේ දේශීය සම්පත් වෙත ප්‍රවේශය නොමැති බ්‍රවුසරයක් බව සැලකිල්ලට ගනිමින්, අපට අවශ්‍ය යෙදුම යම් විධානයකින් සරලව දියත් කිරීම සඳහා, එය “වින්ඩෝස් හරහා සෑම දෙයක්ම කිරීමට සොයා ගන්නා ලදී. අභිරුචි url යෝජනා ක්රමය". අපගේ පද්ධතිය සඳහා නිශ්චිත “ප්ලගිනයක්” දර්ශනය වූ ආකාරය මෙයයි, එයට පුට්ටි සහ දුරස්ථ ඩෙස්ක්ටොප් ප්ලස් ඇතුළත් වන අතර, ස්ථාපනය අතරතුර, වින්ඩෝස් හි යූආර්අයි යෝජනා ක්‍රමය සරලව ලියාපදිංචි විය. දැන්, අපට RDP හෝ SSH හරහා වස්තුවකට සම්බන්ධ වීමට අවශ්‍ය වූ විට, අපි අපගේ පද්ධතිය මත මෙම ක්‍රියාව ක්ලික් කළ අතර අභිරුචි URI ක්‍රියා කළේය. "ප්ලගිනය" හි කොටසක් වූ වින්ඩෝස් හෝ පුට්ටි තුළ ගොඩනගා ඇති සම්මත mstsc.exe දියත් කරන ලදී. මේක සම්භාව්‍ය අර්ථයෙන් බ්‍රවුසර් ප්ලගිනයක් නොවන නිසා මම ප්ලගිනය කියන වචනය උපුටා දැක්වීම් වලට දැම්මා.

අවම වශයෙන් එය යමක් විය. පහසු ලිපින පොත. එපමණක් නොව, Putty සම්බන්ධයෙන් ගත් කල, සියල්ල සාමාන්‍යයෙන් හොඳින් විය; එයට IP සම්බන්ධතා, පිවිසුම් සහ මුරපදය ආදාන පරාමිතීන් ලෙස ලබා දිය හැකිය. එම. අපි දැනටමත් මුරපද ඇතුළත් නොකර එක ක්ලික් කිරීමකින් අපගේ ජාලයේ ලිනක්ස් සේවාදායකයන්ට සම්බන්ධ කර ඇත. නමුත් RDP සමඟ එය එතරම් සරල නැත. සම්මත mstsc හට පරාමිති ලෙස අක්තපත්‍ර සැපයිය නොහැක. Remote Desktop Plus උදව්වට ආවා. ඔහු මෙය සිදුවීමට ඉඩ දුන්නේය. දැන් අපට එය නොමැතිව කළ හැකිය, නමුත් දිගු කලක් අපගේ පද්ධතියේ විශ්වාසවන්ත සහායකයෙක් විය. HTTP (S) අඩවි සමඟ සෑම දෙයක්ම සරලයි, එවැනි වස්තූන් සරලව බ්රවුසරයේ විවෘත කර ඇති අතර එය එයයි. පහසු සහ ප්රායෝගික. නමුත් මෙය සතුටක් වූයේ අභ්යන්තර ජාලයේ පමණි.

අපි බොහෝ ගැටලු කාර්යාලයේ සිට දුරස්ථව විසඳා ඇති බැවින්, පහසුම දෙය වූයේ සේවාදායකයින්ට VPN ලබා දීමයි. ඊට පස්සේ අපේ සිස්ටම් එකෙන් ඒවාට සම්බන්ධ වෙන්න පුළුවන් වුණා. නමුත් එය තවමත් තරමක් අපහසු විය. එක් එක් සේවාදායකයා සඳහා, සෑම පරිගණකයකම මතක තබා ගත් VPN සම්බන්ධතා පොකුරක් තබා ගැනීම අවශ්‍ය වූ අතර, ඕනෑම දෙයකට සම්බන්ධ වීමට පෙර, ඊට අනුරූප VPN සක්‍රීය කිරීම අවශ්‍ය විය. අපි මෙම විසඳුම සෑහෙන කාලයක් තිස්සේ භාවිතා කළා. නමුත් සේවාදායකයින් සංඛ්‍යාව වැඩි වෙමින් පවතී, VPN සංඛ්‍යාව ද වැඩි වෙමින් පවතී, මේ සියල්ල වෙහෙසට පත් වීමට පටන් ගත් අතර ඒ ගැන යමක් කළ යුතුව තිබුණි. පද්ධතිය නැවත ස්ථාපනය කිරීමෙන් පසු, නව වින්ඩෝස් පැතිකඩකට VPN සම්බන්ධතා දුසිම් ගණනක් නැවත ඇතුළු කිරීමට සිදු වූ විට, විශේෂයෙන් මගේ ඇස්වලට කඳුළු ආවා. මේක ඉවසගෙන ඉන්න එක නවත්තන්න කියලා මම මේකට කරන්න පුළුවන් දේ ගැන හිතන්න පටන් ගත්තා.

සියලුම සේවාදායකයින්ට රවුටර ලෙස සුප්‍රසිද්ධ සමාගමක් වන මයික්‍රොටික් වෙතින් උපාංග තිබීම සිදු විය. ඒවා ඉතා ක්‍රියාකාරී වන අතර ඕනෑම කාර්යයක් පාහේ කිරීමට පහසුය. අවාසිය නම් ඔවුන් "කොල්ලකෑම්" වීමයි. පිටතින් ඇති සියලුම ප්‍රවේශයන් වසා දැමීමෙන් අපි මෙම ගැටලුව විසඳා ගත්තෙමු. නමුත් සේවාදායකයාගේ ස්ථානයට නොපැමිණ කෙසේ හෝ ඔවුන් වෙත ප්‍රවේශ වීම අවශ්‍ය විය, මන්ද ... එය දිගු වේ. අපි එවැනි එක් එක් Mikrotik සඳහා උමං සාදා ඒවා වෙනම තටාකයකට වෙන් කළෙමු. කිසිදු මාර්ගගත කිරීමකින් තොරව, එවිට ඔබේ ජාලයේ ගනුදෙනුකරුවන්ගේ ජාල සහ ඔවුන්ගේ ජාල එකිනෙකා සමඟ සම්බන්ධයක් නොමැත.

මම පද්ධතියේ මට අවශ්‍ය වස්තුව මත ක්ලික් කළ විට, මධ්‍යම අධීක්ෂණ සේවාදායකය, සියලුම සේවාදායකයින්ගේ මයික්‍රොටික්ගේ SSH ගිණුම් දැනගෙන, අපේක්ෂිත එක වෙත සම්බන්ධ වී, අපේක්ෂිත ධාරකයට යොමු කිරීමේ රීතියක් නිර්මාණය කරන බවට වග බලා ගැනීම සඳහා අදහස උපත ලැබීය. අවශ්ය වරාය. මෙහි කරුණු කිහිපයක් තිබේ. විසඳුම විශ්වීය නොවේ - සියලුම රවුටර සඳහා විධාන වාක්‍ය ඛණ්ඩය වෙනස් බැවින් එය ක්‍රියා කරන්නේ Mikrotik සඳහා පමණි. එසේම, එවැනි ඉදිරියට යැවීම් කෙසේ හෝ මකා දැමිය යුතු වූ අතර, අපගේ පද්ධතියේ සේවාදායක කොටස අත්‍යවශ්‍යයෙන්ම මගේ RDP සැසිය අවසන් කර ඇත්ද යන්න සොයා ගැනීමට නොහැකි විය. හොඳයි, එවැනි යොමු කිරීම සේවාදායකයා සඳහා සිදුරක්. නමුත් අපි විශ්වීයත්වය පසුපස හඹා ගියේ නැත, මන්ද ... නිෂ්පාදිතය අපගේ සමාගම තුළ පමණක් භාවිතා කරන ලද අතර එය මහජනතාවට නිකුත් කිරීමට කිසිදු අදහසක් නොතිබුණි.

සෑම ගැටළුවක්ම තමන්ගේම ආකාරයෙන් විසඳා ඇත. රීතිය නිර්මාණය කරන විට, මෙම යොමු කිරීම ලබා ගත හැක්කේ එක් විශේෂිත බාහිර IP ලිපිනයක් සඳහා පමණි (සම්බන්ධතාවය ආරම්භ කරන ලද). ඒ නිසා ආරක්ෂක සිදුරක් වැළකුණා. නමුත් එවැනි සෑම සම්බන්ධයක් සමඟම, NAT පිටුවට Mikrotik රීතියක් එක් කර ඇති අතර එය ඉවත් කර නැත. තවද නීති රීති වැඩි වන තරමට රවුටරයේ ප්‍රොසෙසරය පටවනු ලබන බව කවුරුත් දනිති. පොදුවේ ගත් කල, යම් දවසක මම මයික්‍රොටික් වෙත යන බවත්, මිය ගිය, නිෂ්ඵල නීති සිය ගණනක් පවතින බවත් මට පිළිගත නොහැකි විය.

අපගේ සේවාදායකයට සම්බන්ධතා තත්ත්වය නිරීක්ෂණය කළ නොහැකි බැවින්, Mikrotik හට ඒවා නිරීක්ෂණය කිරීමට ඉඩ දෙන්න. තවද මම ස්ක්‍රිප්ට් එකක් ලිවූ අතර එය නිශ්චිත විස්තරයක් සමඟින් සියලුම යොමු කිරීමේ නීති නිරන්තරයෙන් නිරීක්ෂණය කරන අතර TCP සම්බන්ධතාවයට සුදුසු රීතියක් තිබේදැයි පරීක්ෂා කර ඇත. යම් කාලයක් සඳහා එකක් නොතිබුනේ නම්, සම්බන්ධතාවය දැනටමත් සම්පූර්ණ කර ඇති අතර මෙම යොමු කිරීම මකා දැමිය හැක. හැම දෙයක්ම සාර්ථක වුණා, පිටපත හොඳින් වැඩ කළා.

මාර්ගය වන විට, මෙන්න එය:

global atmonrulecounter {"dontDelete"="dontDelete"}
:foreach i in=[/ip firewall nat find comment~"atmon_script_main"] do={ 
	local dstport [/ip firewall nat get value-name="dst-port" $i]
	local dstaddress [/ip firewall nat get value-name="dst-address" $i]
	local dstaddrport "$dstaddress:$dstport"
	#log warning message=$dstaddrport
	local thereIsCon [/ip firewall connection find dst-address~"$dstaddrport"]
	if ($thereIsCon = "") do={
		set ($atmonrulecounter->$dstport) ($atmonrulecounter->$dstport + 1)
		#:log warning message=($atmonrulecounter->$dstport)
		if (($atmonrulecounter->$dstport) > 5) do={
			#log warning message="Removing nat rules added automaticaly by atmon_script"
			/ip firewall nat remove [/ip firewall nat find comment~"atmon_script_main_$dstport"]
			/ip firewall nat remove [/ip firewall nat find comment~"atmon_script_sub_$dstport"]
			set ($atmonrulecounter->$dstport) 0
		}
	} else {
		set ($atmonrulecounter->$dstport) 0
	}
}

නිසැකවම එය වඩාත් ලස්සන, වේගවත් යනාදිය කළ හැකිව තිබුණි, නමුත් එය ක්‍රියාත්මක විය, මයික්‍රොටික් පටවා නොගෙන විශිෂ්ට කාර්යයක් කළේය. අපට අවසානයේ එක් ක්ලික් කිරීමකින් සේවාලාභීන්ගේ සේවාදායකයන් සහ ජාල උපකරණ වෙත සම්බන්ධ වීමට හැකි විය. VPN එකක් විවෘත නොකර හෝ මුරපද ඇතුලත් නොකර. පද්ධතිය සමඟ වැඩ කිරීමට ඇත්තෙන්ම පහසු වී ඇත. සේවා කාලය අඩු කරන ලද අතර, අපි සියලු දෙනා අවශ්ය වස්තූන් වෙත සම්බන්ධ වීමට වඩා වැඩ කිරීමට කාලය ගත කළෙමු.

Mikrotik උපස්ථය

අපි සියලුම Mikrotik හි උපස්ථය FTP වෙත වින්‍යාස කළෙමු. සහ සමස්තයක් වශයෙන් සෑම දෙයක්ම හොඳින් විය. නමුත් ඔබට උපස්ථයක් ලබා ගැනීමට අවශ්‍ය වූ විට, ඔබට මෙම FTP විවෘත කර එහි එය සෙවිය යුතුය. සියලුම රවුටර සම්බන්ධ කර ඇති පද්ධතියක් අප සතුව ඇත; අපට SSH හරහා උපාංග සමඟ සන්නිවේදනය කළ හැකිය. පද්ධතිය විසින්ම දිනපතා සියලුම Mikrotik වෙතින් උපස්ථ ලබා ගන්නා ලෙස අපි එය නොකරන්නේ ඇයි, මම සිතුවෙමි. ඔහු එය ක්රියාත්මක කිරීමට පටන් ගත්තේය. අපි සම්බන්ධ කර, උපස්ථයක් සාදා ගබඩාවට ගෙන ගියෙමු.

Mikrotik වෙතින් උපස්ථයක් ගැනීම සඳහා PHP හි ස්ක්‍රිප්ට් කේතය:

<?php

	$IP = '0.0.0.0';
	$LOGIN = 'admin';
	$PASSWORD = '';
	$BACKUP_NAME = 'test';

    $connection = ssh2_connect($IP, 22);

    if (!ssh2_auth_password($connection, $LOGIN, $PASSWORD)) exit;

    ssh2_exec($connection, '/system backup save name="atmon" password="atmon"');
    stream_get_contents($connection);
    ssh2_exec($connection, '/export file="atmon.rsc"');
    stream_get_contents($connection);
    sleep(40); // Waiting bakup makes

    $sftp = ssh2_sftp($connection);

    // Download backup file
    $size = filesize("ssh2.sftp://$sftp/atmon.backup");
    $stream = fopen("ssh2.sftp://$sftp/atmon.backup", 'r');
    $contents = '';
    $read = 0;
    $len = $size;
    while ($read < $len && ($buf = fread($stream, $len - $read))) {
        $read += strlen($buf);
        $contents .= $buf;
    }
    file_put_contents ($BACKUP_NAME . ‘.backup’,$contents);
    @fclose($stream);

    sleep(3);
    // Download RSC file
    $size = filesize("ssh2.sftp://$sftp/atmon.rsc");
    $stream = fopen("ssh2.sftp://$sftp/atmon.rsc", 'r');
    $contents = '';
    $read = 0;
    $len = $size;
    while ($read < $len && ($buf = fread($stream, $len - $read))) {
        $read += strlen($buf);
        $contents .= $buf;
    }
    file_put_contents ($BACKUP_NAME . ‘.rsc’,$contents);
    @fclose($stream);

    ssh2_exec($connection, '/file remove atmon.backup');
    ssh2_exec($connection, '/file remove atmon.rsc');

?>

උපස්ථය ආකාර දෙකකින් ගනු ලැබේ - ද්විමය සහ පෙළ වින්‍යාසය. අවශ්‍ය වින්‍යාසය ඉක්මනින් ප්‍රතිස්ථාපනය කිරීමට ද්විමය උපකාරී වන අතර, උපකරණ බලහත්කාරයෙන් ප්‍රතිස්ථාපනය කිරීමක් තිබේ නම් සහ ද්විමය එයට උඩුගත කළ නොහැකි නම් කළ යුතු දේ තේරුම් ගැනීමට පෙළ එක ඔබට ඉඩ සලසයි. එහි ප්රතිඵලයක් වශයෙන්, පද්ධතිය තුළ තවත් පහසු ක්රියාකාරිත්වයක් අපට ලැබුණි. එපමණක් නොව, නව Mikrotik එකතු කිරීමේදී, කිසිවක් වින්‍යාස කිරීමට අවශ්‍ය නොවීය; මම හුදෙක් පද්ධතියට වස්තුව එකතු කර SSH හරහා ඒ සඳහා ගිණුමක් සකස් කළෙමි. එවිට පද්ධතියම උපස්ථ ගැනීම ගැන සැලකිලිමත් විය. SaaS Veliam හි වත්මන් අනුවාදයට තවමත් මෙම ක්‍රියාකාරීත්වය නොමැත, නමුත් අපි එය ඉක්මනින් තොට කරන්නෙමු.

අභ්‍යන්තර පද්ධතියේ එය දිස් වූ ආකාරය පිළිබඳ තිරපිටපත්
බාහිරින් ලබා ගැනීමේ සිට සංවර්ධනය දක්වා (1 කොටස)

සාමාන්‍ය දත්ත ගබඩාවට මාරුවීම

කෞතුක වස්තු දර්ශනය වූ බව මම දැනටමත් ඉහත ලියා ඇත. සමහර විට පද්ධතියේ ඇති සම්පූර්ණ වස්තු ලැයිස්තුව සරලවම අතුරුදහන් විය, සමහර විට වස්තුවක් සංස්කරණය කිරීමේදී, තොරතුරු සුරැකී නැති අතර වස්තුව තුන් වරක් නැවත නම් කිරීමට සිදු විය. මෙය සෑම කෙනෙකුම දරුණු ලෙස කෝපයට පත් කළේය. වස්තූන් අතුරුදහන් වීම කලාතුරකින් සිදු වූ අතර, මෙම ගොනුව ප්‍රතිස්ථාපනය කිරීමෙන් පහසුවෙන් ප්‍රතිසාධනය කරන ලදී, නමුත් වස්තු සංස්කරණය කිරීමේදී අසාර්ථක වීම බොහෝ විට සිදු විය. බොහෝ විට, මම මුලින් දත්ත සමුදාය හරහා මෙය නොකළේ පැතලි මේසයක සියලු සම්බන්ධතා සහිත ගසක් තබා ගත හැකි ආකාරය මගේ මනසට නොගැලපෙන බැවිනි. එය පැතලි, නමුත් ගස ධූරාවලි වේ. නමුත් බහු ප්‍රවේශය සඳහා හොඳ විසඳුමක් සහ පසුව (පද්ධතිය වඩාත් සංකීර්ණ වන විට) ගනුදෙනු කිරීම DBMS වේ. මෙම ගැටලුවට මුහුණ දුන් පළමු පුද්ගලයා මම නොවේ. මම ගූගල් කරන්න පටන් ගත්තා. මට පෙර සෑම දෙයක්ම දැනටමත් සොයාගෙන ඇති අතර පැතලි මේසයකින් ගසක් සාදන ඇල්ගොරිතම කිහිපයක් තිබේ. එක එක බලලා මම එක එක ක්‍රියාවට දැම්මා. නමුත් මෙය දැනටමත් පද්ධතියේ නව අනුවාදයක් විය, මන්ද ... ඇත්ත වශයෙන්ම, මේ නිසා මට බොහෝ දේ නැවත ලිවීමට සිදු විය. ප්රතිඵලය ස්වභාවිකයි, පද්ධතියේ අහඹු හැසිරීම් වල ගැටළු පහව ගියේය. මෘදුකාංග සංවර්ධන ක්ෂේත්‍රයේ දෝෂ ඉතා ආධුනික (තනි නූල් ස්ක්‍රිප්ට්, ගොනුවක විවිධ නූල්වලින් එකවර ප්‍රවේශ වූ තොරතුරු ගබඩා කිරීම යනාදිය) යැයි සමහරු පැවසිය හැකිය. සමහර විට මෙය සත්‍ය විය හැකිය, නමුත් මගේ ප්‍රධාන කාර්යය පරිපාලනය වූ අතර, ක්‍රමලේඛනය මගේ ආත්මයට අතුරු කඩිමුඩියක් වූ අතර, මට ක්‍රමලේඛක කණ්ඩායමක වැඩ කිරීමේ අත්දැකීමක් නොතිබුණි, එවැනි මූලික දේවල් මගේ ජ්‍යෙෂ්ඨයා විසින් වහාම මට යෝජනා කරනු ඇත. සහෝදරවරුනි. එමනිසා, මම මෙම ගැටිති සියල්ල තනිවම පුරවා ගත්තද, මම ද්රව්යය ඉතා හොඳින් ඉගෙන ගතිමි. තවද, මගේ කාර්යයට ගනුදෙනුකරුවන් සමඟ රැස්වීම්, සමාගම ප්‍රවර්ධනය කිරීමට උත්සාහ කිරීම අරමුණු කරගත් ක්‍රියා, සමාගම තුළ පරිපාලන ගැටලු රාශියක් සහ තවත් බොහෝ දේ ඇතුළත් වේ. නමුත් එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින්, දැනටමත් තිබූ දේ ඉල්ලුමක් විය. යාලුවනේ සහ මම අපේ එදිනෙදා වැඩවලදී නිෂ්පාදනය භාවිතා කළා. කාලය කා දැමීම සඳහා අවංකවම අසාර්ථක අදහස් සහ විසඳුම් තිබුණි, නමුත් අවසානයේ මෙය වැඩ කරන මෙවලමක් නොවන බවත් කිසිවෙකු එය භාවිතා නොකළ බවත් එය වේලියම් වලින් අවසන් නොවූ බවත් පැහැදිලි විය.

උපකාරක කවුළුව - උපකාරක කවුළුව

හෙල්ප්ඩෙස්ක් පිහිටුවා ඇති ආකාරය සඳහන් කිරීම වරදක් නොවේ. මෙය සම්පූර්ණයෙන්ම වෙනස් කතාවකි, මන්ද ... Veliam හි මෙය දැනටමත් 3 වන සම්පූර්ණයෙන්ම නව අනුවාදය වන අතර එය පෙර පැවති ඒවාට වඩා වෙනස් වේ. දැන් එය සරල පද්ධතියකි, අනවශ්‍ය සීනු සහ විස්ල් නොමැතිව, වසමක් සමඟ ඒකාබද්ධ වීමේ හැකියාව මෙන්ම විද්‍යුත් තැපෑලකින් සබැඳියක් භාවිතයෙන් ඕනෑම තැනක සිට එකම පරිශීලක පැතිකඩ වෙත ප්‍රවේශ වීමේ හැකියාව ඇත. සහ වඩාත්ම වැදගත් දෙය නම්, VPN හෝ තොට යොමු කිරීමකින් තොරව ඕනෑම තැනක සිට (නිවසේ හෝ කාර්යාලයේ) යෙදුමෙන් කෙලින්ම VNC හරහා අයදුම්කරුට සම්බන්ධ විය හැකිය. අපි මෙයට පැමිණියේ කෙසේද, පෙර සිදු වූ දේ සහ දරුණු තීරණ ගත් දේ මම ඔබට කියමි.

අපි සුප්‍රසිද්ධ TeamViewer හරහා පරිශීලකයින් සමඟ සම්බන්ධ වූවෙමු. අපි සේවය කරන සියලුම පරිගණකවල රූපවාහිනිය ස්ථාපනය කර ඇත. අපි වැරදි කළ පළමු දෙය සහ පසුව එය ඉවත් කිරීම, එක් එක් HD සේවාලාභියා දෘඪාංග වෙත සම්බන්ධ කිරීමයි. ඉල්ලීමක් තැබීම සඳහා පරිශීලකයා HD පද්ධතියට ඇතුළු වූයේ කෙසේද? රූපවාහිනියට අමතරව, සෑම කෙනෙකුම ඔවුන්ගේ පරිගණකයේ ලාසරස් භාෂාවෙන් ලියා ඇති විශේෂ උපයෝගිතා ස්ථාපනය කර ඇත (මෙහි බොහෝ අය ඔවුන්ගේ ඇස් කරකවනු ඇත, සමහර විට ගූගල් වෙත ගොස් එය කුමක්දැයි යන්නට ඇත, නමුත් මම දැන සිටි හොඳම සම්පාදනය කළ භාෂාව ඩෙල්ෆි වන අතර ලාසරස් පාහේ එකම දේ, නොමිලේ පමණි). පොදුවේ ගත් කල, පරිශීලකයා මෙම උපයෝගීතාව දියත් කරන ලද විශේෂ කණ්ඩායම් ගොනුවක් දියත් කළ අතර, එමඟින් පද්ධතියේ HWID කියවන අතර ඉන් පසුව බ්‍රව්සරය දියත් කර අවසරය ලැබුණි. මෙය සිදු කළේ ඇයි? සමහර සමාගම්වල, සේවා සපයන පරිශීලකයින් සංඛ්යාව තනි තනිව ගණනය කරනු ලබන අතර, එක් එක් මාසය සඳහා සේවා මිල පුද්ගලයන් සංඛ්යාව මත පදනම් වේ. මෙය තේරුම් ගත හැකි ය, ඔබ පවසන නමුත් එය දෘඪාංග සමඟ බැඳී ඇත්තේ මන්ද? එය ඉතා සරලයි, සමහර පුද්ගලයින් නිවසට පැමිණ ඔවුන්ගේ නිවසේ ලැප්ටොප් පරිගණකයෙන් ඉල්ලීමක් කළේ "මට මෙහි ඇති සියල්ල අලංකාර කරන්න" යන විලාසයෙනි. පද්ධතිය HWID කියවීමට අමතරව, උපයෝගිතා විසින් දැනට පවතින Teamviewer ID රෙජිස්ට්‍රියෙන් ඉවත් කර එය අප වෙත සම්ප්‍රේෂණය කරන ලදී. Teamviewer හට ඒකාබද්ධ කිරීම සඳහා API එකක් ඇත. ඒ වගේම අපි මේ ඒකාබද්ධ කිරීම කළා. නමුත් එක උඩ පන්දුවක් තිබුණා. මෙම API හරහා, පරිශීලකයා මෙම සැසිය පැහැදිලිවම ආරම්භ නොකරන විට ඔහුගේ පරිගණකයට සම්බන්ධ වීමට නොහැකි වන අතර එයට සම්බන්ධ වීමට උත්සාහ කිරීමෙන් පසුව, ඔහු "තහවුරු කරන්න" ක්ලික් කළ යුතුය. එම අවස්ථාවේදී, පරිශීලකයාගේ ඉල්ලීමකින් තොරව කිසිවෙකු සම්බන්ධ නොවිය යුතු බව අපට තාර්කික බවක් පෙනෙන්නට තිබූ අතර, පුද්ගලයා පරිගණකයේ සිටින බැවින්, ඔහු සැසිය ආරම්භ කර දුරස්ථ සම්බන්ධතා ඉල්ලීමට ස්ථිර ලෙස ප්රතිචාර දක්වයි. හැම දෙයක්ම වැරදුණා. අයදුම්කරුවන්ට සැසිය ආරම්භ කිරීමට ඔබන්න අමතක වූ අතර, දුරකථන සංවාදයකදී මෙය ඔවුන්ට පැවසීමට සිදු විය. මෙය කාලය නාස්ති කළ අතර ක්‍රියාවලියේ දෙපැත්තෙන්ම කලකිරීමට පත් විය. එපමනක් නොව, පුද්ගලයෙකු ඉල්ලීමක් තැබූ විට එවැනි අවස්ථාවන් සඳහා එය කිසිසේත් අසාමාන්ය දෙයක් නොවේ, නමුත් ඔහු දිවා ආහාරය සඳහා පිටත් වන විට පමණක් සම්බන්ධ වීමට අවසර ඇත. ගැටලුව විවේචනාත්මක නොවන අතර ඔහුගේ වැඩ ක්රියාවලියට බාධා කිරීමට ඔහු කැමති නැත. ඒ අනුව, ඔහු සම්බන්ධතාවයට ඉඩ දීමට කිසිදු බොත්තමක් ඔබන්නේ නැත. හෙල්ප්ඩෙස්ක් වෙත පිවිසීමේදී අමතර ක්‍රියාකාරීත්වය දිස්වූයේ මෙලෙසය - Teamviwer ගේ ID කියවීම. Teamviwer ස්ථාපනය කිරීමේදී භාවිතා කරන ස්ථිර මුරපදය අපි දැන සිටියෙමු. වඩාත් නිවැරදිව, එය ස්ථාපකය තුළට සහ අපගේ පද්ධතියට ගොඩනගා ඇති බැවින් එය දැන සිටියේ පද්ධතිය පමණි. ඒ අනුව, යෙදුමෙන් සම්බන්ධතා බොත්තමක් ක්ලික් කිරීමෙන් කිසිවක් බලා සිටීමට අවශ්‍ය නොවූ නමුත් Teamviewer වහාම විවෘත වූ අතර සම්බන්ධතාවයක් ඇති විය. එහි ප්රතිඵලයක් වශයෙන්, හැකි සම්බන්ධතා වර්ග දෙකක් විය. නිල Teamviewer API සහ අපගේ ස්වයං-සාදන ලද එක හරහා. මා පුදුමයට පත් කරමින්, ඔවුන් පළමු එක භාවිතා කිරීම වහාම නැවැත්තුවා, නමුත් විශේෂ අවස්ථා වලදී සහ පරිශීලකයා විසින්ම ඉදිරියට යන විට පමණක් එය භාවිතා කරන ලෙස උපදෙස් තිබුණි. දැන්වත් මට ආරක්ෂාව දෙන්න. නමුත් අයදුම්කරුවන්ට මෙය අවශ්ය නොවන බව පෙනී ගියේය. තහවුරු කිරීමේ බොත්තමක් නොමැතිව ඒවාට සම්බන්ධ වීමෙන් ඔවුන් සියල්ලන්ම හොඳයි.

Linux හි multithreading වෙත මාරු වීම

කලින් තීරණය කරන ලද වරායන් ලැයිස්තුවක් විවෘත කිරීම සහ ජාල වස්තූන් සරලව පිං කිරීම සඳහා ජාල ස්කෑනරයක් ගමන් කිරීම වේගවත් කිරීම පිළිබඳ ප්‍රශ්නය දිගු කලක් තිස්සේ පැන නැගී ඇත. මෙන්න, ඇත්ත වශයෙන්ම, මතකයට එන පළමු විසඳුම බහු නූල් කිරීමයි. ping සඳහා වැය කරන ප්‍රධාන කාලය පැකට්ටුව ආපසු ලැබෙන තෙක් බලා සිටින අතර, පෙර පැකට්ටුව ආපසු ලබා දෙන තෙක් ඊළඟ පිං ආරම්භ කළ නොහැකි බැවින්, සේවාදායක 20+ සහ ජාල උපකරණ පවා තිබූ සමාගම්වල, මෙය දැනටමත් තරමක් සෙමින් ක්‍රියා කරයි. කාරණය වන්නේ එක් පැකේජයක් අතුරුදහන් විය හැකි නමුත්, එය වහාම පද්ධති පරිපාලකයාට දැනුම් නොදෙන්න. ඔහු ඉතා ඉක්මනින් එවැනි ස්පෑම් පිළිගැනීම නවත්වනු ඇත. මෙයින් අදහස් කරන්නේ ප්‍රවේශ විය නොහැකි බව පිළිබඳ නිගමනයකට එළඹීමට පෙර ඔබ එක් එක් වස්තුව එක් වරකට වඩා ping කිරීමට අවශ්‍ය බවයි. වැඩි විස්තර වලට නොගොස්, එය සමාන්තරගත කිරීම අවශ්‍ය වේ, මන්ද මෙය සිදු නොකළහොත්, බොහෝ විට පද්ධති පරිපාලකයා ගැටලුව ගැන ඉගෙන ගනු ඇත්තේ සේවාදායකයාගෙන් මිස අධීක්ෂණ පද්ධතියෙන් නොවේ.

PHP විසින්ම කොටුවෙන් පිටත බහු නූල් කිරීමට සහය නොදක්වයි. බහු සැකසුම් කිරීමේ හැකියාව, ඔබට දෙබලක හැක. නමුත්, ඇත්ත වශයෙන්ම, මා සතුව දැනටමත් ඡන්ද යාන්ත්‍රණයක් ලියා ඇති අතර මට එය සෑදීමට අවශ්‍ය වූ අතර එමඟින් මට දත්ත සමුදායෙන් අවශ්‍ය සියලුම නෝඩ් එක වරක් ගණන් කිරීමට, සියල්ල එකවර පිං කිරීමට, එක් එක් ප්‍රතිචාරය එනතෙක් බලා සිට වහාම ලියන්න. දත්ත. මෙය කියවීමේ ඉල්ලීම් ගණන ඉතිරි කරයි. Multithreading මෙම අදහසට හොඳින් ගැලපේ. PHP සඳහා PThreads මොඩියුලයක් ඇත, එය ඔබට සැබෑ මල්ටි ත්‍රෙඩින් කිරීමට ඉඩ සලසයි, නමුත් මෙය PHP 7.2 මත සැකසීමට සෑහෙන ප්‍රමාණයක් ටින්කරින් කිරීමක් අවශ්‍ය වුවද එය සිදු විය. Port scanning සහ ping දැන් වේගවත්. උදාහරණයක් ලෙස, මීට පෙර ලැප් එකකට තත්පර 15 ක් වෙනුවට, මෙම ක්‍රියාවලිය තත්පර 2 ක් ගත වීමට පටන් ගත්තේය. එය හොඳ ප්‍රතිඵලයක් විය.

නව සමාගම්වල ඉක්මන් විගණනය

විවිධ ප්‍රමිතික සහ දෘඪාංග ලක්ෂණ එකතු කිරීමේ ක්‍රියාකාරීත්වය ඇති වූයේ කෙසේද? ඒක සරලයි. සමහර විට අපට වත්මන් තොරතුරු තාක්ෂණ යටිතල පහසුකම් විගණනය කිරීමට නියෝග කරනු ලැබේ. හොඳයි, නව සේවාදායකයෙකුගේ විගණනය වේගවත් කිරීම සඳහා එකම දෙය අවශ්ය වේ. අපට මධ්‍යම හෝ විශාල සමාගමකට පැමිණ ඔවුන් සතුව ඇති දේ ඉක්මනින් සොයා ගැනීමට ඉඩ සලසන දෙයක් අපට අවශ්‍ය විය. මගේ මතය අනුව, අභ්යන්තර ජාලයේ ping අවහිර කරනු ලබන්නේ තමන්ගේම ජීවිත සංකීර්ණ කිරීමට කැමති අය විසින් පමණක් වන අතර, අපගේ අත්දැකීම් අනුව ඔවුන්ගෙන් ස්වල්පයක් ඇත. හැබැයි එහෙම අයත් ඉන්නවා. ඒ අනුව, සරල පිං එකක් සහිත උපාංග තිබීම සඳහා ඔබට ඉක්මනින් ජාල පරිලෝකනය කළ හැකිය. එවිට අපට ඒවා එකතු කර අපට උනන්දුවක් දක්වන විවෘත වරායන් සඳහා ස්කෑන් කළ හැකිය. ඇත්ත වශයෙන්ම, මෙම ක්‍රියාකාරිත්වය දැනටමත් පැවතුනි; එය අවශ්‍ය වූයේ මධ්‍යම සේවාදායකයේ සිට වහල් එක වෙත විධානයක් එක් කිරීම පමණි, එවිට එය නිශ්චිත ජාල පරිලෝකනය කර එය සොයාගත් සියල්ල ලැයිස්තුවට එක් කරයි. මට සඳහන් කිරීමට අමතක විය, විගණනයකදී සේවාදායකයාගෙන් සරලව පෙරළා අපගේ වලාකුළට සම්බන්ධ කළ හැකි වින්‍යාසගත පද්ධතියක් (වහල් අධීක්ෂණ සේවාදායකය) සහිත සූදානම් කළ රූපයක් අප සතුව දැනටමත් ඇති බව උපකල්පනය කරන ලදී.

නමුත් විගණනයක ප්රතිඵලය සාමාන්යයෙන් විවිධ තොරතුරු සමූහයක් ඇතුළත් වන අතර, ඒවායින් එකක් වන්නේ ජාලයේ කුමන ආකාරයේ උපාංගද යන්නයි. පළමුවෙන්ම, අපි වසමක කොටසක් ලෙස වින්ඩෝස් සර්වර් සහ වින්ඩෝස් වැඩපොළවල් ගැන උනන්දු වෙමු. මධ්‍යම හා විශාල සමාගම්වල වසමක් නොමැතිකම රීතියට ව්‍යතිරේකයක් විය හැකි බැවින්. එක් භාෂාවක් කතා කිරීමට, සාමාන්‍යය, මගේ මතය අනුව, පුද්ගලයන් 100+ වේ. සියලුම වින්ඩෝස් යන්ත්‍ර සහ සර්වර් වලින් දත්ත රැස් කිරීමට ක්‍රමයක් ඉදිරිපත් කිරීම අවශ්‍ය විය, ඔවුන්ගේ IP සහ වසම් පරිපාලක ගිණුම දැනගෙන, නමුත් ඒ සෑම එකක්ම කිසිදු මෘදුකාංගයක් ස්ථාපනය නොකර. WMI අතුරුමුහුණත ගලවා ගැනීමට පැමිණේ. Windows Management Instrumentation (WMI) යන්නෙන් අදහස් වන්නේ වින්ඩෝස් කළමනාකරණ මෙවලම් යන්නයි. WMI යනු වින්ඩෝස් වේදිකාවේ ක්‍රියාත්මක වන පරිගණක යටිතල ව්‍යුහයේ විවිධ කොටස්වල ක්‍රියාකාරිත්වය මධ්‍යගත කළමනාකරණය සහ අධීක්ෂණය සඳහා වන මූලික තාක්ෂණයකි. විකියෙන් උපුටා ගන්නා ලදී. ඊළඟට, මට ඩේබියන් සඳහා wmic (මෙය WMI සේවාලාභියෙකි) සම්පාදනය කිරීම සඳහා නැවත ටින්කර් කිරීමට සිදු විය. සියල්ල සූදානම් වූ පසු ඉතිරිව තිබුණේ අවශ්‍ය තොරතුරු සඳහා wmic හරහා අවශ්‍ය නෝඩ් විමසා බැලීම පමණි. WMI හරහා ඔබට වින්ඩෝස් පරිගණකයකින් ඕනෑම තොරතුරක් ලබා ගත හැකි අතර, ඊට අමතරව, ඔබට එය හරහා පරිගණකය පාලනය කළ හැකිය, උදාහරණයක් ලෙස, එය නැවත ආරම්භ කිරීමට යවන්න. අපගේ පද්ධතියේ වින්ඩෝස් ස්ටේෂන් සහ සර්වර් පිළිබඳ තොරතුරු එකතුව දිස් වූයේ එලෙසිනි. මීට අමතරව, වත්මන් පද්ධති භාර දර්ශක පිළිබඳ වත්මන් තොරතුරු විය. අපි ඔවුන්ගෙන් නිතර ඉල්ලා සිටින අතර දෘඪාංග පිළිබඳ තොරතුරු අඩුවෙන් ඉල්ලා සිටිමු. මෙයින් පසු, විගණනය ටිකක් විනෝදජනක විය.

මෘදුකාංග බෙදා හැරීමේ තීරණය

අප විසින්ම සෑම දිනකම පද්ධතිය භාවිතා කරන අතර, එය සෑම තාක්ෂණික සේවකයෙකු සඳහාම විවෘතව පවතී. ඒ වගේම අපි හිතුවා අපිට දැනටමත් තියෙන දේවල් අනිත් අය එක්ක බෙදාගන්න පුළුවන් කියලා. පද්ධතිය තවමත් බෙදා හැරීමට සූදානම් නැත. දේශීය අනුවාදය SaaS බවට පත් වන පරිදි බොහෝ දේ නැවත සකස් කිරීමට සිදු විය. පද්ධතියේ විවිධ තාක්ෂණික අංශවල වෙනස්කම් (දුරස්ථ සම්බන්ධතා, ආධාරක සේවාව), බලපත්‍ර ලබා දීම සඳහා මොඩියුල විශ්ලේෂණය, පාරිභෝගික දත්ත සමුදායන් බෙදා හැරීම, එක් එක් සේවාව පරිමාණය කිරීම සහ සියලුම කොටස් සඳහා ස්වයංක්‍රීය යාවත්කාලීන පද්ධති සංවර්ධනය කිරීම මෙයට ඇතුළත් වේ. නමුත් මෙය ලිපියේ දෙවන කොටස වනු ඇත.

යාවත්කාලීන

දෙවන කොටස

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න