การใช้การตรวจสอบและการบันทึกของ Stackdriver&#39 เพื่อการมองเห็นแอปพลิเคชันของคุณที่ดีขึ้น

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

ใน Codelab นี้คุณจะต้อง

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

คุณมีประสบการณ์มากน้อยเพียงใดกับ Stackdriver

การติดตามคืออะไร ฉันไม่เคยใช้ Stackdriver มาก่อน แต่ฉันเคยมีประสบการณ์เกี่ยวกับการตรวจสอบแอปพลิเคชัน ฉันเตะรถยาง Stackdriver แล้วแต่ลงลึกไม่ได้

การตั้งค่าสภาพแวดล้อมด้วยตนเอง

หากยังไม่มีบัญชี Google (Gmail หรือ Google Apps) คุณต้องสร้างบัญชี

ลงชื่อเข้าใช้คอนโซล Google Cloud Platform (console.developers.google.com) และสร้างโปรเจ็กต์ใหม่ ดังนี้

จดจํารหัสโปรเจ็กต์ ซึ่งเป็นชื่อที่ไม่ซ้ํากันสําหรับโปรเจ็กต์ Google Cloud ทั้งหมด และจะเรียกใน Codelab นี้ว่า PROJECT_ID ในภายหลัง

สําคัญมาก - ไปที่หน้า Compute Engine เพื่อเริ่มต้นเปิดใช้ Compute Engine API:

จากนั้น: Compute → Compute Engine → อินสแตนซ์ VM

ในครั้งแรกที่คุณทํา คุณจะเห็นหน้าจอที่มีข้อความ "Compute Engine กําลังเตรียมพร้อม การดําเนินการนี้อาจใช้เวลาสักครู่ คุณยังคงลงชื่อเข้าสู่ระบบ Google Cloud Shell ด้านล่างได้ แต่จะสร้าง VM ไม่ได้จนกว่าการดําเนินการนี้จะเสร็จสิ้น

คุณจะทํางานส่วนใหญ่ได้จาก Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคําสั่งที่ทํางานในระบบคลาวด์ เครื่องเสมือนแบบ Debian นี้เต็มไปด้วยเครื่องมือสําหรับการพัฒนาทั้งหมดที่คุณต้องการและมีไดเรกทอรีหน้าแรกขนาด 5GB ให้ใช้งานถาวร เปิด 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 - สิ่งที่สําคัญจริงๆ ในภายหลัง

การดําเนินการเหล่านี้อาจใช้เวลา 2-3 นาทีจึงจะเสร็จสมบูรณ์

โดยค่าเริ่มต้น 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 อยู่ในเวอร์ชันเบต้าและไม่ได้เปิดใช้สําหรับโปรเจ็กต์ใหม่ หากต้องการเปิดใช้งาน ให้ไปที่แถบนําทางด้านซ้ายแล้วคลิก "การตรวจสอบ" (อาจต้องเลื่อนลงเพื่อค้นหา)

ในหน้าจอถัดไป ให้คลิก&เปิดใช้การตรวจสอบ และใช้การตรวจสอบ จากนั้นให้รอสัก 1 นาที

เมื่อเปิดใช้แล้ว เนื้อหาจะเปลี่ยนแปลงและคุณจะเห็นข้อความด้านล่าง คลิก&โควต้า ไปที่ "การตรวจสอบ" เพื่อเริ่มสํารวจ คุณจะต้องเข้าสู่ระบบด้วย Google แล้วเข้าถึงคอนโซลผู้ดูแลระบบสําหรับโปรเจ็กต์ของคุณ ซึ่งเป็นที่ที่คุณจะดําเนินการและวิเคราะห์งานที่เกี่ยวข้องกับการตรวจสอบ

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

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

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

หากต้องการ 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:~$

เท่านี้ก็เรียบร้อย (ในเวอร์ชันที่ใช้งานจริง โปรดตรวจสอบว่าคุณป้อนรหัสผ่าน :) และโปรดทราบว่าอาจไม่มีข้อความแจ้งให้เพิ่มรหัสผ่าน

หรือจะคัดลอกไปยังอินสแตนซ์จากคอนโซลโดยตรงก็ได้ โดยไปที่ Compute Engine &gt อินสแตนซ์ 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 มาลองติดตั้ง Agent ของ 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 แล้ว

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

มาดูแผนภูมิการใช้งาน CPU กัน

องค์ประกอบบางอย่างในแผนภูมิมีดังนี้

  • เส้นที่ไฮไลต์คือเมตริกที่เลือกอยู่ในตอนนี้ (แผนภูมิแสดงเมตริกหลายรายการได้)
  • เส้นแนวนอนสีเทาแสดงช่วงเวลาที่เมาส์วางเมาส์เหนือ
  • ที่ด้านล่างคือชื่อของทรัพยากรพร้อมค่า ณ เวลาที่เลือก
  • ที่ด้านบนของแผนภูมิจะมีจุดสีซึ่งแสดงเหตุการณ์อย่างละเอียดในบันทึกเหตุการณ์ คุณคลิกเหตุการณ์เหล่านั้นเพื่อดูรายการเหตุการณ์ได้ หมายเหตุ: คุณอาจไม่เห็นกิจกรรมใดๆ หากยังไม่มีกิจกรรม
  • ที่ด้านขวาบนของแผนภูมิจะมีตัวควบคุม 3 รายการ (จากซ้ายไปขวา)
  • ซ่อน/แสดงรายการเมตริกใต้แผนภูมิ
  • เปิด/ปิดโหมดเต็มหน้าจอ
  • มีเมนูต่างๆ มากมาย (คุณต้องลองใช้โหมด X-ray เมื่อมีแผนภูมิแบบละเอียด) ดูตัวเลือก"ดูบันทึก" - เราจะไปถึงในภายหลัง

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

คุณแสดงการตรวจสอบและสถานะการตรวจสอบได้โดยเลือกการแจ้งเตือนและ การตรวจสอบระยะเวลาทํางานที่เมนูด้านบน นอกจากนี้ยังมีส่วนการตรวจสอบระยะเวลาทํางานในหน้าแดชบอร์ดของ Google Stackdriver และในหน้าสําหรับแหล่งข้อมูลเฉพาะด้วย สําหรับการตรวจสอบระยะเวลาทํางานที่ครอบคลุมกลุ่มทรัพยากร คุณสามารถขยายการตรวจสอบเพื่อแสดงสถานะของสมาชิกแต่ละรายของกลุ่ม

มาตรวจสอบระยะเวลาทํางานกัน ค้นหาวิดเจ็ตการตรวจสอบระยะเวลาทํางานในหน้าจอหลักของ Stackdriver โดยทําดังนี้

ป๊อปอัปใหม่จะปรากฏขึ้น เราสามารถกําหนดค่าการตรวจสอบระยะเวลาทํางานสําหรับทรัพยากรหรือกลุ่มทรัพยากรเดียว ใช้ส่วนหัวและเพย์โหลดที่กําหนดเอง เพิ่มการตรวจสอบสิทธิ์ และตัวเลือกอื่นๆ สําหรับตอนนี้ เราจะใช้การตรวจสอบ http ที่เป็นค่าเริ่มต้นซึ่งจะตรวจสอบกลุ่ม nginx ที่สร้างโดยอัตโนมัติทุก 1 นาที

ใช้ภาพหน้าจอด้านล่างเพื่อกรอกข้อมูลในตัวเลือกต่างๆ

คลิกปุ่ม "Test" เพื่อให้แน่ใจว่าปลายทางเข้าถึงได้ (คุณควรใช้สีเขียว 3 ปุ่ม) แล้วคลิกบันทึก หมายเหตุ: หากไม่ได้รับการตอบกลับ คุณอาจยังทํางานกับห้องทดลองได้ เนื่องจากอาจเป็นเพียงปัญหาการกําหนดเวลาตรวจสอบการทดสอบ

ต่อไปคุณจะได้รับกล่อง "Outtime Check ที่สร้าง" และระบบจะถามว่าคุณต้องการสร้างนโยบายการแจ้งเตือนสําหรับการตรวจสอบนี้หรือไม่ มาเริ่มกันเลยในส่วนถัดไป อย่าเพิ่งคลิกอะไรนะ

คุณสามารถกําหนดนโยบายการแจ้งเตือนเพื่อกําหนดเงื่อนไขที่กําหนดบริการและแพลตฟอร์มระบบคลาวด์ให้ทํางานตามปกติได้ Cloud Monitoring จะให้เมตริกและการตรวจสอบประสิทธิภาพการทํางานหลายประเภทที่คุณสามารถใช้ในนโยบายได้

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

คลิก "สร้างนโยบายการแจ้งเตือน" &&#39 แล้วดําเนินการต่อเพื่อกําหนดค่านโยบาย

ตอนนี้คุณจะเห็นหน้าจอต่อไปนี้

ป้อนชื่อนโยบาย: "Uptime Check สําหรับ nginx group"

ในส่วนวิธีการแจ้งเตือน ให้คลิก "เพิ่มการแจ้งเตือน&quot

ป้อนอีเมลที่เชื่อมโยงกับบัญชี Google Cloud ของคุณ เลื่อนไปด้านล่างของหน้าจอแล้วคลิก "Save Policy"

กลับไปที่หน้าแรกของ Stackdriver (โดยคลิกโลโก้ที่มุมบนซ้าย)

ในตอนนี้คุณจะเห็นการตรวจสอบระยะเวลาทํางานที่คุณสร้างขึ้นในส่วนการตรวจสอบระยะเวลาทํางานของหน้าแดชบอร์ด สําหรับตอนนี้ สถานะควรเป็นสีเขียว

เลื่อนลงไปที่บันทึกเหตุการณ์ แล้วคุณจะเห็นกิจกรรมที่สร้างนโยบายการแจ้งเตือน

ทีนี้มาสร้างปัญหากัน :)

มาดูกันว่าจะเกิดอะไรขึ้นเมื่อเราหยุดบริการ Ngnix

SSH อีกครั้งลงในอินสแตนซ์จากบรรทัดคําสั่ง Cloud Shell

$ gcloud compute ssh nginx-plus-1

และพิมพ์ดังนี้

yourusername@nginx-plus-1:~$ sudo service nginx stop

ตอนนี้การตรวจสอบระยะเวลาทํางานที่เราสร้างไม่สําเร็จ ระบบจะสร้างเหตุการณ์และจะส่งการแจ้งเตือนทางอีเมลไปยังที่อยู่ที่คุณป้อนด้านบน ระบบจะใช้เวลา 1 นาทีในการตรวจหาเงื่อนไข (ให้จําระยะเวลา 1 นาทีเมื่อตั้งค่าการตรวจสอบระยะเวลาทํางาน) มาตรวจสอบหน้ากลุ่ม nginx กัน

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

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



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

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

ขณะนี้คุณกําลังดูแดชบอร์ดที่เจาะจงสําหรับกลุ่ม nginx ที่สร้างโดยอัตโนมัติ ทางด้านขวามือจะมีกราฟของเมตริกหลักหลายรายการที่เกี่ยวข้องกับกลุ่ม กล่าวอีกอย่างคือ กราฟเหล่านี้แสดงเมตริกที่เกี่ยวข้องกับทรัพยากรทั้งหมดในกลุ่ม nginx (VMAP 3 รายการขึ้นไปที่เราสร้างไว้ก่อนหน้านี้)

ทางด้านซ้าย คุณจะเห็นข้อมูลต่างๆ ที่เกี่ยวข้องกับกลุ่ม ดังนี้

  • สถานะเหตุการณ์
  • การตรวจสอบระยะเวลาทำงาน
  • บันทึกเหตุการณ์
  • รายการทรัพยากร (อินสแตนซ์ วอลุ่ม ฯลฯ)

โปรดทราบว่าเหตุการณ์เหล่านี้เกี่ยวข้องกับกลุ่มเท่านั้น และบันทึกเหตุการณ์จะแสดงเฉพาะกิจกรรมสําหรับกลุ่มเท่านั้น

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

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

มีการควบคุมที่เป็นประโยชน์บางอย่างเพื่อกรองข้อมูลที่เกี่ยวข้องได้อย่างรวดเร็ว ดังนี้

  1. กรองตามประเภททรัพยากร
  2. กรองประเภทบันทึกของทรัพยากรที่เลือก
  3. กรองระดับบันทึกที่เฉพาะเจาะจง
  4. กรองตามวันที่ที่ต้องการเพื่อตรวจสอบปัญหาที่ผ่านมา
  5. เปิด/ปิดการสตรีมอย่างต่อเนื่อง
  6. ช่องค้นหาสําหรับค้นหาข้อความ ป้ายกํากับ หรือนิพจน์ทั่วไป

คราวนี้เราจะมาฝึกจํากัดขอบเขตให้แคบลงเป็นบันทึกเฉพาะ

จากตัวเลือกประเภททรัพยากร (1 ในภาพหน้าจอ) ให้เลือก Compute Engine -> ประเภททรัพยากรทั้งหมด

ข้างๆ ตัวเลือกประเภทบันทึก (ในภาพหน้าจอ 2 รายการ) ให้เลือก nginx เพื่อดูบันทึกการเข้าถึงทั้งหมด

ตอนนี้ให้เปิดการสตรีมอย่างต่อเนื่อง (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 Console ("Monitor" จากเมนูแผงด้านซ้ายของ Cloud Console) และนํานโยบายการตรวจสอบระยะเวลาทํางานและการแจ้งเตือนที่เราสร้างไว้ออก โดยทําได้จากเมนู "การแจ้งเตือน" -> ภาพรวมของนโยบายและ "การแจ้งเตือน" -> การตรวจสอบระยะเวลาทํางาน

ตอนนี้คุณพร้อมที่จะตรวจสอบแอปพลิเคชันที่ใช้ระบบคลาวด์แล้ว

สิ่งที่เราพูดถึง

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

ขั้นตอนถัดไป

  • ลองสร้างหน้าแดชบอร์ดที่กําหนดเอง
  • ดูตัวเลือกต่างๆ เมื่อสร้างนโยบายการแจ้งเตือน
  • สํารวจตัวเลือกต่างๆ ที่มีเมื่อใช้ Cloud Logging

เรียนเรื่อง

แสดงความคิดเห็น

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