ติดตั้ง cacti บน ubuntu

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 17-06-2552

ดูแลโดย WIPAT


  • ใช้เก็บบันทึกและแสดงกราฟของการใช้ทรัพยกรอย่างต่อเนื่อง
  • ทดสอบกับ ubuntu 8.04
  • ต้นฉบับจาก http://www.cacti.net


  1. หากยังไม่ติดตั้ง  mysql server ให้ติดตั้งก่อนด้วยคำสั่ง sudo apt-get install mysql-server
    แล้วรีบแก้ไขรหัสผ่านของ root ดังตัวอย่างประมาณคำสั่งว่า mysqladmin -uroot password mysqldroot

  2. ติดตั้งด้วยคำสั่ง sudo apt-get install cacti
    ได้หน้าจอเตือน WARNING: include path for php has changed!  ให้กดแป้น Enter ทำงานต่อได้เลย
    หากได้คำถามว่า Which kind of web server should be used by cacti? ให้เปลี่ยนไปเลือกเป็น Apache2 แล้วกดแป้น Enter
    ได้คำถามว่า Configure database for cacti with dbconfig-common?  ให้ยังคงเลือกเป็น Yes แล้วกดแป้น Enter
    ได้คำถามว่า  Password of your database's administrative user: ให้ใส่รหัสผ่านของ root แล้วกดแป้น Enter
    ได้คำถามว่า  MySQL application password for cacti: ให้ใส่รหัสผ่านสำหรับ cacti ตามต้องการ ตัวอย่างนี้ใส่เป็น 123456 แล้วกดแป้น Enter
    ได้คำถามว่า  Password confirmation:  ให้ใส่รหัสผ่านสำหรับ cacti อีกครั้ง ตัวอย่างนี้ใส่เป็น 123456 แล้วกดแป้น Enter
    หากได้คำถามว่า Which kind of web server should be used by cacti? ให้เปลี่ยนไปเลือกเป็น Apache2 แล้วกดแป้น Enter
    รอสักครู่ ถึงตอนนี้การติดตั้งบน server เสร็จแล้ว

  3. ให้เข้าไป ติดตั้งผ่านเวบต่อที่ http://localhost/cacti
    ที่หน้าเวบแรก Cacti Installation Guide ให้คลิกปุ่ม Next >>
    ที่หน้าเวบ Please select the type of installation ให้ยังคงเลือกเป็น New Install  แล้วคลิกปุ่ม Next >>
    ที่หน้าเวบ Make sure all of these values are correct before continuing. ให้ตรวจสอบว่า OK:  ทุกช่อง  แล้วคลิกปุ่ม Finish >>
    จะได้หน้าเวบ User Login  ให้ลองใส่ User Name: ว่า admin และ Password: ว่า admin ให้ถูกต้องตามที่ตั้งไว้ แล้วคลิกปุ่ม Login
    จะได้หน้าเวบ *** Forced Password Change *** ให้รีบเปลี่ยนรหัสผ่านของ admin เป็นรหัสใหม่ที่ช่อง Password: และ Confirm: แล้วคลิกปุ่ม Save
    ถึงตอนนี้ก็ได้หน้าเวบใช้งานแล้วอยู่ที่  http://localhost/cacti  หลังติดตั้งครั้งแรกต้องรอสัก 10 นาที จึงจะมีกราฟแสดงให้ดู

  4. หากต้องการดูกราฟ ให้เลื่อนเมาส์ไปที่ด้านบนซ้าย แล้วคลิกเลือกแถบ "graphs" จะได้หน้าเวบรูปกราฟแสดงออกมา

  5. การตั้งค่าให้ guest สามารถดูกราฟได้ ให้ทำดังนี้
    ให้เลื่อนเมาส์ไปที่ด้านบนซ้าย แล้วคลิกเลือกแถบ "console"  จะได้หน้าเวบ You are now logged into Cacti....
    ไปด้านซ้ายที่ส่วนของ  "Utilities"  ให้คลิกเลือก "User Management" จะได้หน้าเวบ "Console -> User Management"
    ไปด้านขวาส่วนของ "User Name**"  ให้คลิกเลือก "guest" จะได้หน้าเวบ "Console -> User Management->(Edit)"
    ไปด้านขวาส่วนของ "User Management [edit: guest]" 
    ไปที่ช่อง "Password ..."  ให้ป้อนกำหนดรหัสผ่านสำหรับ guest ในตัวอย่างนี้ใช้คำว่า  anonymous ให้ถูกต้องทั้ง 2 ช่อง
    ไปที่ช่อง "Enabled ..."  ให้คลิกเลือกเปลี่ยนเป็น "Enabled"
    ไปที่ช่อง "Account Options ..."  ให้คลิกเปลี่ยนยกเลิกไม่เลือกหัวข้อ "User Must Change Password at Next Login"
    เสร็จแล้วคลิกปุ่ม "save" ได้เลย  แล้วลอง Logout ออกมา
    ดูผลงานเข้าหน้าเวบด้วยชื่อผู้ใช้ ว่า guest และรหัสผ่านว่า anonymous

  6. หากต้องการลบกราฟ ตัวอย่างเช่นต้องการลบกราฟชื่อว่า "Graph Template: Unix - Logged in Users" ให้ทำดังนี้
    ให้เลื่อนเมาส์ไปที่ด้านบนซ้าย แล้วคลิกเลือกแถบ "console"  จะได้หน้าเวบ You are now logged into Cacti....
    ไปด้านซ้ายที่ส่วนของ  "Management"  ให้คลิกเลือก "Graph Management"  จะได้หน้าเวบ "Console->Graph Management"
    ให้ไปด้านขวาส่วนของ "Grap Title" ที่บรรทัด  "Localhost - Logged in Users"  ให้คลิกเลือกบรรทัดนี้
    แล้วไปด้านขวาล่างสุดช่อง  "Choose an action:" ให้เลือกเปลี่ยนเป็น "Delete"  แล้วคลิกปุ่ม "go"
    ได้หน้าเวบถามยืนยันว่า "Delete"  ให้ยังคงเลือก "Leave the data sources untouched." แล้วคลิกปุ่ม "yes"
    กลับมาได้หน้าเวบ "Graph Management" จะเห็นว่ารายการ ""Localhost - Logged in Users" หายไปแล้ว

  7. หากต้องการติดตั้งกราฟแสดงปริมาณของข้อมูลที่วิ่งผ่าน network eth0 ต้องมีการติดตั้ง snmpd ตามคำแนะนำใน ติดตั้ง snmpd บน ubuntu ก่อน
    ให้เลื่อนเมาส์ไปที่ด้านบนซ้าย แล้วคลิกเลือกแถบ "console"  จะได้หน้าเวบ You are now logged into Cacti....
    ไปด้านซ้ายที่ส่วนของ  "Management"  ให้คลิกเลือก "Devices"  จะได้หน้าเวบ "Console->Devices"
    ให้ไปด้านขวาส่วนของ "Devices"  ที่บรรทัด  "Localhost" ให้คลิกเลือกบรรทัดนี้แล้วเข้าไปทำงาน  จะได้หน้าเวบ "Console->Devices->(Edit)"
    ให้ไปด้านขวาส่วนของ "SNMP Options"  ที่ช่อง "SNMP Version" ให้เลือกเปลี่ยนเป็น "Version 2"  แล้วคลิกปุ่ม "save" หน้าเวบจะเปลี่ยน
    ให้เลื่อนไปที่ส่วนของ "Associated Graph Templates"  ไปที่ช่อง "Add Graph Template:" ให้เลือกเปลี่ยนเป็น "SNMP - Generic OID Template" แล้วคลิกปุ่ม "add"
    เลื่อนไปที่ส่วนของ "Associated Data Queries" ไปที่ช่อง "Add Data Query:"  ให้เลือกเปลี่ยนเป็น "SNMP - Interface Statistics"
    ไปที่ช่อง "Re-Index Method:" ให้เลือกเปลี่ยนเป็น "None"  แล้วคลิกปุ่ม "add"   เสร็จแล้วให้คลิกปุ่ม "save"  อีกครั้ง 

    ต่อไปให้ไปด้านซ้ายที่ส่วนของ  "Create" ให้คลิกเลือก "New Graphs"  จะได้หน้าเวบ "Create New Graphs"
    ไปที่ช่อง "Host:" ให้เลือก host ที่ต้องการ ตัวอย่างนี้ยังคงเลือก "Localhost(127.0.0.1)"
    ไปที่ช่อง "Data Query [SNMP - Interface Statistics]"  ให้คลิกเลือก interfaces ที่ต้องการ
    ไปที่ช่อง "Select a graph type:"  ให้คลิกเลือกเปลี่ยนเป็น "In/Out Bits with Total Bandwidth" แล้วคลิกปุ่ม "create"
    ทำแค่นี้ก็จะได้กราฟที่ต้องการแล้ว กลับไปผลงานโดยคลิกเลือกแถบ "graphs" จะได้หน้าเวบรูปกราฟแสดงออกมา

  8. ตัวอย่างการติดตั้งกราฟแสดงหน่วยความจำที่เป็น free memory และ swap usage เดียวโดยใช้ shell script ที่สร้างเองให้ทำดังนี้
    สร้างแฟ้ม script ของตนเองรอไว้ก่อน เช่นแฟ้ม /usr/share/cacti/site/scripts/mymem.sh มีข้อมูลว่า
    #!/bin/bash
    FREE=$(free -k|grep "cache:"|awk '{print $4}')
    SWAP=$(free -k|grep "Swap:"|awk '{print $3}')
    echo "FreeKbytes:${FREE}" "SwapKbytes:${SWAP}"

    ให้เลื่อนเมาส์ไปที่ด้านบนซ้าย แล้วคลิกเลือกแถบ "console"  จะได้หน้าเวบ You are now logged into Cacti....

    เริ่มสร้าง Data Input  Methods ไปด้านซ้ายที่ส่วนของ  "Collection Methods" 
    ให้คลิกเลือก "Data Input Methods"  จะได้หน้าเวบ "Console->Data Input Methods"
    ไปด้านขวาส่วนของ "Data Input Methods"  ให้คลิกเลือก "Add"  จะได้หน้าเวบ "Console->Data Input Methods->(Edit)"
    ให้ไปด้านขวาส่วนของ "Data Input Methods(new)"  ที่ช่อง "Name" ใส่ป้อนชื่อตามต้องการตัวอย่างว่า "MY - Get Memory Usage"
    ที่ช่อง "Input Type"  ให้เลือกเปลี่ยนเป็น "Script/Command"
    ที่ช่อง "Input String" ให้ป้อนชื่อแฟ้ม script ตามต้องการตัวอย่างว่า  sh /usr/share/cacti/site/scripts/mymem.sh แล้วคลิกปุ่ม "create"
    หน้าเวบจะเปลี่ยนไปมีคำว่า Save Successful. ออกมา ให้ไปที่ส่วนของ "Output Fields"  คลิกเลือก "Add"
    จะได้หน้าเวบ  " Console -> Data Input Methods -> (Edit) -> Data Input Fields"
    ไปที่ส่วนของ "Output Fields [edit: ...]" ช่อง "Field [Output]" ให้ป้อนตามต้องการตัวอย่างว่า "FreeKbytes"
    ช่อง "Friendly Name" ให้ป้อนตามต้องการตัวอย่างว่า "Free in Kilobytes"
    ช่อง "Update RRD File" ยังคงคลิกเลือกไว้เหมือนเดิม แล้วคลิกปุ่ม "create"
    ไปที่ส่วนของ "Output Fields"  อีกครั้งคลิกเลือก "Add"  จะได้หน้าเวบ  " Console -> Data Input Methods -> (Edit) -> Data Input Fields"
    ไปที่ส่วนของ "Output Fields [edit: ...]" ช่อง "Field [Output]" ให้ป้อนตามต้องการตัวอย่างว่า "SwapKbytes"
    ช่อง "Friendly Name" ให้ป้อนตามต้องการตัวอย่างว่า "Swap used in Kilobytes"
    ช่อง "Update RRD File" ยังคงคลิกเลือกไว้เหมือนเดิม แล้วคลิกปุ่ม "create" เสร็จแล้วคลิกปุ่ม "save"

    เริ่มสร้าง Data Templates ไปด้านซ้ายที่ส่วนของ  "Templates"  ให้คลิกเลือก "Data Templates"  จะได้หน้าเวบ "Templates -> Data Templates"
    ไปที่ส่วนของ "Template Names**"  ไปที่ช่อง "Linux - Memory - Free" ให้คลิกเลือกไว้ก่อน
    แล้วไปที่ด้านล่างสุดช่อง " Choose an action:" ให้เลือกเปลี่ยนเป็น "Duplicate" แล้วคลิกปุ่ม "go"  จะได้หน้าเวบ "Duplicate"
    ที่ช่อง "Title Format:" ให้ป้อนตามต้องการตัวอย่างว่า "MY - Memory - Free" แล้วคลิกปุ่ม "yes" หน้าเวบจะเปลี่ยน
    ไปที่ส่วนของ "Template Names**" อีกครั้ง ไปที่ช่อง "MY - Memory - Free" ให้คลิกเลือกเข้าไปทำงาน
    ไปที่ส่วนของ "Data Source" ที่ช่อง "Name" แก้ไขตามต้องการตัวอย่างว่า "|host_description| - MY - Memory - Free"
    ที่ช่อง "Data Input Method"  ให้เลือกเปลี่ยนเป็น "MY - Get Memory Usage"    แล้วคลิกปุ่ม "save"
    กลับไปที่ส่วนของ "Template Names**" อีกครั้ง ไปที่ช่อง "MY - Memory - Free" ให้คลิกเลือกเข้าไปทำงาน
    ไปที่ส่วนของ "Data Source Item [mem_buffers]"  ที่ช่อง "Internal Data Source Name"  ให้เปลี่ยนเป็นว่า "Free" 
    ที่ช่อง "Output Field" ให้เลือกเปลี่ยนเป็น "FreeKbytes - Free in Kilobytes" แล้วคลิกปุ่ม "save"
    กลับไปที่ส่วนของ "Template Names**" อีกครั้ง ไปที่ช่อง "MY - Memory - Free" ให้คลิกเลือกเข้าไปทำงาน
    ไปที่ส่วนของ "Data Source Item [Free]" ให้คลิกปุ่ม "New"  หน้าเวบจะเปลี่ยน
    ไปที่ส่วนของ "Data Source Item [ds]" ที่ช่อง "Internal Data Source Name"  ให้เปลี่ยนเป็นว่า "Swap"
    ที่ช่อง "Output Field" ให้เลือกเปลี่ยนเป็น "SwapKbytes - Swap used in Kilobytes" แล้วคลิกปุ่ม "save"

    เริ่มสร้าง Graph Templates ไปด้านซ้ายที่ส่วนของ  "Templates"  ให้คลิกเลือก "Graph Templates"  จะได้หน้าเวบ "Console -> Graph Templates"
    ไปที่ส่วนของ "Template Titles**"  ไปที่ช่อง "Linux - Memory Usage" ให้คลิกเลือกไว้
    แล้วไปที่ด้านล่างสุดช่อง " Choose an action:" ให้เลือกเปลี่ยนเป็น "Duplicate" แล้วคลิกปุ่ม "go"  จะได้หน้าเวบ "Duplicate"
    ที่ช่อง "Title Format:" ให้ป้อนตามต้องการตัวอย่างว่า "MY - Memory Usage" แล้วคลิกปุ่ม "yes"
    ไปที่ส่วนของ "Template Titles**"  อีกครั้ง ไปที่ช่อง "MY - Memory Usage" ให้คลิกเลือกเข้าไปทำงาน
    ได้หน้าเวบ "Console -> Graph Templates -> (Edit)"  ไปที่ส่วนของ "Graph Template Items [edit: MY - Memory Usage]"
    ที่ช่อง "Item # 1" ให้คลิกเข้าไปทำงาน ได้หน้าเวบ "Console -> Graph Templates -> (Edit) -> Graph Template Items"
    ที่ช่อง "Data Source [Field Not Templated]" ให้เลือกปลี่ยนเป็น  "MY - Memory - Free -(Free)" แล้วคลิกปุ่ม "save"
    ทำแบบนี้กับ "Item #2", "item #3" และ "item #4"  ด้วย
    กลับไปที่ช่อง "Item # 5" ให้คลิกเข้าไปทำงาน ได้หน้าเวบ "Console -> Graph Templates -> (Edit) -> Graph Template Items"
    ที่ช่อง "Data Source [Field Not Templated]" ให้เลือกปลี่ยนเป็น  "MY - Memory - Free -(Swap)" แล้วคลิกปุ่ม "save"
    ทำแบบนี้กับ "Item #5", "item #6" และ "item #7"  ด้วย
    ที่ช่อง "Item # ." ที่เหลือไม่ใช้งาน ให้คลิกเครื่องหมาย x เพื่อลบทิ้งทั้งหมด
    ไปที่ส่วนของ "<Graph Item Inputs" ที่ช่อง "Free Data Source" และ "Swap Data Source" ให้คลิกเครื่องหมาย x เพื่อลบทิ้ง
    ไปที่ส่วนของ "Graph Template" ที่ช่อง "Title (--title)" ให้เปลี่ยนตามต้องการ ตัวอย่างนี้เป็น "|host_description| - MY Memory Usage"   แล้วคลิกปุ่ม "save"

    เริ่มสร้างกราฟ ไปด้านซ้ายที่ส่วนของ  "Create" ให้คลิกเลือก "New Graphs"  จะได้หน้าเวบ "Create New Graphs"
    ไปที่ช่อง "Host:" ให้เลือก host ที่ต้องการ ตัวอย่างนี้ยังคงเลือก "Localhost(127.0.0.1)"
    ไปที่ช่อง "Graph Types:" ให้คลิกเลือกเปลี่ยนเป็น "Graph Template Based"
    ไปที่ส่วนของ "Graph Template Name" ที่ช่อง "Create:" ให้เลือกเปลี่ยนเป็น "MY - Memory Usage" แล้วคลิกปุ่ม "create"
    ทำแค่นี้ก็จะได้กราฟที่ต้องการแล้ว กลับไปผลงานโดยคลิกเลือกแถบ "graphs" จะได้หน้าเวบรูปกราฟแสดงออกมา