Prometheus เป็นระบบตรวจสอบโอเพนซอร์สที่พัฒนาโดย SoundCloud เช่นเดียวกับระบบตรวจสอบอื่น ๆ เช่น InfluxDB และ Graphite Prometheus โดยจะเก็บข้อมูลทั้งหมดไว้ในฐานข้อมูลชุดข้อมูลแบบเวลา ซึ่งมีรูปแบบข้อมูลแบบหลายมิติและภาษาแบบสอบถามที่มีประสิทธิภาพ จะช่วยให้ผู้ดูแลระบบสามารถปรับแต่งคำจำกัดความของเมตริกได้อย่างง่ายดาย และยังสร้างรายงานที่มีความแม่นยำยิ่งขึ้นอีกด้วย

ในบทความนี้จะได้เรียนรู้วิธีติดตั้งและการกำหนดค่าของ Prometheus Server และ Node Exporter

การอัปเดตระบบก่อนทำการติดตั้ง

ก่อนอื่นให้รันคำสั่งตามที่แสดงด้านล่างเพื่ออัพเดตเซิร์ฟเวอร์ให้เป็นเวอร์ชั่นล่าสุด

# yum update

เมื่อตรวจสอบแน่ใจแล้วว่ามีเนื้อที่ว่างเพียงพอสำหรับติดตั้งให้พิมพ์ ‘y’ แล้วกด ‘Enter’ เพื่อดำเนินการต่อจนสำเร็จ

ขั้นตอนที่ 1 – การติดตั้งเซิร์ฟเวอร์ Prometheus

ในขั้นตอนแรกให้สร้างไดเร็กทอรีใหม่เพื่อเก็บไฟล์ทั้งหมดที่ดาวน์โหลดมาไว้ที่ไฟล์ดังกล่าว

# mkdir backup
# cd backup

ใช้คำสั่ง ‘wget’ เพื่อดาวน์โหลด Prometheus และฐานข้อมูลชุดเวลาจาก GitHub

# wget https://github.com/prometheus/prometheus/releases/download/0.16.0/
prometheus-0.16.0.linux-amd64.tar.gz

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

# mkdir ~/Prometheus
# cd ~/Prometheus

ใช้คำสั่ง ‘tar’ เพื่อแตกไฟล์ดังกล่าว

# tar -zxvf ~/backup/prometheus-0.17.0rc1.linux-amd64.tar.gz

เมื่อเสร็จสิ้นการติดตั้งเซิร์ฟเวอร์ Prometheus ให้ตรวจสอบการติดตั้งโดยพิมพ์คำสั่งต่อไปนี้

# ./prometheus-0.16.0.linux-amd64/prometheus -version

ขั้นตอนที่ 2 – ติดตั้ง Node Exporter

การติดตั้ง Node Exporter มีอยู่ใน Github ซึ่งสามารถคัดลอกที่อยู่ลิงก์เพื่อนำมาดาวน์โหลดแพคเกจโดยใช้คำสั่ง ‘wget’

# cd backup/
# wget https://github.com/prometheus/node_exporter/releases/download/0.11.0/
node_exporter-0.11.0.linux-amd64.tar.gz

เมื่อดาวน์โหลดเสร็จเรียบร้อยแล้วให้ทำการสร้างโฟลเดอร์ node_exporter ภายใต้ไดเรกทอรี่ Prometheus/ จากนั้นให้ทำการแตกไฟล์ข้อมูลนี้โดยใช้คำสั่ง ‘tar’ ในไดเร็กทอรี node_exporter

# mkdir ~/Prometheus/nod_exporter
# cd ~/ Prometheus/nod_exporter
# tar -xvzf ~/backup/ nod_exporter-0.11.0.linux-amd64.tar.gz

ขั้นตอนที่ 3 – กำหนดค่า sevice ของ Node Exporter

ตอนนี้เราจะกำหนดค่า sevice เพื่อให้เราสามารถจัดการ Node Exporter ได้อย่างง่ายดาย โดยใช้คำสั่ง ‘vi’ หรือโปรแกรมแก้ไขข้อความ เพื่อสร้างไฟล์การกำหนดค่าหน่วยที่เรียกว่า node_exporter.service

# cd /etc/systemd/system/
# vi  node_exporter.service

ใส่ข้อความดังต่อไปนี้

[Unit]
Description=Node Exporter

[Service]
User=vxx
ExecStart=/home/vxx/Prometheus/node_exporter/node_exporter

[Install]
WantedBy=default.target

จากนั้นทำการบันทึกไฟล์และออกจากไฟล์

ให้ทำการ restart service หรือรีบูตเซิร์ฟเวอร์ 1 ครั้ง และรันคำสั่งดังด้านล่าง

# systemctl daemon-reload
# systemctl enable node_exporter.service
# systemctl start node_exporter.service
# systemctl status node_exporter.service

เมื่อ node_exporter กำลังทำงานอยู่ให้ท่านเปิดเบราว์เซอร์เพื่อดูอินเทอร์เฟซเว็บของ Node Exporter
โดยเข้าไปที่ URL : http://your_servers_ip:9100/metrics

ขั้นตอนที่ 4 – เริ่มต้นใช้งาน Prometheus

ขณะนี้เราพร้อมที่จะเริ่มใช้งานเซิร์ฟเวอร์ Prometheus โดยการสร้างไฟล์คอนฟิกูเรชันใหม่ในไดเร็กทอรี Prometheus ด้วยโค้ดดังต่อไปนี้

# cd ~/Prometheus/prometheus-0.16.0rc1.linux-amd64/
# vi prometheus.yml
scrape_configs:
- job_name: "node"
scrape_interval: "15s"
target_groups:
- targets: ['localhost:9100']

จากนั้นทำการบันทึกไฟล์และออกจากไฟล์

การกำหนดค่าเหล่านี้จะสร้าง ‘scrape_configs’ และ ‘job_name’ เป็น ‘node’ ซึ่งสามารถเป็นชื่อที่ต้องการ จากนั้นเริ่มต้นเซิร์ฟเวอร์ Prometheus เป็นกระบวนการพื้นหลังและเปลี่ยนเส้นทางเพื่อส่งออกไฟล์บันทึกโดยใช้คำสั่งต่อไปนี้

# nohup ./prometheus > prometheus.log 2>&1 &
# tail ~/Prometheus/prometheus-0.17.0rc1.linux-amd64/prometheus.log

ไปที่ URL : http://your_server_ip:9090 เพื่อเปิดหน้าแรกของ Prometheus จะพบหน้าตาของเว็บไซต์ดังรูปภาพด้านล่าง

เพื่อให้แน่ใจว่าเซิร์ฟเวอร์ Prometheus กำลังเรียกข้อมูลจากผู้ส่งออกโหนดให้คลิกที่กราฟและแทรกเมตริกเลือกจากเมนูแบบเลื่อนลงจากนั้นคลิกที่ปุ่ม ‘Execute’ เพื่อดูกราฟดังที่แสดงด้านล่าง

สามารถดูเมตริกที่ใช้มากที่สุดจากเทมเพลตคอนโซลที่มีอยู่โดยใช้คำสั่งดังต่อไปนี้

# ll ~/Prometheus/prometheus-0.17.0rc1.linux-amd64/consoles

หรือลิงค์ http://yourservers_ip:9090/consoles/node.html

ข้อสรุปเกี่ยวกับ Prometheus

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