InfluxDB คืออะไร และวิธีติดตั้งบน Cloud Server
InfluxDB คือฐานข้อมูลที่ออกแบบมาเพื่อเก็บค่าที่วัดตามเวลาโดยเฉพาะ เช่น อุณหภูมิจากเซ็นเซอร์หรือการใช้ CPU ของเซิร์ฟเวอร์ จึงเขียนข้อมูลได้ถี่มากและสรุปย้อนหลังได้เร็วกว่าฐานข้อมูลทั่วไป
- หมวดหมู่
- ฐานข้อมูล
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- MIT / เชิงพาณิชย์ตามรุ่น
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
InfluxDB คืออะไร
ข้อมูลที่วัดตามเวลามีลักษณะเฉพาะคือเขียนบ่อยมาก แทบไม่แก้ไขย้อนหลัง และมักถูกอ่านเป็นช่วงเวลาเพื่อดูแนวโน้ม ฐานข้อมูลทั่วไปที่ออกแบบมาเพื่องานธุรกรรมจึงทำงานนี้ได้ไม่มีประสิทธิภาพเมื่อข้อมูลสะสมมากขึ้น
InfluxDB จัดเก็บข้อมูลโดยอิงเวลาเป็นแกนหลัก บีบอัดได้ดีเพราะค่าที่ใกล้กันมักคล้ายกัน และมีฟังก์ชันสำหรับงานนี้โดยเฉพาะ เช่น การหาค่าเฉลี่ยรายช่วงและการเติมค่าที่ขาดหาย
ความสามารถที่ขาดไม่ได้ในการใช้งานจริงคือนโยบายเก็บข้อมูล ซึ่งลบข้อมูลเก่าอัตโนมัติตามระยะเวลาที่กำหนด ทำให้ดิสก์ไม่เต็มแม้ระบบจะเขียนข้อมูลตลอดเวลาเป็นปี
ความสามารถเด่นของ InfluxDB
เขียนข้อมูลถี่ได้มาก
รองรับการเขียนค่าจากอุปกรณ์จำนวนมากพร้อมกันโดยไม่ทำให้ระบบช้า
บีบอัดข้อมูลได้ดี
ค่าที่วัดตามเวลามักใกล้เคียงกัน จึงเก็บย้อนหลังได้นานในพื้นที่ที่จำกัด
นโยบายเก็บข้อมูลอัตโนมัติ
ลบหรือสรุปข้อมูลเก่าตามระยะเวลาที่กำหนดโดยไม่ต้องเขียนสคริปต์เอง
ฟังก์ชันสำหรับงานเวลาโดยเฉพาะ
หาค่าเฉลี่ยรายช่วง เติมค่าที่ขาด และเปรียบเทียบกับช่วงก่อนหน้าได้ในคิวรีเดียว
ต่อกับ Grafana ได้ทันที
เป็นแหล่งข้อมูลมาตรฐานที่ Grafana รองรับ ทำแดชบอร์ดได้เลย
ใช้ InfluxDB ทำอะไรได้บ้าง
- เก็บค่าจากเซ็นเซอร์ในโรงงานหรืออาคาร
- เก็บ Metric ของเซิร์ฟเวอร์และแอปเพื่อดูแนวโน้มระยะยาว
- ระบบติดตามการใช้พลังงานและค่าจากมิเตอร์
- ข้อมูลจากอุปกรณ์ IoT ที่ส่งค่าเป็นช่วงเวลาสม่ำเสมอ
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นอุปกรณ์ไม่กี่สิบตัวหรือระบบทดสอบ | 2 vCPU | 4 GB | NVMe 60 GB |
| แนะนำอุปกรณ์หลักร้อยที่ส่งค่าทุกไม่กี่วินาที | 4 vCPU | 8 GB | NVMe 200 GB |
| ข้อมูลมากอุปกรณ์จำนวนมากและเก็บย้อนหลังหลายปี | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 500 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง InfluxDB บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
- ดิสก์ NVMe เพราะระบบเขียนข้อมูลตลอดเวลา
- RAM มากพอสำหรับดัชนีของข้อมูลที่เก็บ
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
เพิ่มที่เก็บแพ็กเกจและติดตั้ง
curl -fsSL https://repos.influxdata.com/influxdata-archive_compat.key | \ sudo gpg --dearmor -o /usr/share/keyrings/influxdb.gpg echo "deb [signed-by=/usr/share/keyrings/influxdb.gpg] https://repos.influxdata.com/debian stable main" | \ sudo tee /etc/apt/sources.list.d/influxdb.list sudo apt update && sudo apt -y install influxdb2 - 2
เปิดบริการ
sudo systemctl enable --now influxdb sudo systemctl status influxdb --no-pager - 3
ตั้งค่าครั้งแรก
สร้างองค์กร ที่เก็บข้อมูล และบัญชีผู้ดูแล พร้อมกำหนดระยะเวลาเก็บข้อมูลตั้งแต่ต้น
influx setup --org mycompany --bucket sensors --retention 90d --username admin --force - 4
สร้างโทเคนสำหรับอุปกรณ์
ออกโทเคนแยกต่อระบบที่ส่งข้อมูลเข้ามา และให้สิทธิ์เขียนอย่างเดียวเท่าที่จำเป็น
influx auth create --org mycompany --write-bucket sensors --description "iot-writer" - 5
ผูกบริการกับวงภายในและเปิด Firewall เฉพาะที่จำเป็น
sudo ufw allow from 10.10.0.0/24 to any port 8086 proto tcp - 6
ต่อกับ Grafana เพื่อทำแดชบอร์ด
เพิ่ม InfluxDB เป็นแหล่งข้อมูลใน Grafana แล้วสร้างกราฟจากค่าที่เก็บไว้ พร้อมตั้งการแจ้งเตือนเมื่อค่าผิดปกติ
กำหนดระยะเวลาเก็บข้อมูลตั้งแต่วันแรก เพราะข้อมูลชนิดนี้โตต่อเนื่องและการมาตัดทีหลังเมื่อดิสก์เกือบเต็มจะยุ่งกว่ามาก
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 8086 | TCP | API และหน้าเว็บของ InfluxDB (เปิดเฉพาะวงภายใน) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ออกโทเคนแยกต่อระบบและให้สิทธิ์เท่าที่จำเป็น
- ไม่เปิดพอร์ตสู่อินเทอร์เน็ต ให้เข้าถึงผ่าน Private Network หรือ VPN
- ตั้งนโยบายเก็บข้อมูลเพื่อไม่ให้ดิสก์เต็มจนระบบหยุดรับข้อมูล
- สำรองข้อมูลตามรอบและทดสอบกู้คืน
ทำไมควรรัน InfluxDB บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
อุปกรณ์ IoT ในไทยส่งข้อมูลถึงเซิร์ฟเวอร์ในประเทศได้เร็วและเสถียรกว่าการส่งออกต่างประเทศ
ขยายดิสก์ได้ตามข้อมูลที่สะสมโดยไม่ต้องย้ายระบบ
ใช้ร่วมกับ IoT Platform และ Grafana ที่รันบน Cloud Server ในวงเดียวกัน
คำถามที่พบบ่อยเกี่ยวกับ InfluxDB
InfluxDB ต่างจาก PostgreSQL อย่างไร
PostgreSQL เป็นฐานข้อมูลอเนกประสงค์ที่เก็บข้อมูลเวลาได้เช่นกัน แต่ InfluxDB ออกแบบมาเพื่อข้อมูลตามเวลาโดยเฉพาะ จึงเขียนถี่ได้ดีกว่า บีบอัดดีกว่า และมีนโยบายลบข้อมูลเก่าในตัว ถ้าข้อมูลไม่มากนัก การใช้ PostgreSQL กับส่วนขยาย Time-series ก็เพียงพอ
เก็บข้อมูลย้อนหลังได้นานแค่ไหน
ขึ้นกับดิสก์และความถี่ในการส่งข้อมูล แนวปฏิบัติที่ใช้กันคือเก็บค่าดิบไว้ระยะสั้นแล้วสรุปเป็นค่ารายชั่วโมงหรือรายวันสำหรับข้อมูลเก่า ซึ่งลดพื้นที่ลงมากโดยยังดูแนวโน้มระยะยาวได้
ใช้กับระบบมอนิเตอร์เซิร์ฟเวอร์ได้ไหม
ได้ แต่ปัจจุบันงานเฝ้าระวังเซิร์ฟเวอร์นิยมใช้ Prometheus มากกว่า ส่วน InfluxDB ยังเป็นตัวเลือกหลักของงาน IoT และข้อมูลจากอุปกรณ์วัดค่า
ทางเลือกอื่นที่คล้ายกับ InfluxDB
แอปอื่นในหมวด ฐานข้อมูล
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง InfluxDB ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด