ลองนึกภาพสิ่งนี้:คุณเพิ่งเสร็จสิ้นการทำงานกับแอป Rails ใหม่ และปรับใช้กับผู้ให้บริการคลาวด์อย่าง DigitalOcean เช่นเดียวกับนักพัฒนาคนอื่นๆ คุณภูมิใจในงานของคุณมากแต่ยังคงมีคำถามมากมาย เช่น:
- แอปใหม่ของคุณจะรับมือกับปริมาณการใช้งานได้ดีเพียงใด
- ไม่ว่าการเพิ่มประสิทธิภาพที่คุณวางไว้จะใช้งานได้จริงหรือไม่ ฯลฯ
เป้าหมายของคุณคือการมอบประสบการณ์ผู้ใช้ที่ดีที่สุด คุณต้องการรับการแจ้งเตือนทุกครั้งที่มีข้อผิดพลาดหรือเหตุการณ์สำคัญอื่นๆ เกิดขึ้น เพื่อให้คุณสามารถดูแลได้อย่างรวดเร็ว
คงจะดีไม่น้อยถ้ามีการตั้งค่าที่ตรวจสอบแอปพลิเคชันของคุณโดยอัตโนมัติ เข้าสู่ AppSignal! ในบทความนี้ ซึ่งเป็นส่วนแรกของซีรีส์สองตอน เราจะตั้งค่า AppSignal เพื่อให้คุณสามารถตรวจสอบแอป Rails ของคุณที่โฮสต์บน DigitalOcean ได้อย่างมีประสิทธิภาพ
ข้อกำหนดเบื้องต้น
หากต้องการปฏิบัติตาม ตรวจสอบให้แน่ใจว่าคุณมี:
- การติดตั้ง Ruby ในเครื่อง (บทช่วยสอนนี้ใช้เวอร์ชัน 3.3.0)
- การติดตั้ง PostgreSQL ในเครื่อง (คุณสามารถใช้เวอร์ชัน Docker หรือเวอร์ชันที่ติดตั้งในเครื่องได้)
- บัญชี DigitalOcean เพื่อปรับใช้แอปพลิเคชัน
- บัญชี AppSignal (ทดลองใช้ฟรี 30 วัน)
ข้อมูลเบื้องต้นเกี่ยวกับแอป Ruby On Rails ของเรา
สำหรับบทช่วยสอนนี้ เราจะใช้แอปติดตามค่าใช้จ่าย Rails 7 แบบง่ายๆ ผู้ใช้จะสามารถลงทะเบียนและสร้างรายการค่าใช้จ่ายส่วนตัวเพื่อติดตามค่าใช้จ่ายเมื่อเวลาผ่านไป
เราจะปรับใช้แอปนี้กับ DigitalOcean จากนั้นกำหนดค่าโซลูชันการตรวจสอบของ AppSignal เพื่อติดตามสิ่งที่เกิดขึ้นภายใต้ประทุน
คุณสามารถคว้าซอร์สโค้ดหรือแยกแอปจากที่นี่เพื่อติดตาม
การปรับใช้แอป Rails ของคุณกับ DigitalOcean
เราจะใช้แพลตฟอร์มแอปของ DigitalOcean เพื่อปรับใช้แอปพลิเคชันของเรา ขั้นตอนด้านล่างถือว่าคุณได้แยกแอปติดตามค่าใช้จ่ายตามที่อธิบายไว้ข้างต้นแล้ว และคุณมีบัญชี DigitalOcean ที่พร้อมใช้งาน
หลังจากเข้าสู่ระบบ เราจะสร้างแอปและเริ่มต้นใช้งาน เนื่องจากเราต้องการควบคุมบางส่วนของกระบวนการนี้ ขั้นตอนแรกคือการสร้างฐานข้อมูลสำหรับแอป
การสร้างฐานข้อมูลแอป
คลิกที่ ฐานข้อมูล ลิงก์บนเมนูด้านซ้าย จากนั้นคลิกที่ สร้างฐานข้อมูล ลิงก์เพื่อสร้างฐานข้อมูล PostgreSQL ใหม่:

หลังจากเสร็จสิ้นการตั้งค่าฐานข้อมูลในหน้าจอถัดไป ให้จดบันทึกสตริงการเชื่อมต่อฐานข้อมูล คุณจะใช้เป็นตัวแปรสภาพแวดล้อมเมื่อสร้างแอปในขั้นตอนถัดไป:

ณ จุดนี้ คุณน่าจะได้รับคำเตือนว่าฐานข้อมูลของคุณเปิดสำหรับการเชื่อมต่อขาเข้าทั้งหมด ทำตามลิงก์ที่ให้มาเพื่อดูแลคำเตือนด้านความปลอดภัยนี้ ป>
การสร้างและปรับใช้แอป
สุดท้าย สร้างแอปโดยคลิก แอป ก่อน ลิงค์บนเมนูด้านซ้าย:

จากนั้นเชื่อมต่อทรัพยากรที่เก็บโค้ดของแอปตามที่แสดงด้านล่าง:

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

จากนั้น เมื่อตัวแปรสภาพแวดล้อมเหล่านี้พร้อมแล้ว ให้คลิก ถัดไป ปุ่มเพื่อปรับใช้แอป:

เมื่อปรับใช้แอปสำเร็จแล้ว ตอนนี้เราจะตั้งค่าการตรวจสอบโดยใช้ AppSignal
การตั้งค่า AppSignal เพื่อตรวจสอบแอป Rails ของคุณ
ขั้นแรก เข้าสู่ระบบบัญชี AppSignal ของคุณแล้วเลือก 'Ruby &Rails'
ตอนนี้เพิ่มอัญมณี AppSignal ลงในแอป Rails Gem ที่ดีนี้จะรวบรวมข้อผิดพลาด ข้อยกเว้น และข้อมูลประสิทธิภาพที่เกี่ยวข้อง และส่งต่อไปยัง AppSignal เพื่อทำการวิเคราะห์
เปิด Gemfile ของแอปและเพิ่มอัญมณี:
จากนั้นรัน 17 .
สุดท้ายนี้ คุณจะต้องเรียกใช้สคริปต์การติดตั้งที่มาพร้อมกับคีย์ API เฉพาะบัญชีของคุณที่แนบมาด้วย เมื่อคุณเรียกใช้สคริปต์การติดตั้งนี้ คุณควรได้รับสิ่งที่คล้ายกับด้านล่างนี้:
มีสองสิ่งที่ควรทราบเมื่อคุณเรียกใช้สคริปต์:
- คุณจะได้รับตัวเลือกในการเปลี่ยนชื่อแอปของคุณตามที่จะปรากฏบนแดชบอร์ดของ AppSignal หรือคงตัวเลือกเริ่มต้นไว้
- คุณยังได้รับตัวเลือกในการเลือกวิธีที่คุณต้องการกำหนดค่า AppSignal สำหรับแอปของคุณ ในกรณีของฉัน ฉันเลือกใช้ตัวเลือกไฟล์กำหนดค่า โดยสร้างไฟล์กำหนดค่าใน
24โดยมีเนื้อหาด้านล่าง:
ที่นี่เรากำหนด:
- A
34รหัส> ซึ่งเชื่อมต่อแอปกับ AppSignal - ชื่อแอปตามที่จะปรากฏบน AppSignal
- สภาพแวดล้อมที่ AppSignal จะตรวจสอบแอป (ในกรณีนี้ ทั้งสภาพแวดล้อมการพัฒนาและการใช้งานจริง)
อย่างไรก็ตาม หากคุณต้องการปิดการตรวจสอบ AppSignal ในสภาพแวดล้อมการพัฒนา เพียงตั้งค่า 41 ตั้งค่าสถานะเป็น 59 เช่นนั้น:
เคล็ดลับ :ทั้งไฟล์กำหนดค่าและตัวเลือกตัวแปรสภาพแวดล้อมทำสิ่งเดียวกัน โดยกำหนดวิธีที่ AppSignal จะเชื่อมต่อกับแอปของคุณ ชื่อแอป และสภาพแวดล้อมที่จะถูกตรวจสอบ ป>
สมมติว่าทุกอย่างเป็นไปตามแผน คุณจะเห็นหน้าจอแสดงว่า AppSignal กำลังรับข้อมูลจากแอปของคุณ!
ข้อมูลเบื้องต้นเกี่ยวกับแดชบอร์ดของ AppSignal สำหรับ Rails
ตอนนี้ทุกอย่างถูกต้องแล้วและ AppSignal ได้รับข้อมูลจากแอปของคุณ คุณจะสามารถเข้าถึงมุมมองแดชบอร์ดการตรวจสอบแอปเริ่มต้นดังที่แสดงด้านล่าง:

เคล็ดลับ :หากคุณตั้งค่าการตรวจสอบสำหรับทั้งสภาพแวดล้อมการพัฒนาและการใช้งานจริง คุณสามารถสลับระหว่างสภาพแวดล้อมเหล่านั้นได้อย่างง่ายดายจากการเลือกที่แสดงด้วยลูกศร ป>
จากมุมมองเริ่มต้น คุณสามารถเข้าถึงแผนภูมิเริ่มต้นต่อไปนี้:
- อัตราข้อผิดพลาด - นี่จะแสดงอัตราข้อผิดพลาดที่เกิดขึ้นในแอปของคุณต่อหน่วยเวลา
- ปริมาณงาน - ที่นี่ คุณจะได้รับภาพรวมของปริมาณงานที่แอปของคุณสามารถจัดการได้ในแง่ของคำขอต่อนาที
- เวลาตอบสนอง - นี่จะแสดงเวลาตอบสนองของแอปของคุณ
- ข้อผิดพลาดที่เปิดล่าสุด - ส่วนนี้จะแสดงข้อผิดพลาดล่าสุดที่จะเกิดขึ้นภายในแอปของคุณ
- การวัดประสิทธิภาพแบบเปิดล่าสุด - ส่วนนี้แสดงรายการการวัดประสิทธิภาพล่าสุด รวมถึงการเรียกเมธอด คำขอ API ฯลฯ
ต่อไป เราจะดูวิธีตั้งค่าการติดตามข้อผิดพลาดที่เหมาะสมสำหรับแอปพลิเคชัน Rails โดยใช้ AppSignal
การตรวจสอบข้อผิดพลาดด้วย AppSignal
มีข้อผิดพลาดมากกว่าสิบประเภทที่อาจส่งผลต่อแอป Ruby on Rails ที่ทำงานอยู่ เห็นได้ชัดว่าบางส่วนพบได้บ่อยกว่าคนอื่นๆ ในส่วนนี้ เราจะจำลองข้อผิดพลาดเหล่านี้บางส่วนและดูว่า AppSignal จัดการกับข้อผิดพลาดเหล่านี้อย่างไร เรามาเริ่มด้วยตัวอย่างง่ายๆ ก่อน
เนื่องจากแอปตัวติดตามค่าใช้จ่ายใช้ Devise สำหรับการรับรองความถูกต้อง เรามาเพิ่มการตรวจสอบว่าผู้ใช้ลงชื่อเข้าใช้หรือไม่ แทนที่จะใช้ 64 ที่แนะนำ วิธีการ ลองใช้ 78 ที่ผิดพลาดกัน วิธีการซึ่งควรทริกเกอร์ 81 :
ปรับใช้การเปลี่ยนแปลงนี้ รีโหลดแอปเวอร์ชันที่ใช้งานจริง จากนั้นไปที่แดชบอร์ดสภาพแวดล้อมการใช้งานจริงใน AppSignal และดูว่าข้อผิดพลาดนี้ปรากฏขึ้นอย่างไร:

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

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

- สมุดจดรายการต่าง - ที่นี่ คุณหรือสมาชิกในทีมของคุณสามารถเพิ่มความคิดเห็นเกี่ยวกับข้อผิดพลาดที่กำลังติดตามโดย AppSignal แผงสมุดบันทึกยังแสดงรายละเอียดตามลำดับเวลาของการดำเนินการใดๆ ที่เกี่ยวข้องกับข้อผิดพลาดที่เป็นปัญหา
- การตั้งค่า - จากแผงนี้ คุณสามารถกำหนดข้อผิดพลาดให้กับสมาชิกในทีมคนอื่น เปลี่ยนการตั้งค่าการแจ้งเตือน (เราจะตรวจสอบรายละเอียดเหล่านี้ในส่วนที่สองของบทช่วยสอนนี้) และตั้งค่าระดับความรุนแรงของข้อผิดพลาด
เพียงเท่านี้สำหรับซีรีส์นี้!
สรุป
ในบทช่วยสอนนี้ เราได้ปรับใช้แอปพลิเคชัน Rails อย่างง่ายกับแพลตฟอร์มแอปของ DigitalOcean และเชื่อมต่อกับแพลตฟอร์มการตรวจสอบแอปพลิเคชันของ AppSignal นอกจากนี้เรายังได้อธิบายวิธีการตรวจสอบและแสดงข้อผิดพลาดในแดชบอร์ดข้อผิดพลาดของ AppSignal
แน่นอนว่านี่เป็นเพียงการเริ่มต้นของสิ่งที่เป็นไปได้ด้วย AppSignal ในส่วนที่สองของซีรี่ส์นี้ เราจะเจาะลึกยิ่งขึ้นเกี่ยวกับการวัดประสิทธิภาพ การตรวจจับความผิดปกติ การตรวจสอบสถานะการออนไลน์ และการบันทึก
ในระหว่างนี้ ขอให้สนุกกับการเขียนโค้ด!
ปล. หากคุณต้องการอ่านโพสต์ Ruby Magic ทันทีที่เผยแพร่ สมัครรับจดหมายข่าว Ruby Magic ของเราและไม่พลาดแม้แต่โพสต์เดียว! ป>