什么是cacti和为啥米使用这个我就不多说了,网上介绍一大堆。下面直接写流程。我的系统环境是ubuntu12.04,全新安装, xampp-linux-1.8.0,cacti0.8.8a,net-snmp5.7.1,cacti-spine0.8.8a。
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包。XAMPP的安装参照了cacti网站的流程,想要了解可以猛击这里。XAMPP版本选用了xampp-linux-1.8.0.tar.gz。首先下载该版本,我的下载是放在用户目录tianya/下载中。
1. 打开终端,并切换到目录tianya/下载下。
> cd 下载
找到xampp-linux-1.6.3b.tar.gz并拷贝到/opt目录下
> sudo cp xampp-linux-1.6.3b.tar.gz /opt
> cd /opt
>sudo tar -xvzf xampp-linux-1.6.3b.tar.gz
解压之后可以看到/opt目录下有一个新目录lampp,此时为节省空间,可以将xampp-linux-1.8.0.tar.gz压缩包删除。
> sudo rm -rf xampp-linux-1.8.0.tar.gz
2. 配置xampp
进入lampp目录,直接启动
> cd lampp
> sudo ./lampp start
然后打开firefox浏览器,输入 http://localhost,就可以看到xampp的主界面,这一步安装都会很顺利,不过也可能你以前单独装过apache,mysql等软件,那么会得到提示说某个进程已经启动,把他们干掉就可以了。
看到xampp界面后先不忙去点phpMyadmin,先去做一下安全设置。
终端中在/opt/lampp目录下输入命令 :
> sudo ./lampp security
这里会依次设置xampp的密码,phpmyadmin的pma用户密码,root用户密码,ftp密码。
4.配置cacti数据库
设置完成后再次打开localhost,这时就会要求输入密码登陆:
登陆后点击左侧界面的phpMyadmin,输入用户名密码,采用root用户登录,
创建一个cacti数据库cactidb,并且创建一个用户cactizter,并为该用户配置cactidb的完全控制权限。
到这里,我们的安装暂告一段落。
为安装配置这个本人可是吃了大苦头了,一个星期都苦不堪言,不堪回首啊,啥都不说了。
监控服务器不能apt-get install 方式安装snmp snmpd,这样后面编译安装cacti-spine时会提示找不到net-snmp的相关头文件,你就不得不卸载snmp,snmpd,然后用编译安装的方式,当你编译安装之后你会发现snmpd这个服务无论如何都不会启动,总是提示无法打开默认端口或者161端口:
> Can not open spesified endpoint “”,
或
> Can not open spesified endpoint “udp:161”,
1. 编译安装net-snmp
从官网下载net-snmp的最新版本,我用的是net-snmp5.7.1。由于net-snmp依赖于libperl-dev,要先安装依赖包libperl-dev,依赖包的安装过程不提了。
下载net-snmp源码,
http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/net-snmp-5.7.1.tar.gz/download
下载完成后,用终端进入到“下载”目录,解压缩net-snmp-5.7.1.tar.gz,然后进入到解压的目录:
> tar -zxvf net-snmp-5.7.1.tar.gz
> cd net-snmp-5.7.1/
1.配置安装
运行config,输入以下命令:
> ./configure --with-default-snmp-version="3" --with-sys-contact="@@no.where" --with-sys-location="Unknown"
--with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp"
--with-mib-modules=ucd-snmp/diskio
--with-mib-modules=ucd-snmp/diskio:可以使服务器支持磁盘I/O监控。
Configure完成后,出现以下信息:
表示配置一切ok,可以进行编译安装了。
如果有提示cannot find –lperl错误,说明没有安装perl依赖包,用apt-get 安装libperl-dev即可,然后重新运行配置。
2. 编译安装
编译安装比较简单,只要运行make,make install这两个命令即可,但是要注意这两个命令要用sudo来执行。
首先用make命令编译:
> sudo make
然后安装:
> sudo make install
验证安装是否成功,如下所示:
> snmpget --version
如果成功,则显示当前的安装版本号,NET-SNMP version: 5.7.1
如果提示如下错误:
snmpget: error while loading shared libraries: libnetsnmp.so.30: cannot open shared object file: No such file or directory
则解决方案如下:将libnetsnmp.so.30拷贝到/usr/lib/目录
> cp /usr/local/lib/libnetsnmp.so.30 /usr/lib
或者将/usr/local/lib下所有的包都copy到/usr/lib下即可,再次运行以上获取版本的命令,即可正确输出版本号,表示Ubuntu下安装net-snmp成功!
3.建立配置文件
主要是指创建snmpd.conf这个配置文件。有两种方式:自己写配置文件和命令行方式。
由于5.7.1版本的配置文件的配置方式和以前的版本不一样了,因此没有使用网上介绍较多的自己写配制文件的方法,而是采用了命令行配置方式,回答一堆问题。
> snmpconf –g basic_setup
关于命令行方式,可以参考这个博客的指导,很详细:
http://lluxury.blog.51cto.com/900108/196249/
还有个手册:
http://blog.csdn.net/fxzhang/article/details/5422088
配置完成后,把生成的snmpd.conf文件拷贝到/usr/local/share/snmp/目录下,然后运行下面的命令:
> cp snmpd.conf /usr/local/share/snmp/
> sudo /usr/local/sbin/snmpd –c /usr/local/share/snmp/snmpd.conf
这样snmpd就运行起来,可以用ps命令查询一下:
> ps aux|grep snmp
见到如下结果:
说明snmpd已经启动。再查端口:
> netstat –nap|grep 161
Ok,一切正常。
使snmpd可以开机自启动,打开/etc/rc.local文件,加一句:
sudo /usr/local/sbin/snmpd –c /usr/local/share/snmp/snmpd.conf
然后运行一下snmpwalk,检验配置文件是否正常。
> snmpwalk -v 2c -c public localhost
如果有一堆数据出来,说明配置文件没有问题。Ok,到此net-snmp就完成安装了。