AI SRE และ AI DevOps ในทางปฏิบัติ: ใช้ PandaSi ให้ Agent จัดการเซิร์ฟเวอร์หลายเครื่องจากส่วนกลาง

AI SRE และ AI DevOps สามารถเริ่มต้นได้จากรายการเซิร์ฟเวอร์แบบรวมศูนย์และการตรวจสอบแบบอ่านอย่างเดียว บทความนี้ใช้ PandaSi เชื่อมต่อกับ Agent บนเครื่องจัดการ เพื่อตรวจสอบเซิร์ฟเวอร์หลายเครื่องทีละเครื่องผ่าน SSH ที่มีอยู่เดิม รวบรวมผลการตรวจสอบ แล้วดำเนินการเปลี่ยนแปลงตามขั้นตอนทดลองบนเซิร์ฟเวอร์ทีละเครื่อง การอนุมัติเป็นกลุ่ม และการย้อนกลับ

PandaSiเผยแพร่ครั้งแรกเมื่อ อัปเดตเมื่อ
AI SRE และ AI DevOps ในทางปฏิบัติ: ใช้ PandaSi ให้ Agent จัดการเซิร์ฟเวอร์หลายเครื่องจากส่วนกลาง

การใช้ PandaSi ให้ Agent จัดการเซิร์ฟเวอร์หลายเครื่องจากส่วนกลางสามารถเริ่มจากเครื่องจัดการที่ได้รับอนุญาตหนึ่งเครื่อง: รัน PandaPaw และ Agent บนเครื่องจัดการ ให้ Agent เข้าถึงเป้าหมายในรายการที่ชัดเจนผ่าน SSH, VPN หรือ bastion host ที่มีอยู่เดิม ตรวจสอบตัวตนทีละเครื่อง ตรวจแบบอ่านอย่างเดียวเป็นชุด และสรุปผลลัพธ์; เมื่อต้องแก้ไข ให้ทดลองกับเครื่องเดียวก่อน แล้วจึงดำเนินการเป็นรอบตามการอนุมัติ AI SRE เน้นการสอบสวนปัญหาความน่าเชื่อถือ AI DevOps เน้นการส่งมอบและการเปลี่ยนแปลงโครงสร้างพื้นฐาน ทั้งสองต้องมีหลักฐานที่ตรวจสอบซ้ำได้และขอบเขตสิทธิ์

PandaSi มีจุดเข้าใช้งานสำหรับเซสชันและการอนุมัติข้ามอุปกรณ์ PandaPaw เชื่อมต่อเครื่องที่ใช้ดำเนินการ คำสั่งจริงดำเนินการโดย Agent และเครื่องมือที่เลือก การเชื่อมต่อสำเร็จไม่เท่ากับได้รับสิทธิ์เซิร์ฟเวอร์ของบริษัท และไม่เท่ากับการติดตั้งการตรวจสอบตลอด 24 ชั่วโมง การแจ้งเตือนอัตโนมัติ หรือระบบซ่อมแซมแบบไม่มีคนดูแล ต่อไปนี้สำหรับนักพัฒนาและผู้ดูแลระบบที่มีสิทธิ์ดูแลเซิร์ฟเวอร์อยู่แล้ว และต้องการติดตามงานจากมือถือหรือคอมพิวเตอร์อีกเครื่อง ตั้งแต่การเชื่อมต่อเครื่องจัดการ การตรวจสอบแบบอ่านอย่างเดียวหลายเครื่อง การสรุปผล และกระบวนการเปลี่ยนแปลงเป็นรอบ เซิร์ฟเวอร์สามารถติดตั้งโดยตรงแยกกันได้ แต่แนวทางหลักหลายเครื่องในบทความนี้ใช้แนวทางเครื่องจัดการ

AI SRE กับ AI DevOps: Agent ช่วยงานอะไรในแต่ละด้าน?

สองคำนี้อธิบายขอบเขตงานที่ทับซ้อนกัน บทความนี้ใช้การแบ่งงานด้านล่างเพื่อทำความเข้าใจ ทั้งสองด้าน โดยไม่ได้มองว่าเป็นผลิตภัณฑ์สองอย่างที่ต้องจัดซื้อแยกกัน

มิติ AI SRE AI DevOps
ปัญหาหลัก บริการเชื่อถือได้หรือไม่ เหตุขัดข้องเกิดเพราะอะไร จะกู้คืนและลดการเกิดซ้ำได้อย่างไร จะส่งมอบซอฟต์แวร์และจัดการโครงสร้างพื้นฐานได้อย่างมั่นคงกว่าเดิมอย่างไร
งานทั่วไป รวบรวม log เชื่อมโยงความผิดปกติ ตรวจสอบ dependency เสนอแนวทางกู้คืน ช่วยทำ postmortem อ่าน pipeline ตรวจสอบ config การ deploy เตรียมการเปลี่ยนแปลง วิเคราะห์การ release ที่ล้มเหลว
อินพุตของ Agent log, metric, topology, ไทม์ไลน์เหตุขัดข้อง และ runbook ที่ได้รับอนุญาตแล้ว repository, บันทึก pipeline, config โครงสร้างพื้นฐาน และกฎการ release
ผลลัพธ์ที่ควรส่งมอบ หลักฐาน สาเหตุที่เป็นไปได้ ความเสี่ยง แผนกู้คืนและตรวจสอบ diff ที่ตรวจทานได้ แผนดำเนินการ เงื่อนไข rollback และหลักฐานการส่งมอบ
การตัดสินใจที่คนควรคงไว้ ผลกระทบทางธุรกิจ การอนุมัติเปลี่ยนแปลง การยอมรับการกู้คืน การอนุมัติ release การควบคุมการเข้าถึง ขอบเขตสภาพแวดล้อมและทรัพยากร

ตัวอย่างเช่น บริการทดสอบเพิ่ง release แล้วตอบ 502: การสอบสวนว่าคำขอล้มเหลวที่ชั้นไหนอยู่ในขอบเขตของ AI SRE มากกว่า; การตรวจทาน config การ release ที่ก่อปัญหาและเตรียมการส่งมอบครั้งถัดไปอยู่ในขอบเขตของ AI DevOps มากกว่า เซสชัน Agent เดียวกันสามารถทำงานทั้งสองประเภทได้ โดยหัวใจอยู่ที่ขอบเขตงาน สิทธิ์ของเครื่องมือ และเงื่อนไขการยอมรับ

ขั้นตอนที่ 1: เลือกตำแหน่งที่ใช้ดำเนินการและขออนุญาตจากบริษัท

ก่อนติดตั้ง ให้เขียนคำตอบสามข้อให้ชัดเจน: เครื่องใดได้รับอนุญาตให้เชื่อมต่อ จะรันด้วยผู้ใช้ระบบใด และอนุญาตให้เข้าถึงไดเรกทอรีและบริการใด บริษัทอนุญาตให้ส่ง log หรือโค้ดให้โมเดลภายนอกหรือไม่ก็ควรยืนยันก่อนเชื่อมต่อ การที่บุคคลสามารถ SSH เข้าได้ไม่ได้หมายความว่าบริษัทอนุมัติให้ผูกบัญชีส่วนตัวกับ Agent ระยะไกล

แนวทาง A: รันบนเซิร์ฟเวอร์โดยตรง ก่อนอื่นให้ยืนยันว่าบริษัทอนุมัติไม่เพียงบริการ Agent ระดับผู้ใช้ แต่รวมถึงการเชื่อมต่ออุปกรณ์เป็นเครือข่ายและการเปลี่ยนแปลงบริการเครือข่ายที่เกี่ยวข้องกับขั้นตอนติดตั้งเริ่มต้นด้วย; สคริปต์ติดตั้งปัจจุบันบนโฮสต์ systemd ที่เข้าเงื่อนไขอาจเรียก sudo เพื่อลงทะเบียนบริการเครือข่ายระดับระบบ หลังจากได้รับอนุญาตสำหรับการติดตั้ง การยกระดับสิทธิ์ และการเปลี่ยนแปลงเครือข่ายที่เกี่ยวข้อง และโฮสต์ตรงตามเงื่อนไขที่รองรับในปัจจุบันแล้ว จึงติดตั้ง PandaPaw บนเซิร์ฟเวอร์ ไดเรกทอรีทำงาน shell และเครื่องมือที่เลือกในภายหลังจะอยู่บนเครื่องที่ใช้ดำเนินการเครื่องนี้ อย่าใช้ root เป็นค่าเริ่มต้นเพียงเพราะ "จัดการสะดวกกว่า"

แนวทาง B: เครื่องจัดการที่ได้รับอนุญาตเชื่อมต่อไปยังเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ไม่อนุญาตให้ติดตั้ง ให้ติดตั้ง PandaPaw บนเครื่องจัดการที่บริษัทอนุมัติ และให้ Agent รันอยู่ที่นั่นด้วย เครื่องจัดการต้องสามารถเข้าถึงเซิร์ฟเวอร์เป้าหมายผ่าน SSH, VPN หรือ bastion host ที่บริษัทรับรองอยู่แล้ว และมีสิทธิ์บัญชีที่สอดคล้องกัน Agent จึงจะเรียกใช้ช่องทางเดิมนี้ได้; PandaSi จะไม่อนุมัติการเข้าถึงแทนคุณ ไม่ข้าม bastion host และไม่เชื่อมต่อเครือข่ายภายในบริษัทให้อัตโนมัติ

สองแนวทาง: รันบนเซิร์ฟเวอร์โดยตรง และเครื่องจัดการเชื่อมต่อไปยังเซิร์ฟเวอร์ผ่านช่องทางที่ได้รับอนุญาตเดิม
ภาพประกอบเส้นทางการเชื่อมต่อ: กำหนดเครื่อง Agent ก่อน จากนั้นกำหนดเซิร์ฟเวอร์เป้าหมาย; การส่งต่อเซสชันไม่ได้ให้สิทธิ์บนเซิร์ฟเวอร์

สิ่งที่สับสนที่สุดระหว่างสองแนวทางคือ "เครื่องปัจจุบัน" ในแนวทางเครื่องจัดการ เมื่อ Agent รัน pwd หนึ่งครั้งโดยค่าเริ่มต้น จะเห็นไดเรกทอรีของเครื่องจัดการ; เฉพาะคำสั่งที่ระบุชัดเจนให้รันผ่าน SSH เท่านั้นจึงเกิดขึ้นบนเซิร์ฟเวอร์เป้าหมาย การมีชื่อเซิร์ฟเวอร์ปรากฏในเซสชันไม่สามารถใช้แทนการตรวจสอบตัวตนได้

ขั้นตอนที่ 2: ติดตั้ง PandaPaw บนเครื่องที่ใช้ดำเนินการ

เข้าสู่หน้าทำงานจาก PandaSi หลังเข้าสู่ระบบให้เปิดหน้าอุปกรณ์ /devices?add=1 เลือกเพิ่มอุปกรณ์ และคัดลอกคำสั่งติดตั้งแบบใช้ครั้งเดียวที่หน้าเว็บสร้างสำหรับระบบปฏิบัติการปัจจุบัน การติดตั้งเริ่มต้นมีการตั้งค่าการเชื่อมต่ออุปกรณ์เป็นเครือข่าย ซึ่งอาจขอสิทธิ์ยกระดับและเปลี่ยนแปลงบริการเครือข่ายของระบบ; ให้ผู้ดูแลระบบของบริษัทตรวจสอบเนื้อหาการติดตั้งและอนุมัติสิทธิ์ที่เกี่ยวข้องก่อน แล้วจึงนำคำสั่งไปรันบนเครื่องที่ใช้ดำเนินการซึ่งเลือกไว้ในขั้นตอนก่อนหน้า หากอนุมัติเฉพาะการเชื่อมต่อระดับผู้ใช้แต่ไม่อนุมัติการเชื่อมต่ออุปกรณ์เป็นเครือข่าย ไม่ควรเรียกใช้คำสั่งติดตั้งเริ่มต้นในบทความนี้โดยตรง ควรยืนยันแนวทางติดตั้งที่ได้รับอนุญาตกับผู้ดูแลระบบก่อน เมื่อจุดเข้าใช้งานหรือข้อความแบรนด์เปลี่ยนตามเวอร์ชัน ให้ยึดตามที่หน้าทำงานปัจจุบันแสดง; ขั้นตอนโฮสต์ที่เกี่ยวข้องสามารถเทียบได้กับ เริ่มต้นอย่างรวดเร็ว

คำสั่งแบบใช้ครั้งเดียวมีข้อมูลรับรองสำหรับจับคู่อุปกรณ์ อย่าโพสต์ลงในบทสนทนา ใบงาน สคริปต์สาธารณะ หรือภาพหน้าจอ และอย่านำคำสั่งเดิมไปใช้เชื่อมต่อหลายเครื่อง; หากใช้แล้วหรือหมดอายุ ให้รับคำสั่งใหม่จากหน้าอุปกรณ์

หากไม่ใช้คำสั่งที่มีข้อมูลรับรองแบบใช้ครั้งเดียว จุดเข้าใช้งานติดตั้งพื้นฐานสำหรับ macOS / Linux คือ:

bash
curl -fsSL https://cos.pandanpc.com/pandapaw/install.sh | sh

คำสั่งนี้จะดาวน์โหลดและเรียกใช้สคริปต์ติดตั้ง ควรปฏิบัติตามกระบวนการติดตั้งซอฟต์แวร์และการตรวจสอบสคริปต์ของบริษัทก่อน ครั้งนี้ตรวจสอบตามเอกสารและซอร์สโค้ดปัจจุบันเท่านั้น ยังไม่ได้ติดตั้งและจับคู่ทดสอบจริงบนโฮสต์ที่สะอาด; จุดดาวน์โหลดสคริปต์ติดตั้งสาธารณะยืนยันแล้วว่าเข้าถึงได้ ความเข้ากันได้ของแพลตฟอร์มโฮสต์และรายละเอียดการติดตั้งดูได้ที่ คู่มือโฮสต์ PandaPaw

เมื่อการอนุญาตบัญชีสำหรับการติดตั้งพื้นฐานยังไม่เสร็จ ให้ดำเนินการต่อบนเครื่องที่ใช้ดำเนินการ:

bash
pandapaw login

ทำตามขั้นตอนอนุญาตอุปกรณ์ที่แสดงเพื่อจับคู่ให้เสร็จ แล้วตรวจสอบ:

bash
pandapaw status

หากไม่พบคำสั่ง ให้เปิด terminal ใหม่ก่อนเพื่อให้ shell โหลด PATH ใหม่ อย่าติดตั้งซ้ำหรือบังคับเข้าสู่ระบบใหม่หลายครั้งเพียงเพื่อ "ลองดู"; ให้แยกสามกรณีก่อน: ไม่พบไบนารี บัญชียังไม่ผูก และบริการเบื้องหลังผิดปกติ

ขั้นตอนที่ 3: เลือกเครื่อง เอนจิน และไดเรกทอรีทำงาน

เปิดหน้าทำงาน /agent เลือกเครื่องที่ใช้ดำเนินการที่เพิ่งเชื่อมต่อ แล้วเลือก Claude Code, Codex หรือ PandaCode และไดเรกทอรีทำงานที่ได้รับอนุญาต เริ่มทดสอบด้วยไดเรกทอรีทดสอบก่อน เพื่อไม่ให้เข้าไปในไดเรกทอรี config ของ production ตั้งแต่แรก

การจับคู่อุปกรณ์กับการเข้าสู่ระบบโมเดลเป็นคนละเรื่อง การเข้าสู่ระบบ PandaPaw หมายถึงโฮสต์สร้างการเชื่อมต่อกับบัญชีหน้าทำงาน; เอนจินที่เลือกยังต้องมีการอนุญาตโมเดล การสมัครสมาชิก หรือการตั้งค่า API ที่ใช้งานได้ เมื่อเห็นอุปกรณ์ออนไลน์แต่โมเดลไม่ตอบกลับ ให้ตรวจสอบข้อความแจ้งการเข้าสู่ระบบของเอนจิน โควตา และการตั้งค่าโมเดลก่อน ไม่ใช่ติดตั้ง PandaPaw ใหม่เพียงอย่างเดียว

พร้อมกันนั้นให้ตรวจสอบการตั้งค่าสิทธิ์เครื่องมือของเอนจิน การเขียน "ยังไม่ต้องแก้ไข" ในแชตเป็นข้อจำกัดของงาน ไม่สามารถใช้แทนสิทธิ์ของระบบปฏิบัติการหรือกลไกอนุมัติของเอนจินได้ เมื่อต้องการอนุมัติทีละครั้ง ควรตั้งค่าโหมดสิทธิ์ที่สอดคล้องกัน อย่าสมมติว่าทุกคำสั่งจะมีหน้าต่างยืนยันขึ้นมาอัตโนมัติ

ขั้นตอนที่ 4: ตรวจสอบตัวตนด้วยคำขอแบบอ่านอย่างเดียวก่อน

งานแรกไม่ควรเขียนว่า "ซ่อมเซิร์ฟเวอร์ให้เสร็จ" ให้ส่งว่า:

ตรวจสอบตัวตนเท่านั้น ไม่แก้ไขไฟล์หรือบริการ รายงานชื่อโฮสต์ปัจจุบัน ผู้ใช้ระบบ และไดเรกทอรีทำงานแบบ absolute พร้อมแสดงรายชื่อไฟล์ระดับบนสุดของไดเรกทอรี อย่าอ่าน .env กุญแจส่วนตัว หรือข้อมูลรับรองอื่น ๆ หากจำเป็นต้องเข้าถึงเซิร์ฟเวอร์เป้าหมาย ให้อธิบายความแตกต่างระหว่างเครื่องที่ใช้ดำเนินการปัจจุบันกับเป้าหมายก่อน แล้วรอให้ฉันตรวจสอบก่อนดำเนินการต่อ

คำสั่งตรวจสอบตัวตนที่ใช้ได้บน Linux / macOS คือ:

bash
hostname
id -un
pwd

คุณควรเทียบค่าที่ส่งคืนกับสิ่งที่คาดหวังทีละรายการ: เป็นเครื่องที่ใช้ดำเนินการเครื่องเดียวกันหรือไม่ เป็นบัญชีที่ได้รับอนุญาตหรือไม่ และเป็นไดเรกทอรีโปรเจกต์ที่ถูกต้องหรือไม่ ชื่อไดเรกทอรีคล้ายกัน อุปกรณ์ออนไลน์ และรหัสออกของคำสั่งเป็น 0 ไม่สามารถใช้ยืนยันได้เพียงลำพังว่าการเชื่อมต่อถูกต้อง

แนวทางเครื่องจัดการยังต้องตรวจสอบทั้งสองฝั่งแยกกัน ด้านล่างแสดงเฉพาะการใช้ SSH alias ที่บริษัทตั้งค่าไว้แล้ว; company-test-server เป็นตัวอย่าง ต้องเปลี่ยนเป็นเป้าหมายที่ผู้ดูแลระบบยืนยันแล้ว:

bash
ssh company-test-server 'hostname; id -un; pwd'

อย่าปิดการตรวจสอบ host key เพื่อแก้ปัญหาคำเตือนการเชื่อมต่อครั้งแรก และอย่าโพสต์รหัสผ่าน SSH หรือกุญแจส่วนตัวให้ Agent pwd ฝั่งระยะไกลอาจเป็นไดเรกทอรีบ้านของบัญชี ไม่สามารถใช้สมมติว่าเลือกโปรเจกต์แล้ว; คำสั่งถัดไปควรระบุพาธแบบ absolute ของโปรเจกต์ระยะไกลให้ชัดเจน

เกณฑ์ผ่านคือ: เนื้อหาที่ตอบกลับสอดคล้องกับโฮสต์ ตัวตน และไดเรกทอรีที่ถูกต้อง; คุณเห็นได้ว่ามีการเรียกใช้อะไร; การสอบถามสิทธิ์แสดงตามที่คาดหวังในโหมดสิทธิ์ปัจจุบัน หลังจากนั้นให้กลับเข้าสู่เซสชันเดิมจากมือถือหรือไคลเอนต์อื่น เพื่อตรวจสอบว่าประวัติกู้คืนได้หรือไม่ ซึ่งใกล้เคียงเส้นทางการใช้งานจริงมากกว่าการดูเพียงจุดสีเขียวออนไลน์

ขั้นตอนที่ 5: สร้างรายการเซิร์ฟเวอร์ก่อน แล้วจึงตรวจแบบอ่านอย่างเดียวเป็นชุด

Agent บนเครื่องจัดการหนึ่งเครื่องสามารถเรียกใช้ SSH ที่มีอยู่ เพื่อเข้าถึงเซิร์ฟเวอร์หลายเครื่องในรายการตามลำดับ; PandaSi ให้คุณติดตามการทำงานของเครื่องมือและผลลัพธ์เหล่านี้ในเซสชันเดียวกัน "การจัดการจากส่วนกลาง" ในที่นี้มาจากจุดดำเนินการเดียวกัน รายการที่ชัดเจน และรายงานที่เป็นเอกภาพ ไม่ได้หมายความว่าผลิตภัณฑ์มีการค้นหาทรัพยากรเซิร์ฟเวอร์ในตัว การมอบงานอัตโนมัติข้ามการเชื่อมต่อ หรือหน้าจอควบคุมแบบกลุ่มในคลิกเดียว เครื่องจัดการต้องได้รับอนุญาตสำหรับทุกเป้าหมายอยู่แล้ว จะถือว่าสามารถเข้าถึงเครื่องอื่นใน subnet เดียวกันได้เพียงเพราะเข้าถึงเครื่องหนึ่งได้ไม่ได้

ล็อกเป้าหมายด้วย alias และการจัดกลุ่มตามสภาพแวดล้อม

ให้ผู้ดูแลระบบดูแลรายการที่ไม่มีความลับข้อมูลรับรอง ชื่อทั้งหมดด้านล่างเป็นตัวอย่างสมมติ; รายการจริงควรอยู่ในตำแหน่งที่บริษัทอนุมัติ ไม่ใส่รหัสผ่าน กุญแจส่วนตัว หรือคำสั่งอุปกรณ์แบบใช้ครั้งเดียว

สภาพแวดล้อม SSH alias ชื่อโฮสต์ที่คาดหวัง ผู้ใช้ที่คาดหวัง ไดเรกทอรีโปรเจกต์ระยะไกล การอนุญาตในรอบนี้
test test-web-01 demo-test-web-01 opsread พาธแบบ absolute ที่อนุมัติแล้วของโปรเจกต์ A ตรวจสอบตัวตน, ตรวจบริการที่ระบุแบบอ่านอย่างเดียว
test test-worker-01 demo-test-worker-01 opsread พาธแบบ absolute ที่อนุมัติแล้วของโปรเจกต์ A ตรวจสอบตัวตน, ตรวจบริการที่ระบุแบบอ่านอย่างเดียว
production prod-web-01 demo-prod-web-01 opsread พาธแบบ absolute ที่อนุมัติแล้วของโปรเจกต์ A ยกเว้นในรอบนี้, ต้องขออนุญาตแยก
production prod-web-02 demo-prod-web-02 opsread พาธแบบ absolute ที่อนุมัติแล้วของโปรเจกต์ A ยกเว้นในรอบนี้, ต้องขออนุญาตแยก

SSH alias คือชื่อในการตั้งค่า SSH ที่มีอยู่บนเครื่องจัดการ ไม่ใช่ชื่ออุปกรณ์ใน PandaSi ให้ผู้ดูแลระบบตรวจสอบเป้าหมาย บัญชี พอร์ต และจุดส่งต่อการเข้าถึงที่จำเป็นซึ่ง alias ชี้ไป; ไม่สามารถยืนยันว่าเป็นเครื่องทดสอบเพียงเพราะชื่อมี test OpenSSH รองรับการจับคู่การตั้งค่าตามรายการ Host และคำสั่งระยะไกลที่ระบุบนบรรทัดคำสั่งจะรันบนโฮสต์เป้าหมาย ดูรายละเอียดได้ที่ คู่มือการตั้งค่าไคลเอนต์ SSH และ คู่มือคำสั่ง SSH

ภาพประกอบเครื่องจัดการหนึ่งเครื่องเข้าถึงเซิร์ฟเวอร์ทดสอบและ production ผ่าน SSH ที่มีอยู่ตามรายการที่ได้รับอนุญาต
ภาพประกอบการจัดการหลายเครื่อง: ตรวจสอบเป้าหมายแต่ละเครื่องตามรายการ จำกัด concurrency และอนุมัติการเข้าถึง production แยกต่างหาก; ไม่ใช่ภาพหน้าจอของหน้าจอควบคุมแบบกลุ่ม

หากติดตั้ง PandaPaw แยกบนแต่ละเซิร์ฟเวอร์ ก็สามารถเลือกเครื่องที่ใช้ดำเนินการที่ตรงกันในหน้าทำงานเพื่อดำเนินการทีละเครื่องได้; แต่ไม่ควรเข้าใจว่า "มีหลายเครื่องออนไลน์" หมายถึงเซสชันเดียวจัดสรรการเชื่อมต่อทั้งหมดโดยอัตโนมัติ ต่อไปในบทความนี้จะใช้แนวทางเครื่องจัดการผ่าน SSH ที่มีอยู่ เพื่อไม่ให้ตำแหน่งดำเนินการสองแบบปนกันในรายงานเดียว

ตรวจสอบแบบ serial ก่อน แล้วจึงจำกัดรายการตรวจ

ครั้งแรกให้ตรวจสอบตัวตนทีละเครื่องตามรายการ โดยไม่อ่าน config ของแอปหรือ log ทั้งหมด ด้านล่างเป็นตัวอย่างแบบ serial ของ Bash บนเครื่องจัดการ ซึ่งระบุเฉพาะเครื่องทดสอบสองเครื่องที่อนุญาตในรอบนี้; ตัวอย่างนี้ไม่ได้ทำการระบุสภาพแวดล้อมอัตโนมัติ และไม่ได้แทนการตรวจสอบตัวตนที่คาดหวังด้วยมนุษย์

bash
for target in test-web-01 test-worker-01; do
  printf '\nTARGET %s\n' "$target"
  if ssh -T -o BatchMode=yes -o ConnectTimeout=5 "$target" \
    'hostname && id -un && pwd'; then
    printf 'IDENTITY_COMMAND_COMPLETED %s\n' "$target"
  else
    result=$?
    printf 'IDENTITY_COMMAND_FAILED %s exit=%s\n' "$target" "$result" >&2
  fi
done

คำสั่งเหล่านี้ใช้เพียงอธิบายวิธีจัดระเบียบ บทความนี้ไม่ได้รันบนโฮสต์ตัวอย่างสองเครื่องนี้ BatchMode=yes ทำให้ไม่รอรับข้อมูลโต้ตอบเมื่อการยืนยันตัวตนล้มเหลว; ConnectTimeout=5 จำกัดเฉพาะขั้นตอนสร้างการเชื่อมต่อ ไม่ใช่เวลาจำกัดรวมของคำสั่งระยะไกลทั้งคำสั่ง เวลาจำกัดรวมในการดำเนินการควรกำหนดแยกโดยเครื่องมือหรือตัวเรียกใช้ task ที่ได้รับอนุญาต ห้ามปิดการตรวจสอบ host key เพื่อให้รันเป็นชุด; bastion host ที่ต้องใช้ MFA แบบโต้ตอบควรใช้กระบวนการเข้าถึงที่บริษัทอนุมัติ ไม่ควรนำตัวอย่างแบบไม่โต้ตอบนี้ไปใช้

เมื่อคำสั่งเสร็จ ให้เทียบชื่อโฮสต์และบัญชีที่คาดหวังในรายการทีละเครื่องก่อน แล้วจึงตรวจสอบพาธโปรเจกต์ระยะไกลที่ได้รับอนุญาต pwd ที่แสดงด้านบนมักเป็นเพียงไดเรกทอรีเข้าสู่ระบบฝั่งระยะไกล ไม่ใช่หลักฐานว่าพาธโปรเจกต์ถูกต้อง รหัสออกของคำสั่งเป็น 0 บอกเพียงว่าคำสั่งเหล่านี้เสร็จสิ้น ไม่ได้หมายความว่าตัวตนโฮสต์ตรงกัน และไม่ได้หมายความว่าธุรกิจมีสุขภาพดี หากเครื่องใดมีตัวตนไม่ตรงกัน ให้ทำเครื่องหมายเป้าหมายนั้นว่าถูกบล็อก และไม่ต้องอ่านข้อมูลธุรกิจต่อ; หากพบข้อสงสัยร่วมกันในสภาพแวดล้อมเดียวกันหรือช่องทางเข้าถึงเดียวกัน ให้หยุดการตรวจทั้งชุด

หลังจากตรวจสอบตัวตนผ่านแล้ว จึงให้ Agent รันชุดการตรวจแบบอ่านอย่างเดียวที่ได้รับอนุญาตเดียวกันกับเครื่องทดสอบในรอบนี้: สถานะบริการที่ระบุ พอร์ตที่คาดว่าจะ listen พื้นที่ดิสก์คงเหลือ สรุปข้อผิดพลาดที่ปิดข้อมูลอ่อนไหวแล้วภายในช่วงเวลาที่ระบุ และคำขอ health ที่อนุมัติแล้วหนึ่งรายการ อย่าขยายจาก "การตรวจ" ไปเป็นการติดตั้ง probe อ่านทุกไดเรกทอรีแบบเรียกซ้ำ หรือซ่อมแซมอัตโนมัติ คำสั่งตรวจของระบบ ตัวจัดการบริการ และแอปแตกต่างกัน ควรเติมตามรายการ ไม่ควรนำคำสั่งชุดเดียวไปบังคับใช้กับทุกโฮสต์

ใช้พรอมต์หนึ่งชุดเพื่อระบุขอบเขตการดำเนินการให้ชัดเจน

คุณรันอยู่บนเครื่องจัดการ เข้าถึงเฉพาะ test-web-01 และ test-worker-01 ในกลุ่ม test ตามรายการเซิร์ฟเวอร์ที่อนุมัติแล้วเท่านั้น อย่าสแกนที่อยู่ใหม่ อย่าเข้าถึงกลุ่ม production ก่อนอื่นให้ตรวจสอบชื่อโฮสต์ ผู้ใช้ และพาธแบบ absolute ของโปรเจกต์ระยะไกลทีละเครื่องตามลำดับ และหากไม่ตรงกับรายการให้บล็อกเป้าหมายนั้น เมื่อผ่านแล้วให้ตรวจเฉพาะสถานะบริการ พอร์ต ดิสก์ และคำขอ health ที่รายการอนุญาตอย่างชัดเจน; log ให้ดึงเฉพาะช่วงเวลาที่ระบุและเป็นส่วนที่ปิดข้อมูลอ่อนไหวแล้ว ครั้งแรกให้ทำแบบ serial ตลอดกระบวนการ ห้ามแก้ไข config ห้ามรีสตาร์ต ห้ามติดตั้ง dependency และห้ามยกระดับสิทธิ์อัตโนมัติ หากเชื่อมต่อเครื่องใดล้มเหลว ให้เก็บข้อผิดพลาดไว้และตรวจแบบอ่านอย่างเดียวต่อไปยังเป้าหมายอื่นที่ตรวจสอบแล้วอย่างเป็นอิสระ; หากพบความผิดปกติด้านการเป็นเจ้าของสภาพแวดล้อมหรือช่องทางเข้าถึงร่วม ให้หยุดทั้งชุด บันทึกเวลาและเขตเวลา คำสั่ง สถานะ exit หลักฐานสำคัญ และรายการที่ยังไม่เสร็จแยกตามเครื่อง จากนั้นสรุปตามเซิร์ฟเวอร์ การซ่อมแซมใด ๆ ให้เสนอเป็นข้อแนะนำแยกต่างหาก ไม่ต้องดำเนินการ

นี่เป็นข้อจำกัดของงาน และควรใช้ร่วมกับบัญชีแบบอ่านอย่างเดียว การอนุมัติเครื่องมือของเอนจิน และการจำกัดการเข้าถึงเครือข่าย การเขียน "ห้ามแก้ไข" ลงในพรอมต์ไม่ได้เปลี่ยนบัญชีที่เขียนได้ให้เป็นบัญชีอ่านอย่างเดียวโดยอัตโนมัติ

จำกัด concurrency ให้ความล้มเหลวอยู่ในเป้าหมายที่เกี่ยวข้อง

การตรวจครั้งแรกใช้แบบ serial เพื่อความสะดวกในการตรวจสอบ; เมื่อมีเป้าหมายมากขึ้น สามารถตั้งขีดจำกัด concurrency ขนาดเล็กภายใต้วงจรการเรียกใช้เครื่องมือที่บริษัทอนุญาต เช่น ตรวจพร้อมกันไม่เกินสองเครื่อง "สองเครื่อง" ในที่นี้เป็นงบประมาณการดำเนินการตัวอย่าง ไม่ใช่ขีดจำกัดผลิตภัณฑ์หรือการรับประกันประสิทธิภาพของ PandaSi หาก Agent หรือเครื่องมือที่เลือกไม่สามารถจำกัด concurrency ได้อย่างน่าเชื่อถือ ให้ใช้แบบ serial ต่อไป อย่าใช้ task เบื้องหลังแบบไม่จำกัดชั่วคราวแทน

การตรวจแต่ละเครื่องควรมี timeout และการบันทึกผลแยกกัน; ความล้มเหลวของเป้าหมายหนึ่งไม่ควรทำให้เครื่องอื่นรีสตาร์ต ติดตั้งใหม่ หรือลองซ้ำทั้งชุดไม่จำกัด บันทึกการเชื่อมต่อ timeout ตัวตนไม่ตรงกัน สิทธิ์ไม่เพียงพอ และคำสั่งตรวจล้มเหลวแยกกัน อย่ารวมเป็น "ออฟไลน์" ทั้งหมด หากข้อผิดพลาดมาจาก bastion host ที่ใช้ร่วมกัน แหล่งยืนยันตัวตน หรือความเป็นเจ้าของสภาพแวดล้อมที่ไม่ชัดเจน ควรหยุดเพื่อตรวจสอบสาเหตุร่วมกัน ไม่ใช่ขยาย concurrency ต่อ

ตารางสรุปต้องระบุทีละเครื่องว่าตัวตนตรงกันหรือไม่ การตรวจใดถูกเรียกใช้จริง หลักฐานสำคัญ และรายการที่ไม่ทราบ ด้านล่างแสดงเพียงรูปแบบการบันทึก ข้อความในตารางเป็นคำอธิบายการกรอก ไม่ใช่ผลทดสอบจริง:

เป้าหมาย การตรวจสอบตัวตน การตรวจบริการและ health เหตุผลที่ยังไม่เสร็จ ขั้นตอนถัดไป
test-web-01 รอกรอกหลักฐานจริง ก่อนดำเนินการให้บันทึกเป็นไม่ทราบ กรอกตามสถานการณ์จริง ตัดสินใจหลังตรวจสอบ
test-worker-01 รอกรอกหลักฐานจริง ก่อนดำเนินการให้บันทึกเป็นไม่ทราบ กรอกตามสถานการณ์จริง ตัดสินใจหลังตรวจสอบ

รายงานควรระบุว่า "วางแผนตรวจกี่เครื่อง เสร็จกี่เครื่อง ล้มเหลวกี่เครื่อง ข้ามกี่เครื่อง" และให้หลักฐานของแต่ละเป้าหมาย เมื่อขาดผลลัพธ์จะถือว่าสุขภาพดีเป็นค่าเริ่มต้นไม่ได้; แม้คำสั่งเป็นชุดจะมีรหัสออกสุดท้ายเป็น 0 ก็ไม่สามารถปกปิดได้ว่าเครื่องใดเครื่องหนึ่งล้มเหลวกลางทาง

ขั้นตอนที่ 6: สอบสวนและกู้คืน 502 บนบริการทดสอบหนึ่งเครื่องให้ครบก่อน

ต่อไปนี้เป็นตัวอย่างเพื่อการสอน ไม่ใช่เหตุการณ์ที่ทดสอบจริงในบทความ และไม่ใช่ชุดคำสั่งซ่อมแซมที่สามารถคัดลอกไปใช้กับทุกเซิร์ฟเวอร์ สมมติว่าบริการทดสอบที่ได้รับอนุญาตให้ดำเนินการตอบ 502 หลังการ release และคุณทราบโดเมนทดสอบ ชื่อบริการ และไดเรกทอรีโปรเจกต์แล้ว

โฟลว์หกขั้นตอนจากการตรวจสอบเป้าหมาย การสอบสวนแบบอ่านอย่างเดียว การเสนอการเปลี่ยนแปลง การอนุมัติโดยมนุษย์ การดำเนินการ และการยอมรับการกู้คืน
ภาพประกอบกระบวนการแก้ปัญหา: อนุมัติการเปลี่ยนแปลงที่เฉพาะเจาะจง และตรวจสอบทั้ง health endpoint และคำขอของผู้ใช้จริงเมื่อกู้คืน

จำกัดขอบเขตการสอบสวนก่อน

สามารถเขียนงานได้ดังนี้:

สอบสวน 502 หลังการ release ของบริการทดสอบ ก่อนอื่นให้ตรวจสอบโฮสต์เป้าหมาย ผู้ใช้ และไดเรกทอรี จากนั้นตรวจแบบอ่านอย่างเดียวในบันทึกการ release ครั้งล่าสุด สถานะบริการที่เกี่ยวข้อง พอร์ตที่กำลัง listen และ log ของ proxy กับแอปในช่วงเวลาที่ระบุ ห้ามรีสตาร์ต แก้ config ติดตั้ง dependency หรือเข้าถึงสภาพแวดล้อมอื่น ส่งคืนเฉพาะส่วนที่ปิดข้อมูลอ่อนไหวแล้วซึ่งเกี่ยวข้องกับเหตุขัดข้องครั้งนี้ พร้อมระบุหลักฐาน สาเหตุที่เป็นไปได้ และข้อมูลใดที่ยังขาด

ให้ช่วงเวลาและแหล่งที่มาของ log ที่ชัดเจนก่อน เพื่อหลีกเลี่ยงไม่ให้ Agent ค้นทั้งเซิร์ฟเวอร์แบบเรียกซ้ำ การอ่านอย่างเดียวก็อาจรั่วข้อมูลได้: token ข้อมูลลูกค้า และเนื้อหาคำขอใน log ยังควรถูกกรองก่อนเข้าสู่บริบทของโมเดล ไม่ใช่ส่งออกไปแล้วให้โมเดล "ลืม"

502 บอกว่า proxy ไม่ได้รับคำตอบ upstream ที่ใช้งานได้ แต่การดูรหัสสถานะเพียงอย่างเดียวไม่สามารถบอกได้ว่าเป็นเพราะโปรเซสออก พอร์ตไม่ตรงกัน dependency ผิดปกติ หรือปัญหาการเชื่อมต่อ ให้ Agent เทียบที่อยู่ upstream ของ proxy การ listen จริง และ log ในช่วงเวลาเดียวกัน; log ข้ามเครื่องให้ปรับเขตเวลาให้ตรงกันก่อน อย่าถือว่า "เครื่องออนไลน์" คือ "แอปสุขภาพดี" และอย่าถือว่าการไม่มี log ที่ตรงกันหมายความว่าไม่มีข้อผิดพลาดเกิดขึ้น

ขอข้อเสนอการแก้ไขที่ตรวจทานได้

หากหลักฐานสนับสนุนว่า "พอร์ต upstream ใน config การ release ไม่ตรงกับการ listen จริง" ให้ Agent ส่งไฟล์ที่เฉพาะเจาะจงและ diff ที่น้อยที่สุด คำสั่งที่ตั้งใจจะรัน บริการทดสอบที่ได้รับผลกระทบ วิธีการตรวจ config และเงื่อนไข rollback นี่ก็ยังเป็นเพียงตัวอย่างที่มีเงื่อนไข; หากหลักฐานไม่สนับสนุน ให้สอบสวนต่อ

สิ่งที่อนุมัติควรเป็นการเปลี่ยนแปลงที่เฉพาะเจาะจง ไม่ใช่ "คุณจัดการได้ทั้งหมด" ตัวอย่างเช่น อนุมัติให้แก้ config ของ proxy ทดสอบที่ระบุ และให้ reload proxy ทดสอบนั้นหลังการตรวจ config ผ่าน; จะอัปเกรด dependency ล้างฐานข้อมูล แก้ config production หรือรีสตาร์ตทั้งโฮสต์ไปพร้อมกันไม่ได้ คำสั่งจริงต้องกำหนดตามตัวจัดการโปรเซสและระเบียบการ deploy ที่ใช้

ตรวจสอบเส้นทางของผู้ใช้หลังดำเนินการ

หลังอนุมัติและดำเนินการ การตรวจรับอย่างน้อยต้องครอบคลุม: การตรวจ config ผ่านหรือไม่ โปรเซสและพอร์ตที่เกี่ยวข้องตรงตามที่คาดหวังหรือไม่ health endpoint ปกติหรือไม่ และเมื่อเปิดคำขอทดสอบจริงผ่านจุดเข้าเดิมจากไคลเอนต์อิสระแล้วกลับมาปกติหรือไม่ หาก health endpoint ตอบ 200 แต่เส้นทางธุรกิจ การยืนยันตัวตน หรือคำขอฐานข้อมูลยังล้มเหลว จะเขียนว่า "แก้ไขปัญหาแล้ว" ไม่ได้

สุดท้ายให้ Agent สรุปคำสั่งที่รัน การเปลี่ยนแปลงจริง ผลการตรวจสอบ และความเสี่ยงที่ตกค้าง; รายการที่ยังไม่ได้ตรวจสอบให้เขียนว่าไม่ทราบอย่างชัดเจน ส่งสาเหตุที่ยืนยันแล้วและมาตรการป้องกันการเกิดซ้ำกลับไปยังระบบบันทึกของบริษัท ขั้นตอนสอบสวนใช้ AI SRE ช่วย และเมื่อนำการแก้ไขเข้า repository ของ config และกระบวนการ release ต่อไป ก็ขยายไปสู่ AI DevOps

ขั้นตอนที่ 7: หลังเครื่องเดียวผ่านแล้ว จึงเปลี่ยนแปลงเซิร์ฟเวอร์อื่นเป็นรอบ

การอนุญาตให้ตรวจเป็นชุดกับการเปลี่ยนแปลงเป็นชุดควรแยกจากกัน การพบว่าหลายบริการมีเวอร์ชันไม่ตรงกันไม่ได้หมายความว่าสามารถอัปเกรดทั้งหมดได้โดยตรง; บริการชื่อเดียวกันอาจมีบทบาทต่างกันหรือใช้ config ต่างกัน ให้ตรวจสอบก่อนว่าความแตกต่างเป็นไปตามที่คาดหวังหรือไม่ แล้วจึงเสนอแผนการเปลี่ยนแปลงที่ระบุทีละเป้าหมาย

รอบแรกให้เลือกเครื่องทดสอบที่ชัดเจนเพียงเครื่องเดียว ในแผนให้กำหนด alias เป้าหมาย ตัวตนโฮสต์ที่ตรวจสอบแล้ว เวอร์ชันหรือ config เดิม diff ที่จะแก้ไข ผลกระทบที่คาดหวัง วิธีการตรวจ ขั้นตอน rollback และเงื่อนไขหยุด หลังอนุมัติให้ดำเนินการกับเครื่องนี้เครื่องเดียว และรอตรวจรับ health endpoint กับเส้นทางของผู้ใช้จริง; หากไม่มีหลักฐานยืนยันการกู้คืน จะทำเครื่องหมายสถานะเป็นสำเร็จและไปยังรอบถัดไปไม่ได้

หลังการทดลองผ่านแล้ว จึงระบุรายชื่อเป้าหมาย ขนาดรอบ และขีดจำกัด concurrency ของรอบถัดไปให้ชัดเจน จะใช้ขอบเขตโดยนัยอย่าง "เครื่องที่เหลือทั้งหมด" ซึ่งเปลี่ยนตามรายการไม่ได้ เมื่อแต่ละรอบจบให้ตรวจสอบเวอร์ชันจริงและผลคำขอ บันทึกเป้าหมายที่สำเร็จ ล้มเหลว และยังไม่ได้ดำเนินการ หากพบตัวตนไม่ตรงกัน การตรวจ config ล้มเหลว คำขอธุรกิจเสื่อมลง หรือ rollback ล้มเหลว ให้หยุดรอบถัดไป เก็บหลักฐานส่งให้ผู้รับผิดชอบ; อย่าถือการอนุมัติในขั้นทดสอบเป็นการอนุมัติ production

rollback ก็ต้องกำหนดทีละเครื่อง การเปลี่ยนแปลง config สามารถกลับไปใช้ config ก่อนหน้าได้ตามวิธีที่อนุมัติแล้ว; เมื่อเกี่ยวข้องกับการย้ายฐานข้อมูล การเขียนข้อมูล หรือผลข้างเคียงของระบบภายนอก จะสมมติว่า "สลับกลับไปเวอร์ชันเก่า" แล้วย้อนผลกระทบได้ไม่ได้ ควรให้ผู้รับผิดชอบกำหนดแนวทางกู้คืนก่อน ให้ rollback เฉพาะเป้าหมายที่แก้ไขจริงและต้องกู้คืนเท่านั้น จะรันคำสั่งย้อนกลับแบบไม่เลือกปฏิบัติกับทั้งกลุ่มเครื่องไม่ได้

สามารถเขียนงานขั้นถัดไปได้ดังนี้:

จากหลักฐานการตรวจแต่ละเครื่องในครั้งนี้ ให้เสนอแผนแก้ไขสำหรับ test-web-01 เท่านั้นก่อน ยังไม่ต้องดำเนินการ ระบุตัวตนโฮสต์ที่ตรวจสอบแล้ว ความแตกต่างที่เฉพาะเจาะจง คำสั่งทั้งหมด ผลกระทบ ขั้นตอน rollback คำขอตรวจรับ และเงื่อนไขหยุด ต้องได้รับการอนุมัติอย่างชัดเจนสำหรับเครื่องนี้ก่อนจึงจะดำเนินการได้; เมื่อเสร็จให้แสดงหลักฐานจริงและรอการอนุญาตเป้าหมายในรอบถัดไป เครื่องที่ยังไม่ได้รับอนุมัติให้คงสถานะยังไม่ดำเนินการ กลุ่ม production ไม่อยู่ในขอบเขตครั้งนี้และไม่สามารถรับช่วงการอนุมัติจากการทดสอบได้

เมื่อทั้งการทดสอบและ production ต้องดำเนินการ production ให้ใช้กระบวนการเปลี่ยนแปลงของบริษัทแยกต่างหาก การมีจุดจัดการเดียวกันไม่ได้ขจัดความจำเป็นด้านการแยกสภาพแวดล้อม ช่วงเวลาบำรุงรักษา การอนุมัติ release หรือการตรวจสอบ

หลังมือถือตัดการเชื่อมต่อ ให้ยืนยันสถานะงานก่อน

การปิดไคลเอนต์ มือถือสลับไปเบื้องหลัง หรือเครือข่ายขาดหาย ไม่ควรถูกตีความว่าคำสั่งระยะไกลหยุดแล้ว โปรเซสบนเครื่องที่ใช้ดำเนินการอาจยังทำงานอยู่; หรืออาจล้มเหลวเพราะโฮสต์ออฟไลน์ เอนจินออก หรือช่องทางระยะไกลถูกจำกัด เมื่อกลับเข้าสู่เซสชันเดิม ให้ดูผลลัพธ์ของเครื่องมือก่อน แล้วจึงตรวจสอบโปรเซส สิ่งที่สร้างขึ้น และสถานะบริการ เพื่อหลีกเลี่ยงการเริ่มติดตั้ง release หรือ migration ซ้ำ

เส้นทางคำสั่งระยะไกลอาจเกิด "ไม่ส่งคืนสถานะ exit": การ timeout ที่ชั้นเชื่อมต่อไม่ได้หมายความว่าคำสั่งยังไม่เริ่ม งานยาวควรกำหนด timeout การบันทึกสถานะ และวิธีการยกเลิกให้ชัดเจนในช่องทางดำเนินการของบริษัท โดยเฉพาะเมื่อมีการ hop ผ่าน SSH หลายครั้ง บทความนี้ไม่ได้ถือค่า timeout ของช่องทางในเวอร์ชันใดเวอร์ชันหนึ่งเป็นกฎทั่วไปของเครื่องมือ SSH ทั้งหมด

เมื่อต้องหยุด ให้ใช้การดำเนินการหยุดที่ชัดเจนและตรวจสอบสถานะการดำเนินการฝั่งระยะไกล; หากเป็นการเปลี่ยนแปลงแบบไม่ idempotent ที่สถานะไม่ชัดเจน ควรให้มนุษย์เข้ามายืนยันก่อน อย่าตัดสินว่าครั้งก่อนสำเร็จหรือไม่โดยการคลิกซ้ำหรือส่งคำสั่งเดิมซ้ำ

การเชื่อมต่ออุปกรณ์ในบริษัทและที่บ้านเกี่ยวข้องกับบทความนี้อย่างไร?

บทความนี้สมมติว่าช่องทางเข้าถึงที่ได้รับอนุญาตจากเครื่องจัดการไปยังเซิร์ฟเวอร์แต่ละเครื่องมีอยู่แล้ว จุดเน้นคือ Agent จัดระเบียบงานตามเป้าหมายอย่างไร การที่อุปกรณ์หลายเครื่องในบริษัทและที่บ้านเชื่อมต่อเครือข่าย เข้าถึงกัน และจัดการขอบเขตเครือข่ายเป็นงานเชื่อมต่ออีกส่วนหนึ่ง ซึ่งไม่นำมาเขียนปนกันที่นี่; การเชื่อมต่อเครือข่ายสำเร็จก็ไม่ได้หมายความว่ามีสิทธิ์ดูแลอุปกรณ์ทั้งหมดในนั้น หากต้องการทำความเข้าใจการเชื่อมต่ออุปกรณ์ สามารถดู คำอธิบายการเชื่อมต่ออุปกรณ์ ที่มีอยู่ และปฏิบัติตามกระบวนการอนุมัติเครือข่ายของบริษัท

ขอบเขตข้อมูล โมเดล และการส่งต่อของบริษัท

"เครื่องมือรันบนเครื่องนี้" อธิบายตำแหน่งที่ใช้ดำเนินการ ไม่ได้รับประกันว่าข้อมูลจะไม่ออกจากบริษัทตลอดไป ข้อความในเซสชันและการอนุมัติผ่านช่องทางสื่อสารของผลิตภัณฑ์; log โค้ด และเอาต์พุตของเครื่องมือที่ให้ Agent อาจเข้าสู่คำขอไปยังผู้ให้บริการโมเดลที่เลือกด้วย ก่อนเชื่อมต่อให้ตรวจสอบโมเดล ข้อตกลงการประมวลผลข้อมูล การเก็บรักษา log และนโยบายการเข้าถึงที่บริษัทอนุมัติ

รักษากระบวนการจัดการกุญแจและการตรวจสอบที่มีอยู่ ให้อ่านข้อมูลรับรองจากระบบข้อมูลรับรองที่ได้รับอนุญาตบนเครื่องที่ใช้ดำเนินการ อย่าโพสต์ลงในบทสนทนาหรือ repository โค้ด จำกัดบัญชีที่ใช้รันและขอบเขตที่เข้าถึงได้ทางเครือข่าย ให้สิทธิ์ log และไดเรกทอรีตามความจำเป็น เมื่อพนักงานลาออก อุปกรณ์เลิกใช้ หรือสิทธิ์เปลี่ยน ให้จัดการการอนุญาตอุปกรณ์ในหน้าทำงาน บัญชีบนเครื่องที่ใช้ดำเนินการ และสิทธิ์เข้าถึงเซิร์ฟเวอร์เป้าหมายพร้อมกัน; การลบไคลเอนต์หนึ่งตัวไม่เท่ากับการเพิกถอนสิทธิ์ดำเนินการทั้งหมด

คำถามที่พบบ่อย (FAQ)

PandaSi สามารถอยู่เวรอัตโนมัติ รับการแจ้งเตือน และซ่อม production ได้หรือไม่?

บทความนี้พูดถึงเซสชันระยะไกล การดำเนินการที่ได้รับอนุญาต และกระบวนการติดตามโดยมนุษย์ การตรวจสอบตลอด 24 ชั่วโมง การเชื่อมต่อระบบแจ้งเตือน การทริกเกอร์อัตโนมัติ และการซ่อมแซมแบบไม่มีคนดูแล ต้องมีระบบตรวจสอบ ตัวทริกเกอร์ runbook และการกำกับสิทธิ์เพิ่มเติม ไม่สามารถสรุปจากความสำเร็จในการเชื่อมต่อว่าความสามารถเหล่านี้มีอยู่แล้ว

ถ้าเซิร์ฟเวอร์ของบริษัทติดตั้งซอฟต์แวร์ไม่ได้ ยังใช้ได้หรือไม่?

พิจารณาแนวทางเครื่องจัดการที่ได้รับอนุญาตได้ โดยมีเงื่อนไขว่าเครื่องจัดการมีสิทธิ์เครือข่ายและสิทธิ์ตัวตนตามกฎเพื่อเข้าถึงเป้าหมายอยู่แล้ว หากบริษัทห้ามการเชื่อมต่อ Agent ภายนอกประเภทนี้เช่นกัน ควรดำเนินการขออนุมัติก่อน ไม่ใช่เปลี่ยนไปใช้เส้นทางเชื่อมต่อที่ซ่อนเร้น

ต้องเปิดพอร์ต SSH สาธารณะบนเซิร์ฟเวอร์หรือไม่?

การเชื่อมต่อเซสชันของ PandaPaw ถูกสร้างโดยทั้งสองฝ่ายเป็น outbound เอง โดยปกติจึงไม่จำเป็นต้องเพิ่มพอร์ต inbound สาธารณะเพื่อให้ไคลเอนต์เชื่อมต่อ แต่เครื่องจัดการไปยังเซิร์ฟเวอร์เป้าหมายยังต้องมีช่องทางเข้าถึงที่บริษัทรับรอง; หาก outbound ถูกจำกัด ผู้ดูแลเครือข่ายควรเป็นผู้ตั้งค่า ไม่ควรปิดการป้องกันด้วยตนเอง

จำเป็นต้องติดตั้ง PandaPaw บนทุกเซิร์ฟเวอร์หรือไม่?

แนวทางเครื่องจัดการในบทความนี้ไม่กำหนดให้ทุกเป้าหมาย SSH ต้องติดตั้ง PandaPaw แต่เครื่องจัดการต้องมีช่องทางเครือข่ายและบัญชีระยะไกลที่ได้รับอนุญาต ส่วนแนวทางติดตั้งโดยตรงจะรัน Agent บนโฮสต์ที่เกี่ยวข้องและเชื่อมต่อแยกกัน อย่าสับสนทั้งสองแบบว่าเป็นความสามารถควบคุมแบบกลุ่มอัตโนมัติเดียวกัน

ถ้าการตรวจเครื่องหนึ่งล้มเหลว เครื่องอื่นยังดำเนินการต่อได้หรือไม่?

สำหรับการตรวจแบบอ่านอย่างเดียวที่ตรวจสอบตัวตนแล้วและเป็นอิสระต่อกัน สามารถเก็บหลักฐานความล้มเหลวของเป้าหมายนั้นแล้วดำเนินการต่อกับเป้าหมายอื่นได้; หากเกี่ยวข้องกับความล้มเหลวของการเข้าถึงร่วมหรือข้อสงสัยเรื่องเจ้าของสภาพแวดล้อม ควรหยุดทั้งชุด ในขั้นเปลี่ยนแปลงให้ดำเนินการตามเงื่อนไขหยุดที่อนุมัติแล้ว ไม่สามารถนำกฎ "การตรวจต่อได้" มาใช้แทน

หลังเชื่อมต่อแล้วควรตรวจรับอะไรก่อน?

ตรวจรับเครื่องจัดการ การตอบกลับของโมเดล และการกู้คืนเซสชันก่อน จากนั้นตรวจสอบตัวตน ไดเรกทอรี และสิทธิ์ของเป้าหมายทีละเครื่องตามรายการ ให้เสร็จการตรวจแบบอ่านอย่างเดียวและการสรุปผล แล้วจึงเดินกระบวนการอนุมัติ การตรวจรับด้วยคำขอจริง และการดำเนินการเป็นรอบถัดไปบนบริการทดสอบหนึ่งเครื่อง คุณค่าของการเชื่อมต่อคือทำให้งานที่ได้รับอนุญาตได้รับการติดตามอย่างต่อเนื่อง; จะเหมาะสมขยายไปยังบริการเพิ่มเติมหรือไม่ ควรตัดสินจากหลักฐานการตรวจรับครั้งนี้

แหล่งข้อมูลและขอบเขตการตรวจสอบ

ฉบับร่างแรกของบทความนี้ตรวจสอบเมื่อวันที่ 31 ตุลาคม 2026 โดยเทียบกับเริ่มต้นอย่างรวดเร็วของโปรเจกต์ เอกสารโฮสต์ PandaPaw ตรรกะการสร้างคำสั่งติดตั้งอุปกรณ์ และจุดดาวน์โหลดสคริปต์ติดตั้งสาธารณะ; วันที่ 1 พฤศจิกายนได้เพิ่มกระบวนการดำเนินการหลายเครื่อง และเทียบกับคู่มือทางการของ OpenSSH เพื่อตรวจสอบการตั้งค่าและความหมายของพารามิเตอร์ SSH ครั้งนี้ตรวจสอบตามเอกสารและซอร์สโค้ดปัจจุบันเท่านั้น ยังไม่ได้ติดตั้งและจับคู่ทดสอบจริงบนโฮสต์ที่สะอาด และยังไม่ได้ดำเนินการตรวจเป็นชุด การเปลี่ยนแปลงเป็นรอบ หรือตัวอย่าง 502 ในสภาพแวดล้อมหลายเครื่องจริง; เครือข่ายของแต่ละบริษัท การอนุมัติของเอนจิน และความสอดคล้องของข้อมูลต้องตรวจรับในสภาพแวดล้อมทดสอบของตนเอง ภาพประกอบทั้งหมดเป็นแนวคิดหรือแผนภาพกระบวนการที่สร้างโดย AI ไม่ใช่ภาพหน้าจอของอินเทอร์เฟซ

ทำอย่างไรให้ Claude Code เรียก Codex ใน PandaSi

ทำอย่างไรให้ Claude Code เรียก Codex ใน PandaSi

ในเซสชัน Claude Code ของ Panda Super Intelligence ให้ระบุ Codex ที่เชื่อมต่อแล้วเพื่อตรวจสอบหรือจัดการงานที่มีขอบเขต จากนั้นดูผลลัพธ์จากเซสชันเดิม บทความยังอธิบายการเรียกกลับและการดูความคืบหน้า

อ่านบทความ →
GPT-6 Astra ผ่านแคปต์ชาได้อย่างไร? ผ่านด่าน 'I'm Not a Robot'

GPT-6 Astra ผ่านแคปต์ชาได้อย่างไร? ผ่านด่าน 'I'm Not a Robot'

มีรายงานว่า GPT-6 Astra ผ่านครบ 48 ด่านของเกม CAPTCHA โดยไม่มีข้อผิดพลาด ซึ่งแสดงให้เห็นถึงความสามารถในการจดจำ ดำเนินการ และตรวจสอบยืนยันอย่างต่อเนื่อง คุณก็สามารถเชื่อมต่อเซสชัน Astra ของตัวเองผ่าน Panda Super Intelligence browser MCP และส่วนขยาย Chrome เพื่อลองใช้งานด้วยตนเองได้เช่นกัน บทความนี้มาพร้อมภาพหน้าจอจากการทดสอบจริง 4 ด่านแรกและขั้นตอนการแก้ไขข้อผิดพลาด

อ่านบทความ →
ไม่ต้องให้รหัสผ่าน ก็แชร์การสมัครใช้งาน ChatGPT ได้ไหม?

ไม่ต้องให้รหัสผ่าน ก็แชร์การสมัครใช้งาน ChatGPT ได้ไหม?

ด้วยการเชื่อมต่อ Codex ที่สามารถเพิกถอนได้ คุณสามารถแบ่งปันช่องทางเข้าใช้งานที่สนับสนุนโดยการสมัครสมาชิก ChatGPT Plus และ Pro ให้กับครอบครัวและเพื่อน ๆ โดยไม่ต้องมอบรหัสผ่าน หรือสามารถแชร์เซสชันผ่านลิงก์แบบอ่านอย่างเดียวก็ได้ บทความนี้อธิบายความแตกต่างระหว่างบัญชี โควตาการสมัครสมาชิก การควบคุมการเชื่อมต่อ และการดูเซสชัน รวมถึงขั้นตอนโดยละเอียดสำหรับการแบ่งปัน การยอมรับ และการเพิกถอน

อ่านบทความ →