सवाल प्रत्येक प्रोग्रामर को क्या sysadmin चीजें पता होना चाहिए?


एक प्रोग्रामर के रूप में, हम sysadmins के लिए मंजूरी लेते हैं। कुछ बार मैं एक अच्छा sysadmin के बिना किया गया है वास्तव में मुझे सराहना की है कि आप क्या करते हैं। जब हम एक sysadmin के बिना एक पर्यावरण में उद्यम कर रहे हैं, तो आप हमें ज्ञान के किस शब्द की पेशकश कर सकते हैं?


96


मूल




जवाब:


मैं इसके साथ शुरू करूंगा:

  1. हमेशा किसी तरह का बैकअप सिस्टम है। यदि इतिहास है तो इससे भी बेहतर।
  2. असफलता के एकल बिंदुओं पर विचार करें और उनसे निपटने के लिए कैसे विफल होना चाहिए।
  3. कंप्यूटरों की एक मानक छवि बनाने और बनाने के लिए किसी भी तरीके से देखे जाने वाले कंप्यूटरों की मात्रा के आधार पर, हर किसी के जीवन को आसान बना देगा - "यह मेरे पर काम करता है" क्योंकि उनके पास ऐसा कोई प्रोग्राम नहीं है जो सामान्य रूप से स्थापित नहीं होता है।
  4. सब कुछ दस्तावेज, अगर केवल इसलिए कि आप मर्जी भूल जाओ कि आप कुछ कैसे सेट अप करते हैं।
  5. सुरक्षा अद्यतनों के बराबर रखें।

70



सभी चरणों को दस्तावेज करना कुछ ऐसा है जो मैंने अच्छा sysadmins देखा है, और मैंने इसे स्वयं करना शुरू कर दिया है। वास्तव में बहुत उपयोगी है। - Nathan DeWitt
स्वयं दस्तावेज़ प्रणाली पर विचार करें। उदाहरण के लिए, किसी फ़ाइल फ़ाइल या विकी में होस्ट नामों की सूची क्यों रखें जब एक अच्छी तरह से टिप्पणी की गई जोन फ़ाइल जानकारी का कैनोलिक स्रोत है। - Dave Cheney
डेव, क्या यह अच्छी तरह से टिप्पणी की गई जोन फ़ाइल सभी के द्वारा सुलभ है? अगर मैं बोर्ड पर आने वाला एक नया व्यक्ति हूं, तो यह कहना आसान नहीं है कि "सबकुछ हर जगह दस्तावेज किया गया है" के बजाय "अपने सभी उत्तरों के लिए इस विकी पर जाएं"। DNS को DNS सेटिंग्स में दस्तावेज किया गया है। जोज़िट को जोज़िट में दस्तावेज किया गया है कॉन्फ़िगरेशन फ़ाइल। डेटाबेस डेटाबेस कॉन्फ़िगरेशन फ़ाइल में प्रलेखित है। " ऐसा लगता है ... मेरे लिए असभ्य। - Nathan DeWitt
नाथन, डेव: यह चाल कैनोनिकल स्रोत से विकी को अद्यतन करने के लिए एक स्क्रिप्ट का उपयोग करने के लिए निश्चित रूप से है। यह मेरे लिए आश्चर्यजनक काम करता है, मुझे सचमुच खेद है कि मैं इसका उपयोग नहीं कर सकता जहां मैं अभी काम करता हूं। - Anders Eurenius
मैं इसमें जोड़ूंगा: एक टेस्ट सिस्टम बनाएं। आपको ऐसे माहौल की आवश्यकता है जहां विफलता एक विकल्प है। मेरे पास सर्वर के लिए वर्चुअलबॉक्स चल रहा है, लेकिन सर्वर उपलब्ध नहीं होने पर मैंने अपने व्यक्तिगत वर्कस्टेशन का उपयोग किया है - Mark Porter


<यहां बड़ी पोस्ट अस्वीकरण डालें>

इनमें से कुछ पहले कहा गया है, लेकिन यह दोहराने लायक है।

प्रलेखन:

  • सब कुछ दस्तावेज। यदि आपके पास कोई नहीं है, तो अंडर-द-रडार विकी इंस्टॉल करें, लेकिन सुनिश्चित करें कि आप इसे वापस ले लें। तथ्यों को इकट्ठा करने से शुरू करें, और एक दिन, एक बड़ी तस्वीर बन जाएगी।

  • प्रत्येक तार्किक खंड के लिए आरेख बनाएं और उन्हें अद्यतन रखें। मैं एक सटीक नेटवर्क मानचित्र या क्लस्टर आरेख ने मुझे सहेजने की संख्या की गणना नहीं कर सका।

  • प्रत्येक सिस्टम के लिए लॉग बनाने के लिए रखें, भले ही यह केवल इसे कॉपी करने के लिए कमांड कॉपी करें और पेस्ट करें।

  • अपने सिस्टम का निर्माण करते समय, अपने ऐप्स इंस्टॉल और कॉन्फ़िगर करें, परीक्षण करें और अपना बेंचमार्किंग करें। अब, डिस्क मिटाएं। गंभीरता से। 'डीडी' डिस्क के सामने से पहले मेगाबाइट या अन्यथा बॉक्स को बूट करने योग्य नहीं है। घड़ी टिक रही है: साबित करें कि आपका दस्तावेज़ीकरण इसे स्क्रैच से पुनर्निर्माण कर सकता है (या इससे भी बेहतर, साबित करें कि आपके सहयोगी को आपके दस्तावेज़ से ज्यादा कुछ नहीं मिल सकता है)। यह आपकी आपदा रिकवरी योजना का आधा हिस्सा बन जाएगा।

  • अब आपके पास अपनी आपदा रिकवरी योजना का पहला आधा है, शेष दस्तावेज; अपने एप्लिकेशन की स्थिति को वापस कैसे प्राप्त करें (टेप से फ़ाइलों को पुनर्स्थापित करें, डंप से डेटाबेस पुनः लोड करें), विक्रेता / समर्थन विवरण, नेटवर्क आवश्यकताएं, प्रतिस्थापन हार्डवेयर कैसे और कहां प्राप्त करें - जो कुछ भी आप सोच सकते हैं वह आपके सिस्टम को वापस लेने में मदद करेगा।

स्वचालन:

  • जितना हो सके उतना स्वचालित करें। यदि आपको तीन बार कुछ करना है, तो सुनिश्चित करें कि दूसरा आपके स्वचालन को विकसित करने में खर्च हो गया है, इसलिए तीसरा पूरी तरह से स्वचालित है। यदि आप इसे स्वचालित नहीं कर सकते हैं, तो इसे दस्तावेज़ करें। वहाँ स्वचालन सूट हैं - देखें कि क्या आप उन्हें आपके लिए काम कर सकते हैं।

निगरानी:

  • आवेदन उपकरण शुद्ध सोना है। सिस्टम के माध्यम से गुजरने वाले लेनदेन को देखने में सक्षम होने से डीबगिंग और समस्या निवारण बहुत आसान हो जाता है।

  • एंड-टू-एंड टेस्ट बनाएं जो न केवल यह साबित करता है कि एप्लिकेशन जिंदा है, लेकिन वास्तव में ऐसा करता है जो इसे माना जाता है। अंक आपके हैं यदि इसे चेतावनी उद्देश्यों के लिए निगरानी प्रणाली में जाया जा सकता है। यह डबल ड्यूटी परोसता है; ऐप कार्यों को साबित करने के अलावा, यह सिस्टम को अपग्रेड करना काफी आसान बनाता है (मॉनिटरिंग सिस्टम रिपोर्ट हरे, काम अपग्रेड, घर जाने का समय)।

  • बेंचमार्क, सब कुछ करने के लिए सब कुछ पर मेट्रिक्स की निगरानी और संग्रह। बेंचमार्क आपको बताता है कि कुछ कब उम्मीद करूँगा जादू धुआं छोड़ देगा। मॉनिटरिंग आपको बताती है कि यह कब है। मेट्रिक्स और आंकड़े प्रबंधन के माध्यम से नई किट (ताजा जादू धुएं के साथ) प्राप्त करना आसान बनाता है।

  • यदि आपके पास निगरानी प्रणाली नहीं है, तो एक को लागू करें। बोनस पॉइंट्स यदि आप वास्तव में ऊपर के अंत तक परीक्षणों को जैक करते हैं।

सुरक्षा:

  • "chmod 777" (उर्फ सभी पहुंच / विशेषाधिकार अनुदान) कभी समाधान नहीं है।

  • 'कम से कम बिट' सिद्धांत की सदस्यता लें; यदि यह डिस्क पर स्थापित नहीं है, कॉपी या अन्यथा नहीं है, तो यह समझौता नहीं किया जा सकता है। "रसोई सिंक" ओएस और सॉफ़्टवेयर इंस्टॉल बिल्ड चरण के दौरान जीवन को आसान बना सकते हैं, लेकिन आप ट्रैक के लिए इसके लिए भुगतान करना समाप्त कर देते हैं।

  • जानें कि सर्वर पर हर खुले बंदरगाह के लिए क्या है। यह सुनिश्चित करने के लिए अक्सर कोई नया ऑडिट न करें कि कोई भी नया दिखाई न दे।

  • एक समझौता सर्वर की सफाई करने की कोशिश मत करो; इसे खरोंच से पुनर्निर्मित करने की जरूरत है। ताजा डाउनलोड किए गए मीडिया के साथ एक अतिरिक्त सर्वर पर पुनर्निर्माण करें, केवल बैकअप से डेटा को पुनर्स्थापित करें (जैसा कि बाइनरी से समझौता किया जा सकता है) या समझौता किए गए होस्ट को कहीं भी विश्लेषण के लिए अलग कर दें ताकि आप उसी किट पर पुनर्निर्माण कर सकें। इसके आस-पास एक संपूर्ण कानूनी दुःस्वप्न है, इसलिए यदि आपको कानूनी मार्गों को आगे बढ़ाने की आवश्यकता है तो संरक्षण के पक्ष में गलती करें। (नोट: IANAL)।

हार्डवेयर:

  • कभी भी यह न मानें कि बॉक्स पर जो भी कहता है वह कुछ भी करेगा। साबित करें कि आपको जो चाहिए वह करता है, बस अगर ऐसा नहीं होता है। आप अपने आप को "यह लगभग काम करता है" कहेंगे कि आप अपेक्षा करते हैं उससे अधिक बार।

  • रिमोट हार्डवेयर प्रबंधन पर कंजूसी मत करो। सीरियल कंसोल और रोशनी आउट प्रबंधन को अनिवार्य माना जाना चाहिए। विकल्पों के बाहर होने पर उन समय के लिए दूरस्थ रूप से नियंत्रित पावर स्ट्रिप्स के लिए बोनस अंक।

(इसके अलावा: 3am पर किसी समस्या को ठीक करने के दो तरीके हैं, एक में गर्म होना शामिल है, अपने पजामा में एक वीपीएन पर एक लैपटॉप पर काम करना, दूसरे में एक मोटी जैकेट और डेटासेंटर / कार्यालय के लिए एक ड्राइव शामिल है। मुझे पता है कि मैं कौन सा पसंद करते हैं।)

परियोजना प्रबंधन:

  • उन लोगों को शामिल करें जो परियोजना जीवन चक्र में से एक दिन से सिस्टम को बनाए रखेंगे। किट और मस्तिष्क के समय पर मुख्य समय आश्चर्यचकित हो सकता है, और इसमें कोई संदेह नहीं है कि वे (मानदंड) मानकों या आवश्यकताओं के अनुरूप होंगे जो परियोजना निर्भरताओं बन जाएंगे।

  • दस्तावेज़ीकरण परियोजना का हिस्सा है। परियोजना बंद होने के बाद आपको पूरी चीज लिखने के लिए समय नहीं मिलेगा और सिस्टम रखरखाव में स्थानांतरित हो गया है, इसलिए सुनिश्चित करें कि इसे शुरुआत में शेड्यूल पर प्रयास के रूप में शामिल किया गया हो।

  • प्रोजेक्ट में पहले दिन से योजनाबद्ध अशुभता लागू करें, और प्रोजेक्ट प्रलेखन में निर्दिष्ट स्विच ऑफ दिन से छह महीने पहले रीफ्रेश चक्र शुरू करें।

सर्वर के पास परिभाषित जीवनकाल होता है जब वे उत्पादन में उपयोग के लिए उपयुक्त होते हैं। इस जीवनकाल का अंत आमतौर पर तब भी परिभाषित किया जाता है जब विक्रेता वार्षिक रखरखाव में अधिक शुल्क लेना शुरू कर देता है, इससे किट को रीफ्रेश करने की लागत होती है, या लगभग तीन साल, जो भी छोटा हो। इस समय के बाद, वे विकास / परीक्षण वातावरण के लिए बहुत अच्छे हैं, लेकिन आपको व्यवसाय चलाने के लिए उन पर भरोसा नहीं करना चाहिए। 2 1/2 वर्षों में पर्यावरण की समीक्षा करने से आपको नए किट के आदेश के लिए आवश्यक प्रबंधन और वित्त हुप्स के माध्यम से कूदने और आकाश में बड़े विक्रेता को पुरानी किट भेजने से पहले एक आसान प्रवासन लागू करने के लिए पर्याप्त समय मिल जाता है।

विकास:

  • सुनिश्चित करें कि आपके विकास और स्टेजिंग सिस्टम उत्पादन के समान हैं। वीएम या अन्य वर्चुअलाइजेशन तकनीक (जोन्स, एलडीओएम, बनाम) असली दुनिया-में-हर-भावना-लेकिन-प्रदर्शन उत्पादन क्लोन को आसान बनाते हैं।

बैकअप

  • जिस डेटा का आप बैक अप नहीं ले रहे हैं वह वह डेटा है जिसे आप नहीं चाहते हैं। यह एक अपरिवर्तनीय कानून है। सुनिश्चित करें कि आपकी वास्तविकता इस से मेल खाती है।

  • बैकअप उनके दिखने से कठिन होते हैं; कुछ फाइलें खुली या बंद हो जाएंगी, जबकि अन्य को वसूली की कोई उम्मीद रखने के लिए quiesced की जरूरत है, और इन सभी मुद्दों को संबोधित करने की जरूरत है। कुछ बैकअप पैकेज में एजेंट / अन्य विधियां खुली / लॉक की गई फ़ाइलों से निपटने के लिए होती हैं, अन्य पैकेज नहीं होते हैं। डिस्क पर डेटाबेस को डंप करना और उनको बैकिंग करना "quiescing" के एक रूप के रूप में गिना जाता है, लेकिन यह एकमात्र तरीका नहीं है।

  • जब तक उनका परीक्षण नहीं किया जाता है तब तक बैकअप बेकार होते हैं। प्रत्येक कुछ महीनों में, अभिलेखागार से यादृच्छिक टेप खींचें, सुनिश्चित करें कि इसमें वास्तव में डेटा है, और डेटा सुसंगत है।

और सबसे महत्वपूर्ण रूप से...

अपनी विफलता मोड चुनें, या मर्फी ... और मर्फी आपके शेड्यूल पर काम नहीं करेगा।

विफलता के लिए डिज़ाइन, प्रत्येक सिस्टम के डिज़ाइन किए गए कमजोर बिंदुओं को दस्तावेज करें, जो उन्हें ट्रिगर करता है और कैसे पुनर्प्राप्त करें। कुछ गलत होने पर यह सभी फर्क पड़ता है।


44



+1 ऐसा लगता है जैसे किसी ने मेरे दिमाग में देखा - और यह सुंदर था; पी - Oskar Duveborn
"बेंचमार्क, सब कुछ करने के लिए सबकुछ पर मेट्रिक्स की निगरानी करें और एकत्र करें। बेंचमार्क आपको बताता है कि कुछ कब जादू की धुआं छोड़ने की उम्मीद करेगा। निगरानी आपको बताती है कि जब यह होता है। मेट्रिक्स और आंकड़े नए किट (ताजा जादू के साथ) धुआं) प्रबंधन के माध्यम से। "  शुद्ध सोना - T.J. Crowder


इसे आसान मत मानो। मैं कई प्रोग्रामर जानता हूं जो सोचते हैं कि सिर्फ इसलिए कि वे आईआईएस या अपाचे को देव बॉक्स पर सेट कर सकते हैं कि वे एक वेब फार्म चला सकते हैं। समझें कि नौकरी में क्या शामिल है और आपका शोध और योजना क्या है, केवल यह नहीं सोचना कि सिसडमिन काम करना आसान है जो आप अपने ऐप को तैनात करने के लिए 10 मिनट में कर सकते हैं।


43



इसके लिए +1। ऐसा इसलिए नहीं है क्योंकि हम इसे बनाते हैं देखना यह वास्तव में आसान है। - Gert M
एक सामान्यवादी के रूप में व्यवस्थापक और प्रोग्रामिंग दोनों काम करते हैं, मैं आपकी दुर्दशा को पूरी तरह से समझता हूं। +1 - Avery Payne
यह निश्चित रूप से दूसरा तरीका है, मुझे कुछ sysadmin प्रकार मिल गए हैं जो वास्तव में स्क्रिप्ट और छोटे उपयोगिता कार्यक्रमों के बीच अंतर को नहीं समझते हैं, हम सभी को दस्तक दे सकते हैं और "वास्तविक" प्रोग्रामिंग। - Rob Moir
+1 रॉबर्ट: या सिसाडमिन एक खराब डिजाइन किए गए नेटवर्क आर्किटेक्चर को काम करने के लिए "यह एक आसान अगर कथन" कह रहा है। म्यूचुअल सम्मान और समझ महत्वपूर्ण है। - Steven Evers


  • यह समझें कि, बेहतर या बदतर के लिए, वे कई सर्वर और / या नेटवर्किंग उपकरण हैं जो दूसरे परिवार के बच्चों की तरह हैं। ये उनके बच्चे हैं।  वे उन्हें प्रवृत्त करते हैं, जब वे बीमार होते हैं, तो उन्हें मदद करते हैं, और परेशानी के लिए उन्हें सावधानीपूर्वक निगरानी करते हैं। इस नहीं करना चाहिए इस तरह से हो, लेकिन कई सालों के बाद, यह अक्सर होता है। इसे ध्यान में रखें क्योंकि आप उन्हें उन उपकरणों के बारे में आपकी चिंताओं को संवाद करते हैं जो सही तरीके से या उम्मीद नहीं कर रहे हैं। और यदि आपको एक उत्तर मिलता है जिसे आप समझ नहीं पाते हैं, तो इसे इस दुनिया के दृश्य के माध्यम से फ़िल्टर करने का प्रयास करें।
  • अच्छे काम करने वाले शब्दों पर रहें। चीज लगता है, लेकिन सोने में इसका वजन लायक है। कुछ दिन, आपको कुछ विशेष पक्ष की आवश्यकता होगी। और कुछ दिन, सिसाडमिन आपके लिए जीवन को थोड़ा आसान बनाने के लिए अपने रास्ते से बाहर निकलने में प्रसन्न होंगे, बस एक बार।
  • वह कामकाजी संबंध दोनों तरीकों से चला जाता है। यदि sysadmin बहुत व्यस्त है, और आप एक छोटी लिपि या प्रोग्राम लिखकर जीवन को थोड़ा आसान बना सकते हैं, तो इसे करें! वे आपकी तुलना में अधिक सराहना करेंगे।
  • बहुत स्पष्ट हो। "यह बेकार है" उतना स्पष्ट नहीं है जितना "एक अस्थायी नेटवर्क कनेक्शन होना थोड़ा परेशान है, किसी भी मौके पर आप इसे देख सकते हैं?"
  • यदि आपको लगता है कि आपका ऐप स्केल करेगा, तो पहले व्यवस्थापक से पूछें यह सोचते हैं यह। वे कुछ ऐसा नहीं देख सकते जो आप नहीं करते हैं, या उन उपकरणों की प्रदर्शन सीमाओं के बारे में कुछ जानते हैं जिन्हें आप तैनात करने जा रहे हैं।
  • यदि आपके ऐप को ट्यूनिंग की आवश्यकता है, लेकिन यह कोड समस्या नहीं प्रतीत होता है, तो सर्वर के प्रदर्शन के तरीके के बारे में अच्छी तरह से पूछें। Sysadmins अपनी मशीनों को प्यार की देखभाल के साथ करते हैं और जब वे "बीमार" या "दुर्व्यवहार" होते हैं तो वे प्रसन्न नहीं होते हैं। अच्छी तरह से पूछना एक बीमार मशीन को चारों ओर बदल देगा (या इसे मरम्मत / प्रतिस्थापित करें)।
  • (जैसा कि कहीं और बताया गया है) आपके द्वारा उपयोग की जाने वाली सेटिंग्स को दस्तावेज करें, और क्यूं कर आप उनका इस्तेमाल करते हैं। बस "सेट चेकबॉक्स एक्स" या "असम्बद्ध कॉन्फ़िगरेशन फ़ाइल लाइन वाई" रखने में मदद नहीं करता है। आप उस विकल्प को सेट कर सकते हैं जो आपके सभी डेटा को आपके द्वारा ज्ञात सभी रीबूट पर मिटा देता है।
  • यदि आपके पास पेपर पर सेटिंग दस्तावेज करने का समय नहीं है, तो यदि संभव हो तो इसे सिस्टम में दस्तावेज़ित करने का प्रयास करें। कॉन्फ़िगरेशन फ़ाइलों के साथ, यह लगभग मानक अभ्यास होना चाहिए - प्रत्येक सेटिंग परिवर्तन को प्रारंभिक, प्रारंभिक प्रभाव के साथ, और कारण के साथ दिनांकित किया जाना चाहिए क्यूं कर यह बदला गया था (पूर्व बुलेट बिंदु देखें)। इस छोटी आदत ने क्रंच-टाइम के दौरान एक बार से अधिक बार मेरे बेकन को बचा लिया है। "हमने ऐसा क्यों किया?" "चूंकि हमने नीति एक्स को अनिवार्य किया है, और सेटिंग वाई हमें वह व्यवहार देता है जो हमें नीति एक्स के लिए आवश्यक है"।
  • बीयर। या कोला। या यहां तक ​​कि पानी भी। पेय पदार्थों का हमेशा स्वागत है। एक sysadmin होने के नाते प्यास काम है।

27



कॉन्फ़िगरेशन फ़ाइल प्रलेखन / परिवर्तन समस्या के लिए, मैं सभी कॉन्फ़िगरेशन फ़ाइलों को संस्करण नियंत्रण प्रणाली में डालने की अनुशंसा करता हूं। प्रोग्रामर के लिए यह बहुत आसान होना चाहिए, क्योंकि वे उम्मीद कर रहे हैं कि वे पहले से ही अपने स्रोत कोड के लिए ऐसी प्रणाली का उपयोग कर रहे हैं। यदि वे कोई परिवर्तन करते हैं तो भी कोई टिप्पणी जोड़ते हैं, इतिहास में वापस जाना आसान होगा और देखें कि क्या बदल गया था, और क्यों। - Anders Sandvig
इसके लिए +1, क्योंकि यह परिवर्तन प्रबंधन पर "लूप बंद करता है"। महान सुझाव। - Avery Payne
स्पष्ट त्रुटि रिपोर्ट देने के लिए उत्कृष्ट सुझाव। यह कहने के बाद मुझे कुछ भी निराशा नहीं करता है कि एक समस्या है, और यह जानकर कि यह संभावित रूप से बहुत से लोगों को प्रभावित कर सकता है, मुझे एक अनिच्छुक प्रोग्रामर से ब्योरा देना है - Dave Cheney


सुरक्षा एक विचारधारा नहीं है। जबकि एक हैक किया गया ऐप प्रोग्रामर को अक्षम दिख सकता है, यह (कम से कम) एक खोया सप्ताहांत एक sysadmin के लिए बैकअप से सत्यापन, सफाई, और / या बहाल खर्च किया गया है।

उस मामले के लिए, संस्करण नियंत्रण के रूप में बैकअप का इलाज न करें। वे आपदा रिकवरी के लिए हैं, और वास्तव में आपके कोड को पुनर्स्थापित करने के लिए डिज़ाइन नहीं किए गए हैं क्योंकि आप जो बदल गए हैं उसे भूल गए हैं।

और अपने कोड को तोड़ने के लिए विंडोज अपडेट को अंधाधुंध रूप से दोष देना बंद करें। मुझे परवाह नहीं है कि यह बेफोर्ट काम करता है, मुझे बताओ कि यह अब क्यों काम नहीं करता है - फिर हम देख सकते हैं कि यह किसकी गलती है।


23





नेटवर्किंग समस्याओं को डीबग कैसे करें और अपने प्रोग्राम को sysadmin टूल के साथ चलाएं। एक प्रोग्रामर के रूप में जो सिस्टम प्रशासन में शुरू हुआ, मैं आश्चर्यचकित हूं कि कई प्रोग्रामर नेटवर्किंग के बाद कितने नपुंसक बन जाते हैं "बस बंद हो जाता है।"

  • वायरशार्क, अपने कोड को ब्लैक-बॉक्स फैशन, पैकेट-बाय-पैकेट में चलाने के लिए देखें
  • नेटवर्क सेवाओं से सीधे कनेक्ट करने के लिए उपकरण:
    • टेलनेट, नेटकैट, या सोशल टीसीपी या यूडीपी पर सादे कनेक्शन के लिए
    • OpenSSL एन्क्रिप्शन के साथ एक ही चीज़ के लिए (संकेत: कोशिश करें openssl s_client -connect target-host:port कभी-कभी), नेटवर्क सेवाओं से मैन्युअल रूप से कनेक्ट करने के लिए
  • खुदाई (BIND 9 पैकेज में) डीबगिंग नाम संकल्प के लिए
  • नेटवर्क स्टैक का कौन सा हिस्सा असफल कनेक्शन के समय और अन्य विशेषताओं के आधार पर यह बताने में सक्षम था
  • संभवत: HTTPFox और / या फायरबग

17



+1। ठोस नेटवर्क प्रदर्शन पर निर्भर किसी भी डेवलपर को लिखने वाले किसी भी डेवलपर को देर से महान डब्ल्यू रिचर्ड स्टीवंस द्वारा कोड शुरू करने से पहले 'टीसीपी / आईपी इलस्ट्रेटेड v1' पढ़ना चाहिए। - Murali Suriar
सभी upvotes लोगों के लिए धन्यवाद। अंतर्निहित नेटवर्किंग विफल होने के बाद प्रोग्रामर को एक असहाय स्टैंडस्टाइल पर देखने के लिए वर्षों से मुझे बाहर निकाल दिया गया है। और इन दिनों, लगभग सभी प्रोग्रामिंग नेटवर्क प्रोग्रामिंग है। - jhs


समस्याओं का निवारण कैसे करें पता करें।

हिरण पास करना बहुत आसान है (उदा।, आपका नेटवर्क डेटाबेस के साथ मेरा संचार खो रहा है)। यह नेटवर्क की गलती हो सकती है, लेकिन आपके पास त्रुटियों के साथ एप्लिकेशन लॉग होना चाहिए कि, Google या SO का उपयोग करके, ऐप की कॉन्फ़िगरेशन में कोई समस्या प्रकट हो सकती है।

हर कोई हार्डवेयर, ओएस या नेटवर्क को दोष देना पसंद करता है, इसलिए यदि आप थोड़ी अधिक सावधानी बरतें, तो आप sysadmin को एक खुश व्यक्ति बना देंगे। क्योंकि, यदि कुछ और नहीं है, तो आप उन्हें एक विशिष्ट दिशा में इंगित करने में सक्षम हो सकते हैं कि क्या गलत हो सकता है (जैसा कि "आपका नेटवर्क बेकार है" या कुछ समान रूप से सहायक कहने के विपरीत)।


14



पूर्ण रूप से। मैं उन घंटों की गिनती शुरू नहीं कर सकता जो मैंने गलत जगहों पर समस्याओं की तलाश में बिताए हैं क्योंकि लोगों ने मुझे इंगित किया है गलत दिशा - Gert M


सबकुछ दस्तावेज करें जो आप कर सकते हैं। आपको यह नहीं बता सकता कि आखिरी sysadmin कितनी बार सोचा था कि यह 'प्यारी सुरक्षा' के लिए कुछ दस्तावेज न करने के लिए प्यारा होगा या कोई बस अंदर आने और बाहर निकलना चाहता था। एक प्रोग्रामर की तरह ही अच्छी टिप्पणियां छोड़नी चाहिए, sysadmins दस्तावेज़ होना चाहिए। टोपोलॉजी का एक चित्र भी अच्छा होगा।


8