Linux Mysql cacti安装配置
2024-07-24 12:40:35
供稿:网友
cacti是一套开源的网络监控工具,可以监控主机的状态和负载情况,添加相应的模板后, 可以用来监控apache服务器和mysql服务器的运行状态,我安装这个 主要是为了监控mysql服务器的运行状态的。 cacti的网站:http://www.cacti.net/ 主机环境:CentOS 5.5 更新日期:20100717 mysql: mysql-5.0.77-4.el5_5.3 php: php-5.1.6-27.el5 apache: httpd-2.2.3-43.el5.centos cacti安装时会要求一些组件,比如snmp, php-xml,php-ldap(可选),这些倒不用太担心, 因为安装LAMP环境的时候多少也装了一些,即便没有,请使用yum命令, 我感觉centos的这个还是挺好的,虽然软件有时有些老了,但是还是可以用的。 手动把snmp的相关程序装下,不然最后首次配置的时候会找不到一些snmpwalk,snmpget什么的 [root@tigertall bin]# rpm -qa|grep snmp php-snmp-5.1.6-27.el5 net-snmp-utils-5.3.2.2-9.el5_5.1 net-snmp-5.3.2.2-9.el5_5.1 net-snmp-devel-5.3.2.2-9.el5_5.1 net-snmp-libs-5.3.2.2-9.el5_5.1 [root@tigertall bin]# 如果以上组件有缺失,请使用yum自己安装下。 使用yum安装 cacti [gaohu@tigertall ~]$ sudo yum install cacti 这个命令会自动安装相关的组件。 1.php配置要求 [gaohu@tigertall ~]$ php -m 这个命令可以检查php安装了哪些模块。 要求php扩展支持中已经配置了mysql.so,centos yum默认环境下 httpd的conf文件配置在 /etc/httpd/conf/httpd.conf 默认的加载项(php,mysql)配置目录 /etc/httpd/conf.d。 [root@tigertall conf.d]# ls bugzilla.conf manual.conf php.conf proxy_ajp.conf README ssl.conf welcome.conf cacti.conf perl.conf phpMyAdmin.conf python.conf squid.conf webalizer.conf [root@tigertall conf.d]# 可以看到,很多web相关的配置都在这里。 php的基础配置在 /etc/php.ini。 [root@tigertall conf.d]# cd /etc/php.d [root@tigertall php.d]# ls dbase.ini gd.ini mcrypt.ini mysql.ini pdo_mysql.ini pgsql.ini xmlwriter.ini dom.ini ldap.ini mhash.ini ncurses.ini pdo_pgsql.ini snmp.ini xsl.ini eaccelerator.ini mbstring.ini mysqli.ini pdo.ini pdo_sqlite.ini xmlreader.ini [root@tigertall php.d]# php.d目录下设置了一些php扩展组件的配置。查看mysql.ini,启用extension=mysql.so 查看snmp.in,启用extension=snmp.so 如果要启用导入模板的功能,还要启用文件上传,在/etc/php.ini中启用 file_uloads=on; 注释以下,如果没有注释 session.save_path = /tmp; 2.apache配置要求 在apache配置/etc/httpd/conf.d/php.conf中,检查一下语句是否启用,一般情况下, 应该是已经默认启用了的。 # PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. LoadModule php5_module modules/libphp5.so # # Cause the PHP interprester to handle files with a .php extension. AddHandler php5-script .php AddType text/html .php # # Add index.php to the list of files that will be served as directory # indexes. DirectoryIndex index.php 3.mysql配置要求 请记得给root设置一个秘密,以保护自己安全,呵呵。 可以使用如下的命令来更改root的密码: mysqladmin --user=root password somepassword mysqladmin --user=root --password reload 4.cacti安装配置 1.使用如下命令来安装cacti,这个会自动安装需要的组件。 [root@tigertall php.d]# yum install cacti 2.创建mysql数据库 [root@tigertall php.d]# mysqladmin -uroot -phandomse create cacti 3.导入默认的cacti数据库 如果使用yum默认安装,创建数据库的脚本默认在/usr/share/doc/cacti-0.8.7f/cacti.sql [root@tigertall php.d]# cd /usr/share/doc/cacti-0.8.7f/ 执行创建数据库的命令 [root@tigertall 0.8.7.f]# mysql -uroot -phandomse cacti < cacti.sql 4.创建cacti数据库的用户和密码, 登录到数据库 [root@tigertall 0.8.7.f]# mysql -u root -p 'pass' 用户授权,请把用户名,数据库和密码换成自己需要的设置。 mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword'; 刷新权限 mysql> flush privileges; 5.编辑cacti配置,做数据连接设置 [root@tigertall include]# vi /usr/share/cacti/include/config.php 这里有cacti连接使用的数据库类型,用户名,密码信息 /* make sure these values refect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactiuser"; $database_port = "3306"; /* Default session name - Session name must contain alpha characters */ #$cacti_session_name = "Cacti"; 把上述配置按照自己的需要设置 6.目录权限设置 [root@tigertall include]# cd /usr/share/cacti/ [root@tigertall cacti]# ll rra lrwxrwxrwx 1 root root 18 Jul 17 15:07 rra -> /var/lib/cacti/rra [root@tigertall cacti]# ll log lrwxrwxrwx 1 root root 15 Jul 17 15:07 log -> /var/log/cacti/ 从上述可以看到,rra实际上是var/lib/cacti/rra的一个软链接,log则是/var/log/cacti的一个软链接。 更改上述目录的权限,按需要更改属主,下面生成数据会用到这个用户。 [root@tigertall cacti]# chown -R gaohu rra/ log/ 7.配置自动作业时间 编辑crontab。 [root@tigertall log]# crontab -e 增加如下内容, */5 * * * * gaohu php /usr/share/cacti/poller.php > /dev/null 2>&1 以上内容意思是,每隔五分钟,执行下php脚本,统计下数据。 这里的目录要换成你实际cacti的安装目录位置,用户要使用上面配置的用户。 8.登录服务器 登录http://your-webserver/cacti 初始登录时,用户名和密码为admin,登录后,会要求立即切换密码。 4.Spine安装配置(可选) spine是一个基于C语言的,非常快速的轮询引擎。它是默认的cmd.php的可选替代。如果决定使用它的话, 需要自己来显式的安装和配置。cacti本身并不包含该引擎。 安装Spine的最简单的方法就是使用rpm或者使用ports。如果使用yum来进行安装,需要添加rpmforge的软件仓库。 如果使用源码,可以在cacti的主站下载源码包。下载的地址为: http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz 1.从cacti网站下载spine源码包 2.解压到本地目录,编译安装 安装spine需要有net-snmp-devel、mysql、mysql-devel、openssl-devel支持,请查看下是否已经安装。 使用以下命令来编译安装: tar xvzf cacti-spine-0.8.7g.tar.gz cd cacti-spine-0.8.7g ./configure make make install 默认安装在/usr/local/spine/目录下。 3.复制一份spine的配置文件。 [root@tigertall etc]# cd /usr/local/spine/etc/ [root@tigertall etc]# cp spine.conf.dist spine.conf 编辑spine.conf文件,设置Cacti数据的连接信息。 DB_Host localhost # 主机地址 DB_Database cacti # 数据库 DB_User gaohu # 数据库用户 DB_Pass pass # 数据库连接密码 DB_Port 3306 # 数据库连接端口 DB_presG 1 # 如果要配合0.8.7g之前的0.8.7的cacti工作,则配置成为1。 # 因为我主机安装时cacti 0.8.7e 所以设置成了1。 # 如果都是从g版本的源码安装,可以设置为0 4.设置Spine a)以admin用户登录到Cacti。 b)从目录菜单中选择设置"Settings",选择"Paths"选项卡。 c)在"Spine Poller File Path"中输入Spine可执行程序的完整路径,对我来说是/usr/local/spine/spine,保存设置。 d)选择"Poller"选项卡。 e)在"Poller Type"下拉框设置中,选择"spine"。 完成这些设置后,Cacti将会每5分钟执行一次Spine,来代替原来的cmd.php。 如果使用spine的过程中有任何问题,你可以随时将"Poller Type"切换回"cmd.php"。 4.应用补丁(可选) 安装完成后,如果觉得需要,可以打相应的补丁,但是,不要把就版本的补丁打到新的版本上。 大致的安装过程就是这样了。 5.Cacti的设置 下一篇写吧,呵呵 ^_^。