AutoChaos เป็นเครื่องมืออันทรงพลังที่ออกแบบมาเพื่อแทรกความวุ่นวายในระบบต่างๆ (คลัสเตอร์ kubernetes ในตอนนี้)
วัตถุประสงค์ของ AutoChaos คือการวิเคราะห์และจำลองความสับสนวุ่นวายในระบบ ช่วยให้องค์กรระบุช่องโหว่ ปัญหาคอขวด และจุดความล้มเหลวที่อาจเกิดขึ้น ด้วยการให้ระบบอยู่ภายใต้สถานการณ์ความวุ่นวายที่มีการควบคุม ธุรกิจต่างๆ จะได้รับข้อมูลเชิงลึกอันมีค่าเกี่ยวกับความยืดหยุ่นของตน และทำการตัดสินใจอย่างมีข้อมูลเพื่อปรับปรุง
AutoChaos ใช้ LLM เพื่อแทรกความสับสนวุ่นวายที่ควบคุมเข้าสู่ระบบ สามารถจำลองเหตุการณ์วุ่นวายต่างๆ เช่น การใช้งานที่เพิ่มขึ้นอย่างกะทันหัน ฮาร์ดแวร์ขัดข้อง การหยุดชะงักของเครือข่าย และอื่นๆ เครื่องมือจะวัดการตอบสนองของระบบต่อเหตุการณ์วุ่นวายเหล่านี้ และให้การวิเคราะห์โดยละเอียดและการแสดงภาพพฤติกรรมของระบบภายใต้ความเครียด
sudo apt update
sudo apt install python3.xx python3.xx-dev python3.xx-venv
1 - โคลนที่เก็บนี้
git clone https://github.com/nervousapps/AutoChaos.git
2 - ไปที่ไดเร็กทอรี repo
cd AutoChaos
3 - แนะนำให้ใช้ python venv เพื่อสร้างหนึ่งรายการในเทอร์มินัลของคุณ:
python3.xx -m venv autochaos
และเปิดใช้งานมัน
source ./autochaos/bin/activate
4 - ติดตั้งแพ็คเกจ AutoChaos และการอ้างอิงโดยดำเนินการ:
pip install -r ./python/requirements.txt
pip install ./python --no-deps
nano ./openai_key.txt
if local_ai_url :
# Change api url to LLM local tool one
openai . base_url = local_ai_url
openai . api_key = "sx-xxx"
else :
# Initialize openai api_key
with open ( "./openai_key.txt" , "r" ) as file :
openai . api_key = ( file . read ()). strip ()
# Systems
k8s_system = K8sSystem ( namespace )
locust_system = LocustSystem ()
# Load system description
initial_state = {
"system_resources" : k8s_system . describe (),
"api_routes" : api_routes ,
"availability_route" : availability_route ,
}
# It is time to do chaos !
chaos = Chaos ([ k8s_system , locust_system ], initial_state )
chaos . chaos ( objective = 10 )
chaos . report ()
# Write the result file
with open (
os . path . join ( f"autochaos.json" ), "w"
) as file :
file . write ( json . dumps ( chaos . messages , indent = 4 ))
ชื่อสิ่งแวดล้อม | คำอธิบาย | ค่าเริ่มต้น |
---|---|---|
K8S_CTX | บริบทของ K8 | ค่าเริ่มต้น |
คีย์ไฟล์ | เส้นทางไปยัง openai keyfile.txt | ./openai_key.txt |
เนมสเปซ | เนมสเปซที่จะทำให้เกิดความสับสนวุ่นวาย | ทั้งหมด |
ความพร้อมใช้งาน_ROUTE | เส้นทางเพื่อตรวจสอบความพร้อมใช้งานของระบบ | ไม่มี |
API_ROUTES | เส้นทางที่ระบบโลคัสท์จะทำการทดสอบโหลด ต้องอยู่ในรูปแบบ "/foo/hostname /bar/hostname" | - |
LOCAL_AI_URL | URL ของอินสแตนซ์ในเครื่องของ api ที่เข้ากันได้กับแพ็คเกจ openAi python | - |
MODEL_NAME | ชื่อรุ่นที่ต้องการใช้ | gpt-3.5-เทอร์โบ-16k |
NB_ITERATION | จำนวนการวนซ้ำเคออส | 5 |
ในตอนแรก การดำเนินการจะถูกกำหนดไว้ในพร้อมท์ของระบบ (chaos_engineer.txt) ดังตัวอย่างต่อไปนี้:
- DESCRIBE : this action must be used to see the system state during chaos, no arguments required, use it after chaos has begun
- KILL : this action must be used to kill a process, a task, a pod, a node of anything in the system, you have to indicate in this order: the type, the name and the namespace of resource to kill (for example KILL pod kop-123 namespace_1), no talking, no comments
LLM (ทำหน้าที่เป็นวิศวกรความสับสนวุ่นวาย) จะเลือกหนึ่งในการกระทำที่กำหนดไว้และขอให้ดำเนินการด้วยอาร์กิวเมนต์ที่เกี่ยวข้อง คำตอบอาจเป็นเช่น:
KILL pod kop-123 namespace_1
ตัวจัดการสำหรับการดำเนินการที่กำหนดไว้ต้องถูกนำไปใช้ในคลาสระบบที่สืบทอดมาจาก auto_chaos.chaos.BaseSystem คลาส BaseSytem นี้กำหนดวิธีการ do_action ที่จะวิเคราะห์การตอบสนองของวิศวกร chaos และเรียกตัวจัดการที่เกี่ยวข้อง หากมี มิฉะนั้นจะเรียกตัวจัดการ defaut
เครื่องมือ AutoChaos ให้ผลลัพธ์ที่แม่นยำและมีรายละเอียดเกี่ยวกับพฤติกรรมของระบบในระหว่างเหตุการณ์วุ่นวาย การวิเคราะห์ประกอบด้วยตัวชี้วัด เช่น เวลาตอบสนอง อัตราข้อผิดพลาด การใช้ทรัพยากร และความเสถียรของระบบ การแสดงภาพ เช่น แผนภูมิและกราฟ ยังถูกสร้างขึ้นเพื่อช่วยให้เห็นภาพข้อมูลและระบุรูปแบบหรือความผิดปกติ ด้วยการวิเคราะห์ผลลัพธ์ ธุรกิจต่างๆ สามารถระบุจุดอ่อนที่อาจเกิดขึ้น และใช้มาตรการเชิงรุกเพื่อปรับปรุงความยืดหยุ่นและประสิทธิภาพของระบบ
AutoChaos เป็นเครื่องมือที่ทรงพลังสำหรับการวิเคราะห์ความสับสนวุ่นวายในระบบ ช่วยให้ธุรกิจได้รับข้อมูลเชิงลึกที่มีคุณค่าเกี่ยวกับความยืดหยุ่นและจุดอ่อนของพวกเขา ด้วยการจำลองเหตุการณ์ความวุ่นวายและการวิเคราะห์การตอบสนองของระบบ องค์กรต่างๆ จึงสามารถตัดสินใจโดยใช้ข้อมูลและดำเนินการเชิงรุกเพื่อปรับปรุงความแข็งแกร่งของระบบได้ ติดตั้ง AutoChaos วันนี้และทำความเข้าใจพฤติกรรมของระบบของคุณภายใต้ความเครียดให้ลึกซึ้งยิ่งขึ้น
นี่ไม่ใช่ผลิตภัณฑ์ OpenAI อย่างเป็นทางการ นี่เป็นโครงการส่วนบุคคลและไม่มีส่วนเกี่ยวข้องกับ OpenAI แต่อย่างใด
สีดำ
ใบอนุญาตเอ็มไอที