ทีละขั้นตอน: วิธีเรียก Trigger Alerts จาก Windows Performance Monitor
ทีละขั้นตอน: วิธีเรียก Trigger Alerts จาก Windows Performance Monitor
ทีละขั้นตอน: วิธีเรียก Trigger Alerts จาก Windows Performance Monitor
การแจ้งเตือนตัวนับประสิทธิภาพของ Windows สามารถกำหนดค่าให้เรียกใช้ตัวตรวจสอบประสิทธิภาพ (Perfmon) Counter ผ่านการใช้ชุดผู้รวบรวมข้อมูลที่กำหนดโดยผู้ใช้ อย่างไรก็ตามหากคุณต้องการรับการแจ้งเตือนทางอีเมลเมื่อมีการแจ้งเตือนคุณจะต้องใช้ Perfmon, Task Scheduler และ Powershell ที่ดี ทำตามขั้นตอนด้านล่างเพื่อเรียกใช้การแจ้งเตือนทางอีเมลจาก Windows Performance Monitor
ขั้นตอนที่ 1 – เขียนสคริปต์ Powershell
สิ่งแรกที่คุณต้องทำก็คือเขียนสคริปต์ Powershell ซึ่งเมื่อรันสามารถส่งอีเมลได้ ขณะที่ค้นคว้าสิ่งนี้ฉันค้นพบหลายวิธีเพื่อให้บรรลุภารกิจนี้ สิ่งที่ฉันกำลังจะแสดงให้คุณเห็นเป็นเพียงวิธีหนึ่ง แต่คุณสามารถทดลองและใช้สิ่งที่เหมาะสมกับสภาพแวดล้อมของคุณได้ ในห้องทดลองของฉันฉันไม่ได้ใช้เซิร์ฟเวอร์ SMTP ของตนเอง ฉันเขียนสคริปต์ที่สามารถใช้ประโยชน์จากบัญชี Gmail ของฉันได้ คุณจะเห็นในสคริปต์ Powershell ของฉันรหัสผ่านไปยังบัญชีอีเมลที่ตรวจสอบสิทธิ์กับเซิร์ฟเวอร์ SMTP อยู่ในรูปแบบข้อความล้วน หากคุณกังวลว่าบางคนอาจเข้าถึงสคริปต์ของคุณและค้นพบรหัสผ่านของคุณคุณจะต้องการเข้ารหัสข้อมูลรับรองของคุณ Gmail ต้องการและการเชื่อมต่อ SSL รหัสผ่านของคุณควรปลอดภัยบนสายเช่นเดียวกับโปรแกรมรับส่งอีเมลอื่น ๆ นี่คือตัวอย่างของสคริปต์ Powershell เมื่อใช้ร่วมกับ Task Scheduler และ Perfmon ร่วมกันสามารถส่งการแจ้งเตือนทางอีเมลโดยอัตโนมัติเมื่อมีการปฏิบัติตามเงื่อนไขข้อผิดพลาดของตัวนับของเกณฑ์ผู้ใช้ที่กำหนดไว้ ในสภาพแวดล้อมของฉันฉันตั้งค่านี้เป็น C: Alerts Alerts.ps1
$ counter = $ args [0] $ dtandtime = $ Args [1] $ ctr_value = $ args [2] $ threshold = $ args [3] $ value = $ Args [4] $ FileName = "$ env: computername" $ EmailFrom = "sios@medfordband.com" $ EmailTo = "dave@medfordband.com" $ Subject = "การแจ้งเตือนจาก $ FileName" $ body = "ข้อมูลและเวลาของการแจ้งเตือน: $ dtandtime`nPerfmon Counter: $ ctr_value`n ค่าเกณฑ์: $ threshold` nCurrent Value: $ value" $ SMTPServer = "smtp.gmail.com" $ SMTPClient = New-Object Net.Mail.SmtpClient ($ SmtpServer, 587) $ SMTPClient.EnableSsl = $ true $ SMTPClient.Credentials = New-Object System.Net.NetworkCredential ("sios@medfordband.com", "ChangeMe123"); $ SMTPClient.Send ($ EmailFrom, $ EmailTo, $ หัวเรื่อง, $ Body)
ตัวอย่างอีเมลที่สร้างขึ้นจากสคริปต์ Powershell นั้นมีลักษณะดังนี้ คุณอาจสังเกตเห็นว่าสคริปต์ Powershell นี้ใช้อาร์กิวเมนต์ทั้งสี่ข้อ นอกจากนี้ยังกำหนดให้ตัวแปรที่ใช้ในการส่งออก จะบันทึกชื่อคอมพิวเตอร์ให้เป็นตัวแปรที่ใช้เป็นส่วนหนึ่งของเอาท์พุท ด้วยการทำเช่นนี้สคริปต์สามารถใช้เพื่อส่งอีเมลไปยังตัวเตือน Perfmon Alert และเซิร์ฟเวอร์ใดก็ได้โดยไม่ต้องปรับแต่งเพิ่มเติม
ขั้นตอนที่ 2 – ตั้งค่างานที่กำหนดเวลาไว้
ใน Task Scheduler เราจะสร้างงานใหม่ตามที่แสดงในภาพหน้าจอต่อไปนี้ กำหนดชื่องานคุณจะต้องจดจำไว้สำหรับขั้นตอนต่อไป โปรดสังเกตว่าไม่มี Triggers ภารกิจนี้จะถูกเรียกใช้ผ่านการแจ้งเตือนเคาน์เตอร์ Perfmon ซึ่งเราจะตั้งค่าในขั้นตอนที่ 3 คุณต้องการกำหนดการกระทำใหม่ในแท็บการกระทำ การดำเนินการจะเป็นการเริ่มต้นโปรแกรมและใช้อินพุทต่อไปนี้ โปรดปรับเปลี่ยนสภาพแวดล้อมเฉพาะของคุณ โปรแกรมสคริปต์: C: Windows System32 WindowsPowerShell v1.0 powershell.exe เพิ่มอาร์กิวเมนต์: -File C: Alerts Alerts.ps1 $ (Arg0)
ขั้นที่ 3 – สร้างตัวนับประสิทธิภาพ
สร้างชุดเครื่องมือเก็บข้อมูลใหม่เพิ่มตัวนับประสิทธิภาพใด ๆ ที่คุณต้องการตรวจสอบและตั้งค่าเกณฑ์การแจ้งเตือน เมื่อคุณสร้าง Data Collector Set เข้าไปในคุณสมบัติของมันแล้วตรวจสอบให้แน่ใจว่าได้ตั้งค่า Alerting threshold และ Sample Interval ไว้อย่างถูกต้องสำหรับแต่ละ Performance Counter โปรดจำไว้ว่าถ้าคุณลองตัวอย่างทุกๆ 10 วินาทีคุณควรคาดหวังว่าจะได้รับอีเมลทุกๆ 10 วินาทีตราบใดที่ตัวนับประสิทธิภาพเกินเกณฑ์ที่คุณตั้งไว้ ถ้าคุณเลือกบันทึกรายการในแฟ้มบันทึกเหตุการณ์ของแอพลิเคชันไม่คาดว่าจะเห็นรายการใด ๆ ในแฟ้มบันทึกเหตุการณ์ของแอพลิเคชันปกติ จะถูกเขียนลงในบันทึกของ Microsoft-Windows-Diagnosis-PLA / Operational ในไดเร็กทอรีล็อกแอ็พพลิเคชันและบริการ จากนั้นเราจะต้องตั้งค่าภารกิจการแจ้งเตือนที่จะเรียกใช้ Task Scheduled (EmailAlert) ที่เราสร้างขึ้นในขั้นตอนที่ 2 คุณเห็นว่าเรายังผ่านบางส่วนของอาร์กิวเมนต์งานที่ใช้โดยสคริปต์ Powershell เพื่อกำหนดอีเมลที่มีเงื่อนไขข้อผิดพลาดที่แน่นอนที่เกี่ยวข้องกับการแจ้งเตือน เมื่อมีการกำหนดค่าตัวเก็บรวบรวมข้อมูลอย่างถูกต้องคุณจะต้องเริ่มต้น หากคุณกำหนดค่าทุกอย่างอย่างถูกต้องคุณควรเริ่มเห็นอีเมลทุกครั้งที่พบเกณฑ์การแจ้งเตือน ถ้าดูเหมือนว่าไม่ได้ผลให้ตรวจสอบสิ่งต่อไปนี้ …
- เรียกใช้สคริปต์ Powershell ด้วยตนเองเพื่อให้มั่นใจว่าใช้ได้ คุณอาจต้องตั้งค่าบางตัวแปรด้วยตนเองเพื่อวัตถุประสงค์ในการทดสอบ ในกรณีของฉันต้องใช้การปรับแต่งเล็กน้อยเพื่อให้สคริปต์ Powershell ทำงานได้ถูกต้องดังนั้นให้เริ่มต้นด้วย
- ตรวจสอบประวัติงานเพื่อให้แน่ใจว่า Alert Counter กำลังเรียกใช้ Task
- เรียกใช้งานด้วยตนเองและดูว่าจะเรียก Powershell หรือไม่
ขั้นที่ 4 – ตั้งค่าตัวนับประสิทธิภาพการทำงานให้โดยอัตโนมัติ
ถ้าคุณคิดว่าคุณพร้อมที่จะเรียกใช้การแจ้งเตือนทางอีเมลจาก Windows Performance Monitor คุณจะมีขั้นตอนอีกขั้นหนึ่ง เมื่อใดก็ตามที่คุณรีบูตเซิร์ฟเวอร์การแจ้งเตือนเคาน์เตอร์ Perfmon จะไม่เริ่มทำงานโดยอัตโนมัติ เพื่อให้สามารถรีบูตเครื่องได้คุณต้องรันคำสั่งต่อไปนี้ที่พรอมต์คำสั่ง หมายเหตุ "การแจ้งเตือน" ที่อ้างอิงในสคริปต์ด้านล่างคือชื่อของผู้ใช้ของฉันที่กำหนดไว้ชุดเครื่องเก็บข้อมูล
schtasks / create / tn การแจ้งเตือน / sc onstart / tr "logman start Alerts" / ru ระบบ
มีบางกรณีขอบที่คุณอาจต้องสร้าง Trigger อื่นเพื่อเริ่มชุด Data Collector ตัวอย่างเช่นเคาน์เตอร์ SIOS DataKeeper Perfmon เก็บเฉพาะข้อมูลจากแหล่งที่มาของกระจก ถ้าคุณพยายามเริ่มต้นชุดรวบรวมข้อมูลบนเซิร์ฟเวอร์เป้าหมายคุณจะเห็นว่าไม่ได้เริ่มทำงาน อย่างไรก็ตามหากกลุ่มของคุณล้มเหลวเหนือเป้าหมายเดิมตอนนี้จะกลายเป็นแหล่งที่มาของกระจกดังนั้นคุณจะต้องการเริ่มต้นการตรวจสอบเคาน์เตอร์ DataKeeper ในแหล่งที่มาใหม่ คุณสามารถสร้างทรัพยากรสคริปต์ทั่วไปของคลัสเตอร์ที่เริ่มต้นชุดตัวเก็บรวบรวมข้อมูลเมื่อมีการโอนย้ายข้อมูลล้มเหลว แต่เป็นหัวข้อสำหรับเวลาอื่น วิธีที่ง่ายกว่านี้เพื่อให้แน่ใจว่า Counter ทำงานอยู่ใน Source ใหม่คือการตั้งค่า Task Scheduled ที่ถูกทริกเกอร์โดย EventID ที่ระบุว่าเซิร์ฟเวอร์กำลังเป็นแหล่งที่มาของกระจก ในกรณีนี้ให้ตั้งค่าทริกเกอร์บนทั้งสองระบบเพื่อให้แต่ละครั้ง EventID 23 เกิดทริกเกอร์เรียกใช้ Logman เพื่อเริ่มชุด Data Collector ทุกครั้งที่เกิด failover เกิดขึ้น Event ID 23 จะถูกบันทึกลงในระบบใหม่เมื่อมันกลายเป็น source ดังนั้นชุด Data Collector จะเริ่มทำงานโดยอัตโนมัติ ตอนนี้คุณสามารถรับอีเมลแจ้งเตือนได้โดยตรงจากเซิร์ฟเวอร์ของคุณหากเคาน์เตอร์ Perfmon ใด ๆ ที่คุณสนใจจะเริ่มต้นจากมือ
คุณชอบอ่านวิธีการเรียกใช้การแจ้งเตือนทางอีเมลจากการตรวจสอบประสิทธิภาพของ Windows หรือไม่? คลิกที่นี่เพื่อหาข้อมูลเพิ่มเติม. ทำซ้ำโดยได้รับอนุญาตจาก Clusteringformeremortals.com