ในโค้ดแล็บนี้ คุณจะได้เรียนรู้วิธีเริ่มต้นใช้งาน Stackdriver เพื่อตรวจสอบและตรวจสอบเมตริกและบันทึกประสิทธิภาพสำหรับบริการและ VM ของ Google Cloud Platform
ใน Codelab นี้ คุณจะได้ทำสิ่งต่อไปนี้
- ทำความคุ้นเคยกับหน้าแรกของ Stackdriver
- ทําความเข้าใจแดชบอร์ดและแผนภูมิ
- สร้างการตรวจสอบระยะเวลาทำงาน
- สร้างนโยบายการแจ้งเตือนอย่างง่าย
- ทำงานกับเหตุการณ์การแจ้งเตือน
- ไปยังส่วนต่างๆ ของผู้ดูบันทึก
คุณมีประสบการณ์การใช้งาน Stackdriver อย่างไร
การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง
หากยังไม่มีบัญชี Google (Gmail หรือ Google Apps) คุณต้องสร้างบัญชี
ลงชื่อเข้าใช้คอนโซล Google Cloud Platform (console.developers.google.com) แล้วสร้างโปรเจ็กต์ใหม่โดยทำดังนี้
โปรดจดจำรหัสโปรเจ็กต์ ซึ่งเป็นชื่อที่ไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมด ซึ่งจะเรียกว่า PROJECT_ID
ในภายหลังใน Codelab นี้
สำคัญมาก - ไปที่หน้า Compute Engine เพื่อเริ่มเปิดใช้ Compute Engine API
จากนั้นไปที่ Compute → Compute Engine → อินสแตนซ์ VM
เมื่อทำเช่นนี้เป็นครั้งแรก คุณจะเห็นหน้าจอที่มีข้อความ "Compute Engine กำลังเตรียมพร้อม ซึ่งอาจใช้เวลาอย่างน้อย 1 นาที" คุณยังคงเข้าสู่ระบบ Google Cloud Shell ด้านล่างได้ แต่จะสร้าง VM ไม่ได้จนกว่าการดำเนินการนี้จะเสร็จสมบูรณ์
คุณจะทำงานส่วนใหญ่จาก Google Cloud Shell ซึ่ง เป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์ เครื่องเสมือนที่ใช้ Debian นี้มาพร้อมเครื่องมือพัฒนาทั้งหมดที่คุณต้องการ และมีไดเรกทอรีหน้าแรกขนาด 5 GB ที่คงอยู่ถาวร เปิด Google Cloud Shell โดยคลิกไอคอนที่ด้านขวาบนของหน้าจอ
สุดท้าย ให้ใช้ Cloud Shell เพื่อตั้งค่าเริ่มต้นของโซนและการกำหนดค่าโปรเจ็กต์
$ gcloud config set compute/zone us-central1-b $ gcloud config set compute/region us-central
คุณยังเลือกโซนต่างๆ ได้ด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับโซนได้ในเอกสารประกอบเกี่ยวกับภูมิภาคและโซน
ในส่วนนี้ คุณจะได้สร้างอินสแตนซ์ Compute Engine ที่เรียกใช้ nginx+ โดยใช้ Cloud Launcher เราจะต้องใช้อินสแตนซ์เหล่านี้เพื่อสาธิตการตรวจสอบและการแจ้งเตือน คุณสร้างอินสแตนซ์ Compute Engine ได้จากคอนโซลกราฟิกหรือจากบรรทัดคำสั่ง แล็บนี้จะแนะนำบรรทัดคำสั่งให้คุณ
มาเริ่มกันเลย
ใช้ gcloud เพื่อตั้งค่ารหัสโปรเจ็กต์
$ gcloud config set project PROJECT_ID
จากนั้นให้คัดลอกและวางข้อความนี้ตามที่แสดง
$ for i in {1..3}; do \ gcloud compute instances create "nginx-plus-$i" \ --machine-type "n1-standard-1" \ --metadata "google-cloud-marketplace-solution-key=nginx-public:nginx-plus" \ --maintenance-policy "MIGRATE" --scopes default="https://www.googleapis.com/auth/cloud-platform" \ --tags "http-server","google-cloud-marketplace" \ --image "https://www.googleapis.com/compute/v1/projects/nginx-public/global/images/nginx-plus-ubuntu1404-v20150916-final" \ --boot-disk-size "10" --boot-disk-type "pd-standard" \ --boot-disk-device-name "nginx-plus-$i"; done
คุณจะเห็นข้อความเตือนเกี่ยวกับขนาดดิสก์ จากนั้นจะเห็นเอาต์พุตต่อไปนี้เมื่อสร้าง VM แต่ละรายการ
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS nginx-plus-1 us-central1-b n1-standard-2 X.X.X.X X.X.X.X RUNNING ...
จด EXTERNAL_IP
ไว้ ซึ่งจะมีความสำคัญในภายหลัง
การดำเนินการเหล่านี้อาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์
โดยค่าเริ่มต้น Google Cloud Platform จะอนุญาตการเข้าถึงพอร์ตเพียงไม่กี่พอร์ตเท่านั้น เนื่องจากเราจะเข้าถึง Nginx ในเร็วๆ นี้ เราจึงมาเปิดใช้พอร์ต 80 ในการกำหนดค่าไฟร์วอลล์กัน
$ gcloud compute firewall-rules create allow-80 --allow tcp:80 --target-tags "http-server" Created [...]. NAME NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS allow-80 default 0.0.0.0/0 tcp:80 http-server
การดำเนินการนี้จะสร้างกฎไฟร์วอลล์ชื่อ allow-80 ซึ่งมีค่าเริ่มต้นต่อไปนี้
- ระบบจะตั้งค่ารายการบล็อกที่อยู่ IP ที่ได้รับอนุญาตให้สร้างการเชื่อมต่อขาเข้า (
--source-ranges
) เป็น0.0.0.0/0
(ทุกที่) - รายการแท็กของอินสแตนซ์ที่ระบุชุดอินสแตนซ์ในเครือข่ายที่อาจยอมรับการเชื่อมต่อขาเข้าจะตั้งค่าเป็น "ไม่มี" ซึ่งหมายความว่ากฎไฟร์วอลล์ใช้ได้กับอินสแตนซ์ทั้งหมด
เรียกใช้ gcloud compute firewall-rules create --help
เพื่อดูค่าเริ่มต้นทั้งหมด
หลังจากสร้างอินสแตนซ์แรกแล้ว คุณสามารถทดสอบว่า nginx ทำงานและเข้าถึงได้หรือไม่โดยไปที่ http://EXTERNAL_IP/ ซึ่ง EXTERNAL_IP
คือ IP สาธารณะของ nginx-plus-1 และคุณควรจะเห็นหน้า Nginx ดังนี้
นอกจากนี้ คุณยังดูอินสแตนซ์ที่ทำงานได้โดยพิมพ์คำสั่งต่อไปนี้
$ gcloud compute instances list
Google Stackdriver เป็นโซลูชันการตรวจสอบที่มีประสิทธิภาพซึ่งผสานรวมเครื่องมือต่างๆ เพื่ออำนวยความสะดวกในการตรวจสอบและวิเคราะห์แอปพลิเคชันที่ขับเคลื่อนด้วยระบบคลาวด์ คุณสามารถใช้ Stackdriver เพื่อดูเมตริกประสิทธิภาพ ตั้งค่าและรับการแจ้งเตือน เพิ่มแดชบอร์ดและเมตริกที่กำหนดเอง ดูบันทึกและร่องรอย รวมถึงตั้งค่าแดชบอร์ดแบบผสานรวมได้จากที่เดียว
ขั้นตอนถัดไปจะแนะนำวิธีเปิดใช้ Stackdriver และการทำงานกับคอนโซล
โดยค่าเริ่มต้น Google Stackdriver ปัจจุบันอยู่ในเวอร์ชันเบต้าและไม่ได้เปิดใช้สำหรับโปรเจ็กต์ใหม่ หากต้องการเปิดใช้ ให้ไปที่แถบนำทางด้านซ้ายแล้วคลิก "การตรวจสอบ" (อาจต้องเลื่อนลงเพื่อค้นหา)
ในหน้าจอถัดไป ให้คลิก "เปิดใช้การตรวจสอบ" แล้วรอสักครู่เพื่อให้ระบบเปิดใช้
เมื่อเปิดใช้แล้ว เนื้อหาจะเปลี่ยนไปและคุณจะเห็นข้อความด้านล่าง คลิก "ไปที่การตรวจสอบ" เพื่อเริ่มสำรวจ คุณจะต้องเข้าสู่ระบบด้วย Google จากนั้นระบบจะนำคุณไปยังคอนโซล Stackdriver สำหรับโปรเจ็กต์ ซึ่งเป็นที่ที่คุณจะดำเนินการและวิเคราะห์งานที่เกี่ยวข้องกับการตรวจสอบ
มาทำความคุ้นเคยกับหน้าแรกกัน
- เมนูด้านบน: ใช้เพื่อเลือกมุมมอง / บริบทต่างๆ และเข้าถึงการดำเนินการ Stackdriver ที่พร้อมใช้งานทั้งหมด
- แดชบอร์ด: แดชบอร์ดเหล่านี้เป็นแดชบอร์ดของเมตริกและเหตุการณ์ที่กำลังตรวจสอบ ในตอนแรก แดชบอร์ดเหล่านี้จะเป็นแดชบอร์ดของระบบที่กำหนดไว้ล่วงหน้าโดยอิงตามทรัพยากรในโปรเจ็กต์ แต่คุณก็สามารถสร้างแดชบอร์ดที่กำหนดเองได้เช่นกัน
- การตรวจสอบเวลาทำงาน: ตรวจสอบทรัพยากรที่ผู้ใช้มองเห็นเป็นระยะๆ เพื่อดูความพร้อมใช้งาน และเปิดใช้การแจ้งเตือนเมื่อทรัพยากรเหล่านี้ไม่พร้อมใช้งาน
- รายการกลุ่ม: ใช้กลุ่มเพื่อจัดกลุ่มทรัพยากรที่มีพร็อพเพอร์ตี้และลักษณะที่ใช้ร่วมกัน เพื่อให้จัดการเป็นกลุ่มหรือคลัสเตอร์สำหรับงานต่างๆ เช่น การตรวจสอบและการแจ้งเตือนได้ ซึ่งอาจเป็นรายการที่ค้นพบโดยอัตโนมัติหรือผู้ใช้กำหนดเองก็ได้
- บานหน้าต่างเหตุการณ์: บานหน้าต่างเหตุการณ์จะติดตามเหตุการณ์การแจ้งเตือน คุณจะไม่เห็นอะไรที่นี่จนกว่าจะกำหนดนโยบายการแจ้งเตือน
- บันทึกเหตุการณ์: แสดงเหตุการณ์ที่เกี่ยวข้องกับทรัพยากรที่ตรวจสอบ เช่น การเปลี่ยนแปลงอินสแตนซ์ เหตุการณ์ที่เกิดจากเหตุการณ์ ฯลฯ
ก่อนที่เราจะพิจารณาแผนภูมิ คุณจะเห็นว่าเส้นส่วนใหญ่แบนราบหลังจากเริ่มต้นอินสแตนซ์ครั้งแรก มาดูกันว่าเราจะ "ยกเลิกการแบน" บางรายการได้ไหมโดยการสร้างภาระงานในอินสแตนซ์ใดอินสแตนซ์หนึ่ง
วิธี SSH ไปยังอินสแตนซ์จากบรรทัดคำสั่ง Cloud Shell
$ gcloud compute ssh nginx-plus-1 ... Do you want to continue (Y/n)? Y ... Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): [Hit Enter] Enter same passphrase again: [Hit Enter] ... yourusername@nginx-plus-1:~$
เท่านี้ก็เรียบร้อย ง่ายมาก (ในเวอร์ชันที่ใช้งานจริง ให้ป้อนรหัสผ่าน) นอกจากนี้ โปรดทราบว่าระบบอาจไม่แจ้งให้คุณเพิ่มรหัสผ่าน
หรือคุณจะใช้ SSH เพื่อเข้าถึงอินสแตนซ์จากคอนโซลโดยตรงได้ด้วย โดยไปที่ Compute Engine > อินสแตนซ์ VM แล้วคลิก SSH
In the SSH window, type:
yourusername@nginx-plus-1:~$ sudo apt-get install rand yourusername@nginx-plus-1:~$ for i in {1..10}; do dd if=/dev/zero of=/dev/null count=$(rand -M 80)M; sleep 60; done &
ตอนนี้ระบบกำลังโหลด CPU ของอินสแตนซ์ nginx-plus-1 เราสามารถกลับไปที่แท็บแดชบอร์ด Stackdriver และเริ่มสำรวจได้ แต่ก่อนที่จะกลับไปที่หน้าแดชบอร์ด Stackdriver เรามาใช้โอกาสนี้ติดตั้งเอเจนต์ Cloud Logging กัน
Fetch and install the script:
yourusername@nginx-plus-1:~$ curl -sS https://dl.google.com/cloudagents/add-logging-agent-repo.sh | sudo bash /dev/stdin --also-install
โปรดทราบว่าเมื่อติดตั้งในเวอร์ชันที่ใช้งานจริง ให้ตรวจสอบแฮช SHA-256 ดูข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการติดตั้งได้ที่นี่
ตอนนี้ได้เวลากลับไปที่คอนโซล Google Stackdriver แล้ว
โปรดสละเวลาทำความคุ้นเคยกับการไปยังส่วนต่างๆ และการใช้แดชบอร์ดและแผนภูมิ ใช้เมาส์วางเหนือเส้นแผนภูมิเพื่อดูว่าจะเกิดอะไรขึ้น เปลี่ยนระยะเวลาสำหรับแผนภูมิ (ตัวควบคุมอยู่ที่มุมขวาบน) คุณกลับไปที่มุมมอง "หน้าแรก" ได้ทุกเมื่อโดยคลิกโลโก้ Stackdriver ที่มุมซ้ายบนของคอนโซล
มาดูกราฟการใช้งาน CPU กัน
องค์ประกอบบางอย่างในแผนภูมิมีดังนี้
- เส้นที่ไฮไลต์คือเมตริกที่เลือกอยู่ในปัจจุบัน (แผนภูมิแสดงเมตริกได้หลายรายการ)
- เส้นแนวนอนสีเทาแสดงจุดในเวลาที่วางเมาส์
- ที่ด้านล่างคือชื่อของทรัพยากรพร้อมกับค่า ณ จุดเวลาที่เลือก
- ที่ด้านบนของแผนภูมิจะมีจุดสีซึ่งแสดงถึงเหตุการณ์ที่มีรายละเอียดในบันทึกเหตุการณ์ คุณสามารถคลิกที่รายการเหล่านี้เพื่อดูรายการเหตุการณ์ หมายเหตุ: คุณอาจไม่เห็นกิจกรรมใดๆ หากยังไม่มีกิจกรรม
- ที่ด้านขวาบนของแผนภูมิจะมีตัวควบคุม 3 รายการ (จากซ้ายไปขวา) ดังนี้
- สลับซ่อน/แสดงรายการเมตริกใต้แผนภูมิ
- สลับระหว่างโหมดเต็มหน้าจอกับโหมดธรรมดา
- เมนูที่มีฟีเจอร์ต่างๆ (คุณต้องลองใช้โหมดเอกซเรย์เมื่อมีแผนภูมิที่ซับซ้อนมาก) โปรดสังเกตตัวเลือก "ดูบันทึก" ซึ่งเราจะพูดถึงในภายหลัง
การตรวจสอบเวลาทํางานช่วยให้คุณยืนยันสถานะของหน้าเว็บ อินสแตนซ์ หรือกลุ่มทรัพยากรได้อย่างรวดเร็ว ระบบจะติดต่อการตรวจสอบที่กำหนดค่าแต่ละรายการเป็นประจำจากสถานที่ต่างๆ ทั่วโลก คุณใช้การตรวจสอบระยะเวลาทำงานเป็นเงื่อนไขในคำจำกัดความนโยบายการแจ้งเตือนได้
คุณแสดงการตรวจสอบและสถานะได้โดยเลือกการแจ้งเตือน > การตรวจสอบระยะเวลาทำงานในเมนูด้านบน นอกจากนี้ คุณยังจะเห็นส่วนการตรวจสอบเวลาทำงานในแดชบอร์ด Google Stackdriver และในหน้าเว็บที่อุทิศให้กับทรัพยากรที่เฉพาะเจาะจง สำหรับการตรวจสอบระยะเวลาทำงานที่ครอบคลุมกลุ่มทรัพยากร คุณสามารถขยายการตรวจสอบเพื่อแสดงสถานะของสมาชิกแต่ละรายในกลุ่มได้
มาสร้างการตรวจสอบระยะเวลาทำงานกัน ค้นหาวิดเจ็ตการตรวจสอบช่วงเวลาที่ระบบทำงานในหน้าจอหลักของ Stackdriver
ป๊อปอัปใหม่จะปรากฏขึ้น เราสามารถกำหนดค่าการตรวจสอบเวลาทำงานสำหรับทรัพยากรเดียวหรือกลุ่มทรัพยากร ใช้ประโยชน์จากส่วนหัวและเพย์โหลดที่กำหนดเอง เพิ่มการตรวจสอบสิทธิ์ และตัวเลือกอื่นๆ ตอนนี้เราจะใช้การตรวจสอบ HTTP เริ่มต้นที่จะตรวจสอบกลุ่ม Nginx ที่สร้างขึ้นโดยอัตโนมัติทุกๆ 1 นาที
ใช้ภาพหน้าจอด้านล่างเพื่อกรอกตัวเลือกต่างๆ
คลิกปุ่ม "ทดสอบ" เพื่อให้แน่ใจว่าเข้าถึงปลายทางได้ (คุณควรได้รับ "ตกลง" สีเขียว 3 รายการ) แล้วคลิกบันทึก หมายเหตุ: หากไม่ได้รับการตอบกลับว่า "ตกลง" คุณก็ยังสามารถดำเนินการต่อในแล็บได้ เนื่องจากอาจเป็นเพียงปัญหาเรื่องเวลาในการทดสอบ
จากนั้นคุณจะเห็นช่อง "สร้างการตรวจสอบเวลาทำงานแล้ว" และระบบจะถามว่าคุณต้องการสร้างนโยบายการแจ้งเตือนสำหรับการตรวจสอบนี้หรือไม่ เราจะทำในส่วนถัดไป อย่าคลิกอะไรตอนนี้
คุณสามารถตั้งค่านโยบายการแจ้งเตือนเพื่อกำหนดเงื่อนไขที่ระบุว่าบริการและแพลตฟอร์มระบบคลาวด์ทำงานตามปกติหรือไม่ Cloud Monitoring มีเมตริกและการตรวจสอบสถานะหลายประเภทที่คุณใช้ในนโยบายได้
เมื่อมีการละเมิดเงื่อนไขของนโยบายการแจ้งเตือน ระบบจะสร้างเหตุการณ์และแสดงในคอนโซล Stackdriver ในส่วนเหตุการณ์ ผู้ตอบสามารถรับทราบการแจ้งเตือนและปิดเหตุการณ์ได้เมื่อได้รับการจัดการแล้ว
คลิก "สร้างนโยบายการแจ้งเตือน" แล้วไปกำหนดค่านโยบายกัน
ตอนนี้คุณควรเห็นหน้าจอนี้
ป้อนชื่อนโยบาย "การตรวจสอบระยะเวลาทำงานสำหรับกลุ่ม nginx"
ตอนนี้ในส่วนวิธีการแจ้งเตือน ให้คลิก "เพิ่มการแจ้งเตือน"
ป้อนอีเมลที่เชื่อมโยงกับบัญชี Google Cloud เลื่อนไปที่ด้านล่างของหน้าจอ แล้วคลิก "บันทึกนโยบาย"
กลับไปที่หน้าแรกของ Stackdriver (โดยคลิกโลโก้ที่มุมซ้ายบน)
ตอนนี้คุณควรเห็นการตรวจสอบระยะเวลาทำงานที่สร้างไว้ในส่วนการตรวจสอบระยะเวลาทำงานของแดชบอร์ด ตอนนี้สถานะควรเป็นสีเขียว
เลื่อนลงไปที่บันทึกเหตุการณ์ แล้วคุณจะเห็นเหตุการณ์ที่สร้างนโยบายการแจ้งเตือน
ตอนนี้มาสร้างปัญหาเล็กๆ กัน :)
มาดูกันว่าเกิดอะไรขึ้นเมื่อเราหยุดบริการ Nginx
SSH ไปยังอินสแตนซ์อีกครั้งจากบรรทัดคำสั่ง Cloud Shell
$ gcloud compute ssh nginx-plus-1
แล้วพิมพ์ว่า
yourusername@nginx-plus-1:~$ sudo service nginx stop
ตอนนี้การตรวจสอบระยะเวลาทำงานที่เราสร้างขึ้นควรจะล้มเหลว ด้วยเหตุนี้ ระบบจะสร้างเหตุการณ์และส่งอีเมลแจ้งเตือนไปยังที่อยู่ที่คุณป้อนไว้ด้านบน ระบบจะใช้เวลา 1 นาทีในการตรวจพบเงื่อนไข (อย่าลืมระยะเวลา 1 นาทีเมื่อตั้งค่าการตรวจสอบเวลาทำงาน) ดังนั้นเรามาดูหน้ากลุ่ม nginx กัน
คุณไปยังแดชบอร์ดของกลุ่มทรัพยากรที่ต้องการได้หลายวิธี ดังนี้
- คุณคลิกชื่อกลุ่มได้ในหน้าแรก ซึ่งจะเปลี่ยนไปใช้แดชบอร์ดที่สร้างขึ้นเพื่อตรวจสอบทรัพยากรของกลุ่มโดยเฉพาะ คุณยังปรับแต่งแดชบอร์ดนี้ได้ด้วย
- จากเมนูระดับบนสุด ให้เลือกกลุ่ม แล้วค้นหากลุ่มที่ต้องการ
ตอนนี้ ให้คลิกปุ่มรีเฟรชอัตโนมัติเพื่อให้ระบบรีเฟรชแดชบอร์ดโดยอัตโนมัติ ไอคอนจะเปลี่ยนเป็นสีแดง
ตอนนี้คุณกำลังดูแดชบอร์ดที่เฉพาะเจาะจงสำหรับกลุ่ม nginx ที่สร้างขึ้นโดยอัตโนมัติ ทางด้านขวามือมีกราฟของเมตริกหลักหลายรายการที่เกี่ยวข้องกับกลุ่ม กล่าวคือ กราฟเหล่านี้แสดงเมตริกที่เกี่ยวข้องกับทรัพยากรทั้งหมดในกลุ่ม nginx (VM 3 รายการที่ใช้ nginx+ ที่เราสร้างขึ้นก่อนหน้านี้)
ทางด้านซ้าย คุณจะเห็นข้อมูลต่างๆ ที่เกี่ยวข้องกับกลุ่ม ดังนี้
- สถานะเหตุการณ์
- การตรวจสอบระยะเวลาทำงาน
- บันทึกเหตุการณ์
- รายการทรัพยากร (อินสแตนซ์ วอลุ่ม ฯลฯ)
โปรดทราบว่าข้อมูลเหล่านี้เกี่ยวข้องกับกลุ่มเท่านั้น ดังนั้นบันทึกเหตุการณ์จึงแสดงเฉพาะเหตุการณ์ของกลุ่ม
คุณคลิกแหล่งข้อมูลหรือกลุ่มย่อยต่างๆ เพื่อเปลี่ยนไปที่แดชบอร์ดของแหล่งข้อมูลหรือกลุ่มย่อยนั้นๆ ได้ เช่น การคลิก nginx-plus-1 จะนำคุณไปยังแดชบอร์ดที่มีเฉพาะเมตริกและการตรวจสอบที่เกี่ยวข้องกับอินสแตนซ์นั้น ลองเลย
ระบบจะเปิดเหตุการณ์ Stackdriver เมื่อชุดเงื่อนไขการแจ้งเตือนตรงตามเกณฑ์ที่กำหนด ในกรณีของเรา เราได้ตั้งค่าการแจ้งเตือนสำหรับการตรวจสอบระยะเวลาทำงานของ nginx ซึ่งปัจจุบันล้มเหลวใน nginx-plus-1 เหตุการณ์ช่วยให้คุณติดตามสถานการณ์ปัจจุบัน รวมถึงทำงานร่วมกับสมาชิกในทีมคนอื่นๆ เมื่อต้องแก้ไขปัญหา
มาแจ้งให้ทราบถึงเหตุการณ์ที่เกิดขึ้นและแจ้งให้สมาชิกคนอื่นๆ ในทีมทราบว่าเรากำลังตรวจสอบเรื่องนี้กัน
โปรดทราบว่าการดำเนินการนี้จะเปลี่ยนสถานะของเหตุการณ์จาก "เปิด" เป็น "รับทราบแล้ว" สถานการณ์ยังคงดำเนินต่อไป (ยังคงมีการละเมิดเงื่อนไขของนโยบายการแจ้งเตือน) แต่คุณกำลังส่งสัญญาณให้สมาชิกในทีมทราบว่าคุณกำลังดำเนินการอยู่ ระบบจะบันทึกการดำเนินการนี้ไว้ในบันทึกกิจกรรมด้วย
คุณสามารถแก้ไขเหตุการณ์ด้วยตนเองหรือจะให้ระบบแก้ไขโดยอัตโนมัติก็ได้ หากต้องการดูรายการหลัง ให้ใช้ SSH ไปยัง nginx-plus-1 แล้วแก้ไขปัญหา
yourusername@nginx-plus-1:~$ sudo service nginx start
ตอนนี้ระบบจะแก้ไขเหตุการณ์โดยอัตโนมัติเมื่อการตรวจสอบเวลาทำงานกลับมาเป็นปกติ นอกจากนี้ คุณยังแก้ไขด้วยตนเองได้โดยเลือกรายการเมนู "แก้ไข"
Cloud Logging เป็นโซลูชันการบันทึกเป็นบริการที่ช่วยให้คุณดูและค้นหาบันทึกจากหลายแหล่งที่มาได้จากส่วนกลางอย่างสะดวกสบาย นอกจากนี้ คุณยังใช้บันทึกเพื่อส่งออกไปยังปลายทางอื่นๆ (Google Cloud Storage, Google BigQuery หรือ Google Cloud Pub/Sub) ได้ด้วย
หากต้องการเข้าถึงโปรแกรมดูบันทึกของ Cloud ให้เลือกจากเมนูด้านซ้ายของ Cloud Console
ระบบจะนำคุณไปยังเครื่องมือดูบันทึก ซึ่งคุณสามารถใช้การค้นหาที่กำหนดไว้ล่วงหน้า หรือสร้างและบันทึกการค้นหาที่กำหนดเอง รับสตรีมบันทึกแบบเรียลไทม์จากแหล่งข้อมูลหลายแห่งในการติดตั้งใช้งานระบบคลาวด์ สร้างเมตริกจากบันทึก ส่งออก และอื่นๆ อีกมากมาย
คุณสามารถใช้การควบคุมที่มีประโยชน์เพื่อกรองข้อมูลที่เกี่ยวข้องได้อย่างรวดเร็ว ดังนี้
- กรองตามประเภททรัพยากร
- กรองตามประเภทบันทึกที่เฉพาะเจาะจงของทรัพยากรที่เลือก
- กรองระดับบันทึกที่เฉพาะเจาะจง
- กรองตามวันที่ที่เฉพาะเจาะจงเพื่อตรวจสอบปัญหาในอดีต
- เปิด/ปิดการสตรีมอย่างต่อเนื่อง
- ช่องค้นหาสำหรับข้อความ ป้ายกำกับ หรือการค้นหานิพจน์ทั่วไป
ตอนนี้มาฝึกจำกัดขอบเขตให้แคบลงเพื่อดูเฉพาะบันทึกที่ต้องการกัน
จากตัวเลือกประเภททรัพยากร (1 ในภาพหน้าจอ) ให้เลือก Compute Engine -> ประเภททรัพยากรทั้งหมด
จากนั้นจากตัวเลือกประเภทบันทึก (2 ในภาพหน้าจอ) ให้เลือก nginx-access เพื่อดูบันทึกการเข้าถึงทั้งหมด
ตอนนี้ให้เปิดการสตรีมอย่างต่อเนื่อง (5) เพื่อดูบันทึกเมื่อเข้ามา หากไม่เห็นบันทึกใหม่ ให้ลองป้อนที่อยู่ IP ภายนอกของ VM nginx-plus รายการใดรายการหนึ่งในเบราว์เซอร์
แม้ว่า Codelab นี้จะไม่ได้มุ่งเน้นที่บันทึกอย่างละเอียด แต่คุณก็สามารถสำรวจได้ในภายหลังก่อนที่จะล้างข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการไปยังส่วนต่างๆ ของโปรแกรมดูได้ที่นี่ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่คุณใช้ Cloud Logging ได้ โปรดไปที่นี่เพื่อดูไดเรกทอรีระดับบนสุดสำหรับเอกสารที่เกี่ยวข้อง
มาปล่อยทรัพยากรการประมวลผลที่สร้างขึ้นระหว่างการทดลองโค้ดกัน เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell
$ for i in {1..3}; do \ gcloud -q --user-output-enabled=false compute instances delete nginx-plus-$i ; done
จากนั้นไปที่คอนโซล Google Stackdriver ("การตรวจสอบ" จากเมนูด้านซ้ายของ Cloud Console) แล้วนำการตรวจสอบช่วงเวลาที่ระบบพร้อมใช้งานและนโยบายการแจ้งเตือนที่เราสร้างไว้แล้วออก คุณทำได้จากรายการเมนูระดับบนสุด การแจ้งเตือน -> ภาพรวมนโยบาย และการแจ้งเตือน -> การตรวจสอบระยะเวลาทำงาน
ตอนนี้คุณพร้อมที่จะตรวจสอบแอปพลิเคชันที่ทำงานบนระบบคลาวด์แล้ว
สิ่งที่เราได้พูดถึง
- ทำความคุ้นเคยกับหน้าแรกของ Stackdriver
- ทำความเข้าใจแดชบอร์ดและแผนภูมิ
- การสร้างการตรวจสอบระยะเวลาทำงาน
- การสร้างนโยบายการแจ้งเตือนอย่างง่าย
- การจัดการเหตุการณ์การแจ้งเตือน
- การไปยังส่วนต่างๆ ของผู้ดูบันทึก
ขั้นตอนถัดไป
- ลองสร้างแดชบอร์ดที่กำหนดเอง
- สำรวจตัวเลือกต่างๆ เมื่อสร้างนโยบายการแจ้งเตือน
- สำรวจตัวเลือกต่างๆ ที่พร้อมใช้งานเมื่อใช้ Cloud Logging
ดูเพิ่มเติม
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Monitoring API
- ใช้เมตริกที่กำหนดเอง
ส่งความคิดเห็นถึงเรา
- โปรดสละเวลาสักครู่เพื่อทำแบบสำรวจสั้นๆ ของเรา