Panel

ส่วนนี้เป็นการนำ Grafana ซึ่งเป็น Open Source Dashboard มาใช้งานร่วมกับ Platform ใช้สำหรับเป็น Dashboard ให้กับผู้ใช้นำไปแสดงค่าข้อมูลของที่มีการส่งเข้ามาที่ Platform สามารถปรับแต่งได้ตามต้องการและตามความเหมาะสมของข้อมูล การเข้าใช้งาน Panel ให้คลิกที่เมนู Console > Panel หากเป็นการเข้าใช้งานครั้งแรกในแต่ละ Project ต้องทำการกดปุ่ม "Enable" เพื่อเปิดการใช้งานก่อนดังรูปต่อไปนี้

_images/panel_create.png

การสร้าง Panel

คลิกที่กดปุ่ม "Create" เพื่อสร้าง Panel จะปรากฏฟอร์มให้กรอกชื่อของ Panel ดังรูป

_images/panel_create2.png

ทำการกรอก Panel Dashboard Name โดยไม่อนุญาตให้กรอกช่องว่าง (White Space) อยู่ในชื่อ เมื่อทำการกรอกข้อมูลเสร็จเรียบร้อยแล้วให้ทำการกดปุ่ม "SAVE" ก็จะปรากฏรายการ Panel ใหม่ที่เพิ่งทำการสร้างขึ้นมา หากต้องการแก้ไขชื่อหรือลบรายการที่สร้าง เมื่อนำเมาส์ไปวางไว้ที่รายการดังกล่าวจะปรากฏไอคอน "Edit" และ "Delete" หลังรายการเพื่อให้คลิกดำเนินได้ดังรูป

_images/panel_name.png

สำหรับการตั้งค่าการแสดงผลของ Panel ให้คลิกเข้าไปที่แต่ละรายการ Panel ที่สร้างไว้เพื่อเข้าสู่หน้าจอสำหรับดำเนินการดังรูป

_images/panel_setting.png

การตั้งค่าแสดงผล Panel

ทำการคลิกที่ปุ่ม "Add panel" ทางมุมบนขวามือ เพื่อเปิดส่วนดำเนินการสำหรับการตั้งค่าแหล่งข้อมูลที่จะนำมาแสดงผล (Datasource) และรูปแบบการนำเสนอข้อมูล (Visualization) ดังรูป

_images/panel_addquery.png

จากนั้นคลิกที่ปุ่ม "Add Query" ระบบจะทำการสร้างกล่องการแสดงผลพื้นฐาน (Panel) ในลักษณะกราฟขึ้นมา ข้อมูลที่ปรากฏจะเป็นข้อมูลที่ถูกสมมติขึ้นแบบสุ่ม (Random Walk) ปุ่มแรกมุมบนด้านขวามือ "Save dashboard" คลิกเพื่อบันทึกเมื่อมีการเปลี่ยนแปลงการตั้งค่า

_images/panel_datasource.png

การต้ังค่าคำสั่งเพื่อเรียกข้อมูลในเมตริกนั้นขึ้นอยู่กับประเภทของแหล่งข้อมูล (Datasource) ที่ผู้ใช้งานเลือก สำหรับ NEXIIOT ได้ทำการติดตั้ง Datasource ที่เป็นการดึงข้อมูลจาก Platform ไว้ให้แล้ว 2 ประเภท คือ Shadow และ Feed การเลือก Datasource ให้แก้ไขตรง drop-down "Query" ดังรูป

_images/panel_select_datasource.png

Datesource : Feed

Feed เป็นการเก็บข้อมูลใน Timeseries Database โดยข้อมูลจะมาจาก Datatag ที่มีการเซ็ตให้มีการเก็บข้อมูลย้อนหลังของฟิลด์ข้อมูลในจาก Shadow การตั้งค่าดำเนินการตามขั้นตอนต่อไปนี้

  1. คลิก drop-down "Query" และเลือกรายการเป็น "Feed"

  2. แถบ "Metric" ให้ทำการคลิกที่ drop-down "select metric" เพื่อทำการเปลี่ยนเป็นชื่อของอุปกรณ์ (Client ID) ที่ต้องการนำข้อมูลมาแสดงผล

  3. แถบ "Tags" ที่ปรากฎขึ่้นหลังจากเลือกอุปกรณ์ จะปรากฎข้อมูลเกี่ยวกับรายการ Datatag ที่ถูกสร้างภายใต้อุปกรณ์ (Client ID) นั้น ๆ โดยจะแสดงเป็น 2 แถบ แถบบน (attribute) จะแสดงชื่อ(หรือ Attr หากกำหนด) ของ Datatag ส่วนแถบล่างแสดงเป็น Datatag ID ซึ่งการตั้งค่าในส่วนนี้จะใช้เมื่อต้องการแสดงข้อมูลแค่บาง Datatag (ค่า Default จะแสดงทั้งหมด) คลิกที่เครื่องหมาย "+" ระบบจะแสดงรายการ Datatag ให้เลือกแสดงมาผล

  4. แถบ "Group by" จัดกลุ่มจุดข้อมูลที่ Query โดยสามารถจัดตาม Tag, ช่วงเวลา, ค่าจุดข้อมูล หรือตามถังข้อมูล ใน NEXIIOT Platform ใช้ Tag ในการจัดกลุ่มข้อมูล (แยกตาม Datatag)

  5. แถบ "Aggregators" จะเป็นการจัดกลุ่มของค่าข้อมูลในแต่ละช่วงเวลาในกรณีที่ค่ามีความละเอียดสูง (เก็บข้อมูล) ให้เป็นค่าเพียงจุดเดียว ใช้ในกรณีที่อุปกรณ์ส่งค่าข้อมูลถี่ทำให้ได้จำนวนจุดข้อมูลมากเกินไป โดยระบบจะเปลี่ยนค่าข้อมูลในแต่ละช่วงเวลาต่าง ๆ ให้กลายเป็นค่าที่ถูกคำนวณเอาไว้ เช่น avg, last หรือ max เป็นต้น

_images/panel_feed.png

Datesource : Shadow

Shadow จะเป็นการเก็บข้อมูลเฉพาะค่าที่มีการอัพเดทมาล่าสุดเท่านั้น จะเหมาะสำหรับนำมาใช้ทำ Realtime Monitoring การตั้งค่าดำเนินการตามขั้นตอนต่อไปนี้

  1. คลิก drop-down "Query" และเลือกรายการเป็น "Shadow"

  2. แถบ "Device" ให้ทำการคลิกที่ drop-down "select metric" เพื่อทำการเปลี่ยนเป็นชื่อของอุปกรณ์ (Client ID) ที่ต้องการนำมาแสดงผล

  3. แถบ "Attribute" ให้ทำการคลิกที่ปุ่ม "+" เพื่อทำการเลือกฟิลด์ใน Shadow ที่ต้องการนำมาแสดงผล

_images/panel_shadow.png

รูปแบบการแสดงผล (Visualization)

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

_images/panel_visualization.png

จากรูปด้านบนจะแสดงประเภทรูปแบบการแสดงผลข้อมูลที่สามารถเลือกใช้งานได้ โดยในที่นี้ขออธิบายเป็นบางรูปแบบ ดังนี้

Graph เป็นกล่องการแสดงผลพื้นฐานของ Grafana ที่มีเครื่องมือให้สามารถใช้งานได้อย่างมากมาย เหมาะกับการแสดงผลข้อมูลที่ถูกจัดเก็บในลักษณะ Feed (Datasource ของ Platform) เพราะสามารถแสดงค่าข้อมูลตัวเลขของอุปกรณ์ย้อนหลังได้ แต่ไม่เหมาะกับการแสดงผล Shadow เพราะจะแสดงจุดของข้อมูลที่เข้ามาเพียงค่าเดียว คือ ค่าข้อมูลล่าสุดหรือข้อมูลปัจจุบันของอุปกรณ์เท่านั้น

_images/panel_graph.png

Singlestat เป็นการย่อส่วนการแสดงผลข้อมูลของอุปกรณ์โดยใช้วิธีการทางสถิติ เช่น ค่าสูงสุดค่าต่ำสุดหรือผลรวมของค่าข้อมูลนั้น ๆ ในช่วงเวลาหนึ่ง เพื่อทำให้เหลือค่าเพียงค่าเดียวเท่านั้น อีกทั้งยังสามารถแปลงค่าข้อมูลทางสถิติที่ได้มานั้นให้กลายเป็นข้อความที่บ่งบอกถึงลักษณะของผลข้อมูลที่ได้ และสามารถแสดงกราฟหรือภาพที่ทำให้เข้าใจถึงลักษณะของข้อมูลน้ันได้เร็วขึ้นอีกด้วย การแสดงผลข้อมูลประเภทน้ีสามารถใช้ได้กับทั้ง Feed เพื่อแสดงค่าทางสถิติที่ถูกคำนวณจากค่าข้อมูลของอุปกรณ์และ Shadow เพื่อแสดงผลค่าข้อมูลล่าสุดของอุปกรณ์

_images/panel_singlestat.png

Gauge เป็นการแสดงผลข้อมูลแบบค่าเดียวที่เป็นตัวเลข เหมาะกับการแสดงผลข้อมูลที่ถูกจัดเก็บในลักษณะ Shadow (Datasource ของ Platform) ลักษณะจะเป็นมาตรวัดที่เปลี่ยนแปลงค่าข้อมูล

_images/panel_gauge.png

Table เป็นการแสดงผลข้อมูลแบบตาราง สามารถใช้แสดงข้อมูลได้ทั้ง Feed และ Shadow รวมถึงรองรับข้อมูลที่ไม่ใช้ตัวเลขด้วย

_images/panel_table.png

การตั้งค่าทั่วไปของการแสดงผลข้อมูล (General)

ใช้สำหรับตั้งค่าอื่น ๆ ของ Panel ที่ครอบ Visualization อยู่ รวมถึงการตั้งค่ารายละเอียดเพิ่มเติมของ Visualization แต่ละรายการที่มีการเลือกมาใช้งาน ซึ่งก้จะมีความแตกต่างกันไปในแต่ละ Visualization จะเน้นการปรับแต่งเพื่อความสวยงามและความเป็นระเบียบเรียบร้อยของการแสดงผลข้อมูล ให้คลิกที่ปุ่มสัญลักษณ์ "General" ด้านซ้ายมือเพื่อเข้าสู่หน้าตั้งค่าข้อมูลดังรูปต่อไปนี้

_images/panel_config.png

จากรูปด้านบน จะเป็นการตั้งค่าหลักของ Panel มีรายละเอียดดังนี้

  1. Title เป็นชื่อของ Panel หรือส่วนการแสดงผล

  2. Description เป็นคำอธิบายของ Panel หรือส่วนการแสดงผล

  3. Transparent เป็นการตั้งค่าความโปร่งแสงของพื้นหลัง Panel หรือส่วนการแสดงผล

  4. Panel links การเชื่อมต่อไปยังเว็บไซต์อื่น ๆ ซึ่งส่วนนี้หากมีการตั้งค่าไว้จะปรากฎเป็นลูกศรที่มุมบนซ้ายของ Panel หรือส่วนการแสดงผลนั้น ๆ เพื่อคลิกลิงค์ไปยังเว็บไซต์เหล่านั้นได้


นอกจากการการตั้งค่าต่าง ๆ ที่กล่าวไปข้างต้นยังมีส่วนของการเลือกช่วงเวลา (Time Range) และช่วงเวลาที่ต้องการให้เรียกค่าข้อมูลใหม่อีกคร้ัง (Refresh Interval) เพื่อให้ได้ข้อมูลท่ี่ต้องการนำค่ามาแสดงผล การตั้งค่าอยู่ที่มุมบนด้านขวามือของระบบ ดังรูปต่อไปนี้

_images/panel_timerange.png