Golfreeze.packetlove.com: Life style of Golfreeze Canon400D Family kammtan.com Jazz Freebsd Unix Linux System Admin guitar Music
All about unix linux freebsd and FAQ for Packetlove.com Web hosting , Mail hosting , VoIP + IP PBX server => all application on unix knowledges by golfreeze => Topic started by: golfreeze on มกราคม 23, 2011, 01:05:33 AM
-
####
#Create graph cacti in my style
####
Packages:
1.rrdtool
2.apache22+php5+MYsql
3.cacti+report+syslog
4.snmp+(net-snmp)
install net-snmp
#cd /usr/ports/net-mgmt/net-snmp
#make install clean
install php5-snmp
#cd /usr/ports/lang/php5-extension
#make config
เลือก snmp ด้วย
#make install clean
install rrdtool
#cd /usr/ports/net/rrdtool
#make install clean
#fetch http://www.cacti.net/downloads/cacti-0.8.7a.tar.gz
# Unzip and Untar
tar xvf cacti-0.8.6j.tar.gz
# Put Cacti under your public web area document root
mv /usr/src/ cacti-0.8.6j /opt/apache/htdocs/cacti
# Create the MySQL database:
/opt/mysql/bin/mysqladmin --user=root -p create cacti
# Import the default cacti database:
/opt/mysql/bin/mysql --user=root -p cacti < /opt/apache/htdocs/cacti/cacti.sql
# Create a MySQL username and password for Cacti
/opt/mysql/bin/mysql --user=root -p mysql
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
GRANT ALL ON cacti.* TO cactiuser@"%"; IDENTIFIED BY 'cactipassword';
flush privileges;
exit
# Edit include/config.php and specify the MySQL user, password and database for your Cacti
configuration
vi /opt/apache/htdocs/cacti/include/config.php
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipassword";
$config['url_path'] = '/cacti/';
เสร็จแล้ว ทำการสั่ง
/usr/local/bin/php poller.php เพื่อให้ gen graph ให้ด้วยน่ะครับ
หรือไม่ก็เพิ่มใน crontab
#crontab -e
*/5 * * * * /usr/local/bin/php /home/golf/public_html/cacti/poller.php 2>/dev/null
---------------------------------------------------------
เครื่องที่เป็น ศูนย์กลาง ให้ เพิ่มที่ไฟล์ /etc/hosts ด้วยเช่น
central = ip 10.0.1.149
10.0.1.149 x1.xxx.co.th
10.0.1.148 x2.xxx.co.th (เครื่องที่ตอบ snmp มาให้เครื่องหลัก)
10.0.1.146 x3.xxx.co.th(เครื่องที่ตอบ snmp มาให้เครื่องหลัก)
เช็คได้จากเครื่องหลัก คือ
#snmpwalk -v 1 -c ชื่อcommunity ipปลายทางที่ต้องการถามsnmp
-----------------------------------------------------------
#config /usr/local/share/snmp/snmpd.conf เครื่องหลัก
syslocation 0
syscontact golfreeze@packetlove.com
sysservices 0
#อนุญาติให้เครื่องไหนบ้างเข้ามาถาม snmp
rocommunity golf 10.0.1.149
#ส่วนของ config วง network ที่จะติดต่อ
com2sec work 10.0.0.0/23 golf
group MyROGroup v1 work
view all included .1 80
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
-----------------------------------------------------------
#config /usr/local/share/snmp/snmpd.conf เครื่องที่จะให้ถูกถามข้อมูล snmp
syslocation 0
syscontact golfreeze@packetlove.com
sysservices 0
#อนุญาติให้เครื่องไหนบ้างเข้ามาถาม snmp
rocommunity golf 10.0.1.149
#ส่วนของ config วง network ที่จะติดต่อ
com2sec work 10.0.0.0/23 golf
group MyROGroup v1 work
view all included .1 80
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
----------------------------------------------------------
#install ntop with cacti
แก้ bug ที่ xorg-libraly ก่อนครับไม่งั้นจะ มี error ว่ายังไม่ได้ ทำ symlink
Edit by
#cd /usr/X11R6
#find -d . -print | cpio -pvdam /usr/local
#mv /usr/X11R6 /usr/X11R6.backup
#ln -s /usr/local /usr/X11R6
can solve problem and
#cd /usr/ports/net/ntop ผมเลือก option tcpwrapper อันเดียวครับ
#make install clean
-
ปกติ เวลาผมจะ ลง cacti ไว้ที่เครื่องที่ SNMP ตัวหลักแล้ว ก็จะลง พวก
net-snmp ไว้ที่ เครื่องลูกๆ ด้วยครับ ดังนี้
#ลง snmp ที่ เครื่องลูก
#cd /usr/ports/net-mgmt/net-snmp
#make install clean
เสร็จแล้วทำการ config snmpd.conf ที่
#vi /usr/local/share/snmp/snmpd.conf
ดังนี้
syslocation 0
syscontact golfreeze@packetlove.com
sysservices 0
#อนุญาติให้เครื่องไหนบ้างเข้ามาถาม snmp
rocommunity golf 10.0.1.149
#ส่วนของ config วง network ที่จะติดต่อ
com2sec work 10.0.0.0/23 golf
group MyROGroup v1 work
view all included .1 80
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
เสร็จแล้วก็กำหนด
#vi /etc/rc.conf
add
snmpd_enable="YES"
แล้วสั่ง
#/usr/local/etc/rc.d/snmpd restart
แล้วลอง สั่ง snmpwalk จากเครื่อง SNMP หลักมาที่เครื่องนี้ ได้ครับ
-
สำหรับใครที่ลง snmp กับ OS linux distro Debian ก็ตามนี้ครับ
#apt-get install snmp snmpd
edit config ที่
#vi /etc/snmp/snmpd.conf
com2sec readonly 10.0.0.x/24 ชื่อcommunityเราครับ
เสร็จแล้วก็แก้ที่ไฟล์
#vi /etc/default/snmpd
SNMPDRUN=yes
ผมใส่ # หน้าตัวนี้ครับเพราะว่าถ้าใช้เป็น snmp client ให้ตัว snmp server มาเรียกใช้งาน
#SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
เสร็จแล้ว restart service
#/etc/init.d/snmpd restart
ครับ
check ว่า service รันปกติไม๊ ต้องมี port 199 ขึ้นดังนี้
#netstat -na | grep -i listen
tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN
-
อย่าลืม map ip client ไว้ที่เครื่อง SNMP server ในไฟล์
/etc/hosts ด้วยน่ะครับ
172.x.x.1 SATAN.XXX.COM SATAN
172.x.x.2 DEVIL.XXX.COM DEVIL
-
Please visit the Cacti website athttp://www.cacti.net/download_patches.phpIf any patch has been
released, you will find installation instructions there.
As an example, please find patch installation instructions for cacti 0.8.6j here. Do not apply those
patches to recent releases!
wget http://www.cacti.net/downloads/patches/0.8.6j/ping_php_version4_snmpgetnext.patch
wget http://www.cacti.net/downloads/patches/0.8.6j/tree_console_missing_hosts.patch
wget http://www.cacti.net/downloads/patches/0.8.6j/thumbnail_graphs_not_working.patch
wget http://www.cacti.net/downloads/patches/0.8.6j/graph_debug_lockup_fix.patch
wget http://www.cacti.net/downloads/patches/0.8.6j/snmpwalk_fix.patch
patch -p1 -N < ping_php_version4_snmpgetnext.patch
patch -p1 -N < tree_console_missing_hosts.patch
patch -p1 -N < thumbnail_graphs_not_working.patch
patch -p1 -N < graph_debug_lockup_fix.patch
patch -p1 -N < snmpwalk_fix.patch
-
ถ้าเปิด ระบบ debug ใน cacti แล้วเจอแบบนี้ แก้โดย
/usr/local/bin/rrdtool: /usr/lib/libpng12.so.0: no version information available (required by
/usr/local/tools/rrdtool-1.2.28//lib/librrd.so.2)
cp -rp /usr/local/lib/libpng12.so.0.22.0 /usr/lib/libpng12.so.0
อ้างอิงจาก link
http://xok.la/2008/09/libpng12_so_0_no_version_information_available.html
-
## ถ้าเป็น debian ก็ลงโดย
#apt-get install cacti
หลังจากนั้น ทำการ copy folder "site" มาที่ path document root
#cd /usr/share/cacti
#cp -r site /var/www/.
เสร็จแล้วเข้าไป config cacti ผ่านหน้าเว็บเลยครับ
http://xxx.com/cacti
default user เป็น admin
default pass เป็น admin
ครับแล้วมันจะให้เปลี่ยน หลังจากนี้ ก็ใส่เป็น pass ที่ต้องการ
เปิดดู กราฟก็วิ่งละ แต่มีแค่ localhost
เนื่องจาก เครื่อง server ผมยังไม่ได้ sync time ครับเลยทำใหม่โดย
#ntpdate clock.nectec.or.th
เสร็จแล้วสังเกตดูว่า กราฟก็นิ่งไปเลย รออยู่สักพักก็ไม่มา แล้วก็ลองเช๊คที่ debug graph แล้วก็ขึ้น OK
หมด
เลยลองลบ ไฟล์ graph .rrd ดูครับ ที่
#cd /var/lib/cacti
#cp -r rrd rrd.ori
#cd rrd
#rm *.rrd
เสร็จแล้วรอสักพัก กราฟก็วิ่งตามปกติครับ อิอิ
แต่อย่าลืมตั้ง poller.php ด้วยน่ะครับ
#crontab -e
*/5 * * * * root php /var/www/site/poller.php > /dev/null 2>&1
ลองดูน่ะครับ