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

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

ใน Codelab นี้ คุณจะได้ทำสิ่งต่อไปนี้

  • ทำความคุ้นเคยกับหน้าแรกของ Stackdriver
  • ทําความเข้าใจแดชบอร์ดและแผนภูมิ
  • สร้างการตรวจสอบระยะเวลาทำงาน
  • สร้างนโยบายการแจ้งเตือนอย่างง่าย
  • ทำงานกับเหตุการณ์การแจ้งเตือน
  • ไปยังส่วนต่างๆ ของผู้ดูบันทึก

คุณมีประสบการณ์การใช้งาน Stackdriver อย่างไร

การตรวจสอบคืออะไร ฉันไม่เคยใช้ 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 สำหรับโปรเจ็กต์ ซึ่งเป็นที่ที่คุณจะดำเนินการและวิเคราะห์งานที่เกี่ยวข้องกับการตรวจสอบ

มาทำความคุ้นเคยกับหน้าแรกกัน

  1. เมนูด้านบน: ใช้เพื่อเลือกมุมมอง / บริบทต่างๆ และเข้าถึงการดำเนินการ Stackdriver ที่พร้อมใช้งานทั้งหมด
  2. แดชบอร์ด: แดชบอร์ดเหล่านี้เป็นแดชบอร์ดของเมตริกและเหตุการณ์ที่กำลังตรวจสอบ ในตอนแรก แดชบอร์ดเหล่านี้จะเป็นแดชบอร์ดของระบบที่กำหนดไว้ล่วงหน้าโดยอิงตามทรัพยากรในโปรเจ็กต์ แต่คุณก็สามารถสร้างแดชบอร์ดที่กำหนดเองได้เช่นกัน
  3. การตรวจสอบเวลาทำงาน: ตรวจสอบทรัพยากรที่ผู้ใช้มองเห็นเป็นระยะๆ เพื่อดูความพร้อมใช้งาน และเปิดใช้การแจ้งเตือนเมื่อทรัพยากรเหล่านี้ไม่พร้อมใช้งาน
  4. รายการกลุ่ม: ใช้กลุ่มเพื่อจัดกลุ่มทรัพยากรที่มีพร็อพเพอร์ตี้และลักษณะที่ใช้ร่วมกัน เพื่อให้จัดการเป็นกลุ่มหรือคลัสเตอร์สำหรับงานต่างๆ เช่น การตรวจสอบและการแจ้งเตือนได้ ซึ่งอาจเป็นรายการที่ค้นพบโดยอัตโนมัติหรือผู้ใช้กำหนดเองก็ได้
  5. บานหน้าต่างเหตุการณ์: บานหน้าต่างเหตุการณ์จะติดตามเหตุการณ์การแจ้งเตือน คุณจะไม่เห็นอะไรที่นี่จนกว่าจะกำหนดนโยบายการแจ้งเตือน
  6. บันทึกเหตุการณ์: แสดงเหตุการณ์ที่เกี่ยวข้องกับทรัพยากรที่ตรวจสอบ เช่น การเปลี่ยนแปลงอินสแตนซ์ เหตุการณ์ที่เกิดจากเหตุการณ์ ฯลฯ

ก่อนที่เราจะพิจารณาแผนภูมิ คุณจะเห็นว่าเส้นส่วนใหญ่แบนราบหลังจากเริ่มต้นอินสแตนซ์ครั้งแรก มาดูกันว่าเราจะ "ยกเลิกการแบน" บางรายการได้ไหมโดยการสร้างภาระงานในอินสแตนซ์ใดอินสแตนซ์หนึ่ง

วิธี 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 กัน

คุณไปยังแดชบอร์ดของกลุ่มทรัพยากรที่ต้องการได้หลายวิธี ดังนี้

  1. คุณคลิกชื่อกลุ่มได้ในหน้าแรก ซึ่งจะเปลี่ยนไปใช้แดชบอร์ดที่สร้างขึ้นเพื่อตรวจสอบทรัพยากรของกลุ่มโดยเฉพาะ คุณยังปรับแต่งแดชบอร์ดนี้ได้ด้วย



  2. จากเมนูระดับบนสุด ให้เลือกกลุ่ม แล้วค้นหากลุ่มที่ต้องการ

ตอนนี้ ให้คลิกปุ่มรีเฟรชอัตโนมัติเพื่อให้ระบบรีเฟรชแดชบอร์ดโดยอัตโนมัติ ไอคอนจะเปลี่ยนเป็นสีแดง

ตอนนี้คุณกำลังดูแดชบอร์ดที่เฉพาะเจาะจงสำหรับกลุ่ม 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. กรองตามประเภททรัพยากร
  2. กรองตามประเภทบันทึกที่เฉพาะเจาะจงของทรัพยากรที่เลือก
  3. กรองระดับบันทึกที่เฉพาะเจาะจง
  4. กรองตามวันที่ที่เฉพาะเจาะจงเพื่อตรวจสอบปัญหาในอดีต
  5. เปิด/ปิดการสตรีมอย่างต่อเนื่อง
  6. ช่องค้นหาสำหรับข้อความ ป้ายกำกับ หรือการค้นหานิพจน์ทั่วไป

ตอนนี้มาฝึกจำกัดขอบเขตให้แคบลงเพื่อดูเฉพาะบันทึกที่ต้องการกัน

จากตัวเลือกประเภททรัพยากร (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

ดูเพิ่มเติม

ส่งความคิดเห็นถึงเรา

  • โปรดสละเวลาสักครู่เพื่อทำแบบสำรวจสั้นๆ ของเรา