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 ท่านได้