การจัดการสุขภาพ WebSphere คืออะไร?

เผยแพร่แล้ว: 2015-02-14

เรียนรู้เกี่ยวกับ Health Management ใน IBM WebSphere Application Server และวิธีสร้างนโยบายสถานภาพ

การจัดการสุขภาพคืออะไร?

Health Management เป็นส่วนหนึ่งของ สภาพแวดล้อม WebSphere Virtual Enterprise ซึ่งรวมเข้ากับ WebSphere Application Server 8.5

WebSphere 8.5 ถูกรวมเข้ากับ นโยบายการปฏิบัติงาน ซึ่งใช้ประโยชน์จากนโยบายด้านสุขภาพ

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

การจัดการสุขภาพมีสององค์ประกอบ:

  1. ผู้ควบคุมสุขภาพ
  2. นโยบายด้านสุขภาพ

โหมดปฏิกิริยาคืออะไร?

นโยบายด้านสุขภาพรวมถึงภาวะสุขภาพที่คุณต้องการติดตามในสภาพแวดล้อมของคุณ จะตอบสนองเมื่อไม่ตรงตามข้อกำหนดที่คุณกำหนด

มีสองโหมดปฏิกิริยา

  1. โหมด อัตโนมัติ : ระบบจะดำเนินการเมื่อตรวจพบการละเมิดนโยบายด้านสุขภาพ

เช่น หากคุณกำหนดค่าให้ตรวจสอบการใช้หน่วยความจำและต้องการเริ่ม JVM ใหม่เมื่อมีการใช้งานข้อความ 85% ระบบจะรีสตาร์ท JVM เป้าหมายเมื่อขนาดฮีป JVM ถึง 85%

  1. โหมดภายใต้ การดูแล : ระบบจะสร้างงานรันไทม์เมื่อตรวจพบการละเมิดนโยบายด้านสุขภาพ สิ่งนี้ต้องการการแทรกแซงด้วยตนเองสำหรับผู้ดูแลระบบ WebSphere เพื่ออนุมัติหรือปฏิเสธการดำเนินการกับงานรันไทม์

ภาวะสุขภาพคืออะไร?

สภาวะสุขภาพคือออบเจ็กต์หรือเมตริกที่คุณต้องการตรวจสอบสภาพแวดล้อมของคุณ

มี สภาวะสุขภาพที่กำหนดไว้ล่วงหน้าแปด รายการใน WebSphere 8.5 คุณมีตัวเลือกในการสร้างสภาวะสุขภาพที่กำหนดเอง

  • เงื่อนไข ตามอายุ – เงื่อนไขนี้จะตรวจสอบ JVM ที่กำหนดและดำเนินการเมื่อถึงเกณฑ์อายุที่กำหนดค่าไว้

อดีต:

คุณสามารถกำหนดค่าเงื่อนไขนี้ให้รีสตาร์ท JVM ได้หากทำงานเป็นเวลา 15 วัน ค่าที่ยอมรับได้สำหรับสถานการณ์นี้คือวันหรือชั่วโมงดังที่แสดงด้านล่าง

เงื่อนไขตามอายุ

  • เงื่อนไข การหมดเวลาของคำขอที่มากเกินไป – เงื่อนไขนี้จะดำเนินการเมื่อเปอร์เซ็นต์การหมดเวลาของคำขอเกินค่าที่กำหนดไว้ ค่าที่ยอมรับได้เป็นเปอร์เซ็นต์ตามที่แสดงด้านล่าง

เกิน-ขอ-หมดเวลา

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

อดีต:

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

เกินเวลาตอบสนอง

  • เงื่อนไขหน่วยความจำ: การใช้หน่วยความจำมากเกินไป – ตรวจสอบการใช้หน่วยความจำของ JVM และดำเนินการหากเกินค่าเกณฑ์

อดีต:

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

หน่วยความจำเงื่อนไขการใช้งาน

  • สภาพหน่วยความจำ: หน่วยความจำรั่ว – จะค้นหาหน่วยความจำรั่วบน JVM และดำเนินการ

หน่วยความจำเงื่อนไขรั่ว

มีสามระดับการตรวจจับ

  1. เร็ว (สัญญาณเตือนที่ผิดพลาด)
  2. มาตรฐาน (สัญญาณเตือนที่ผิดพลาดบางอย่าง)
  3. ช้า (สัญญาณเตือนที่ผิดพลาดน้อยลง)
  • สภาพการ ระบายน้ำของพายุ – ตรวจสอบการลดลงอย่างมีนัยสำคัญของเวลาตอบสนองโดยเฉลี่ย และดำเนินการ เช่น สร้างดัมพ์เธรดและรีสตาร์ท JVM

สุขภาพ-นโยบาย-พายุ

มีระดับการตรวจจับสองระดับ

  1. มาตรฐาน (สัญญาณเตือนที่ผิดพลาดบางอย่าง)
  2. ช้า (สัญญาณเตือนที่ผิดพลาดน้อยลง)
  • เงื่อนไข ภาระงาน- เงื่อนไขนี้จะตรวจพบเมื่อ JVM ให้บริการคำขอตามจำนวนที่กำหนดค่าไว้

อดีต:

คุณสามารถกำหนดค่าให้รีสตาร์ท JVM ได้เมื่อให้บริการคำขอ 20000000 คำขอ

สุขภาพ-สภาพ-ภาระงาน

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

สุขภาพ-condition-gc

การดำเนินการด้านสุขภาพคืออะไร?

การดำเนินการด้านสุขภาพคือการดำเนินการตามนโยบายความสมบูรณ์เมื่อเกินขีดจำกัดที่กำหนดค่าไว้

มี การดำเนินการด้านสุขภาพที่กำหนดไว้ล่วงหน้าเจ็ดรายการ ใน WebSphere 8.5

สุขภาพ-action

  • รีสตาร์ทเซิร์ฟเวอร์- เพื่อรีสตาร์ท JVM
  • ทำการดัมพ์เธรด– เพื่อทำการดัมพ์เธรดของ JVM
  • นำ JVM ฮีปดัมพ์– เพื่อรับ JVM ฮีปดัมพ์
  • สร้างกับดัก SNMP- สร้างกับดัก SNMP สำหรับการแก้ไขปัญหา
  • วางเซิร์ฟเวอร์ในโหมดการบำรุงรักษา - หยุดคำขอไคลเอนต์ใหม่และให้บริการเฉพาะเซสชันที่ใช้งานอยู่
  • วางเซิร์ฟเวอร์ในโหมดการบำรุงรักษาและทำลายความสัมพันธ์ – หยุดเซสชันการดำเนินการใหม่และที่มีอยู่
  • ออกจากโหมดบำรุงรักษา – พร้อมรับคำขอใหม่

คุณมีตัวเลือกในการสร้างการดำเนินการด้านสุขภาพที่กำหนดเอง

จะสร้างนโยบายด้านสุขภาพได้อย่างไร?

นโยบายด้านสุขภาพสามารถสร้างขึ้นได้ในสี่ขั้นตอนง่ายๆ

  1. กำหนดคุณสมบัติทั่วไปของนโยบายสุขภาพ- ที่นี่เพื่อระบุชื่อกรมธรรม์และเลือกเงื่อนไขด้านสุขภาพ
  2. กำหนดคุณสมบัติเงื่อนไขด้านสุขภาพของนโยบายด้านสุขภาพ- ที่นี่เพื่อให้เกณฑ์ของสภาวะสุขภาพที่เลือกและกำหนดค่าการดำเนินการที่จำเป็นที่จะดำเนินการเมื่อภาวะสุขภาพละเมิด
  3. ระบุสมาชิกที่จะตรวจสอบ - เลือก JVM, Clusters, Dynamic clusters, on-demand routers หรือ Cell เป็นเป้าหมายของนโยบายด้านสุขภาพ
  4. ยืนยันการสร้างนโยบายด้านสุขภาพ- ตรวจสอบการกำหนดค่านโยบายด้านสุขภาพและยืนยันเพื่อสร้าง

มาร่วมกันสร้างนโยบายด้านสุขภาพอย่างหนึ่งดังนี้

  • ล็อกอินเข้าสู่ WebSphere 8.5 ND DMGR Console
  • คลิก นโยบายการดำเนินงาน >> นโยบายด้านสุขภาพ
  • คลิกใหม่
  • ระบุชื่อ – Test_Policy
  • เลือกสภาวะสุขภาพเป็นเงื่อนไขปริมาณงาน (เราสามารถทดสอบเงื่อนไขนี้ได้อย่างรวดเร็ว)
  • คลิกถัดไป
  • ป้อนคำขอทั้งหมดเป็น 1,000 เพื่อวัตถุประสงค์ในการทดสอบ
  • เลือกโหมดปฏิกิริยาเป็นอัตโนมัติ
  • เพิ่ม Action รีสตาร์ทเซิร์ฟเวอร์ และ Take thread dumps

สุขภาพ-นโยบาย-ภาระงาน

  • คลิกถัดไป
  • เลือกกรองตามเป็นเซิร์ฟเวอร์/โหนด
  • เพิ่ม server1 เป็นสมาชิกเป้าหมาย
  • คลิกถัดไป
  • ตรวจสอบการกำหนดค่าและคลิก เสร็จสิ้น

สุขภาพ-นโยบาย-บทสรุป

ตอนนี้ มาทดสอบโดยเข้าถึงแอปพลิเคชันที่ทำงานบน JVM เป้าหมาย (เซิร์ฟเวอร์1)

เมื่อ JVM ให้บริการ 1,000 คำขอ ก็ควรทำการดัมพ์เธรดและรีสตาร์ท คุณสามารถใช้ JMeter เพื่อโหลดเพื่อให้การทดสอบทำได้อย่างรวดเร็ว

ตัวควบคุมสุขภาพคืออะไร?

ผู้ควบคุมสุขภาพจะควบคุมนโยบายด้านสุขภาพและตรวจสอบระบบ ต้องเปิดใช้งานการตรวจสอบสุขภาพใน Health Controller เพื่อตรวจสอบนโยบาย

ตัวควบคุมความสมบูรณ์มีคุณสมบัติที่กำหนดค่าได้ เช่น ความถี่ที่ควรรันและบางครั้งเพื่อรีสตาร์ทเซิร์ฟเวอร์

ซึ่งจะทำให้คุณสามารถจำกัดการรีสตาร์ทเซิร์ฟเวอร์ในช่วงชั่วโมงเร่งด่วนของธุรกิจได้

เป้าหมายนโยบายสุขภาพคืออะไร?

เป้าหมายนโยบายสุขภาพหรือการดำเนินการอาจเป็นของ JVM, คลัสเตอร์, ไดนามิกคลัสเตอร์, เราเตอร์แบบออนดีมานด์ หรือเซลล์

ฉันหวังว่านี่จะช่วยให้เข้าใจดีขึ้น หากคุณสนใจที่จะเรียนรู้ DevOps ลองดูหลักสูตรพื้นฐานนี้