基于centos6.7的cacti 1.1.1 安装配置 由于最近升级监控系统,虽然没有中文版,但是用谷歌浏览器翻译将就下还能用,所以决定升级为新版的cacti 1.1.1版本,(回头一看官网居然又出来最新的1.1.3版),然而后面的数据迁移,估计又要头疼很久了,本篇不包含这个就不说了,以下是新版cacti的安装教程,新cacti老版lamp部分软件不兼容了,就直接连系统全部重装。 #yum -y update //为了防止各种蛋疼的问题,更新一下
vi /etc/sysconfig/selinux //把SELINUX=enforcing改为SELINUX=disabled
setenforce 0 //立即关闭selinux,上一步修改要重启系统后才生效
放行80、3306端口
iptables -I INPUT -p tcp --dport 80 -jACCEPT ;
iptables -I INPUT -p tcp--dport 3306 -j ACCEPT ; //mysql 需要用到
#service iptables save #service iptables restart 同样防止安装过程中出现各种蛋疼报错。。 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pango-devel compat-libstdc++-33 libstdc++.so.5 lsof vim help2man //centos6.5装这个libstdc++.so.5要yum whatprovides libstdc++.so.5
安装cacti依赖的软件 #yum -y install httpd php php-process php-ldap php-mbstring php-gd php-pdo php-snmp php-mysql lm_sensors net-snmp net-snmp-utils net-snmp-libs rrdtool rrdtool-devel perl-DBI perl-rrdtool perl-DBD-MySQL wqy-zenhei-fonts 装好后: #vim /etc/php.ini 查找并修改date.timezone = Asia/Shanghai //否则后面装好后会告警 查找并注释 file_uploads = on //官网文档提示,如果cacti要导入模板,需要注释掉这句 2装好依赖软件之后,snmp有3个地方需要配置一下 3 #vim /etc/snmp/snmpd.conf 第41行:将 com2secnotConfigUser default public 中的 "default" 改为 "127.0.0.1" 提示 :41可直接跳到41行,下面同理 第62行:将 accessnotConfigGroup "" any noauth exact systemview none none 中的 "systemview" 改为 "all" 第85行:将 #viewall include .1 80 这一行前面的 # 号去掉 配置好snmp以后我们来启动2个重要的服务 #service snmpd start
#service httpd start #chkconfig snmpd on //设置开机启动 #chkconfig httpd on
安装并配置cacti 在官网下载cacti #tar xzvf cacti-1.1.1.tar.gz #mv cacti-1.1.1 /var/www/html/cacti
下载和设置mysql数据库 #wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm //下载mysql的yum源,以安装mysql5.7, 5.5以上的版本cacti才兼容
rpm -ivh mysql57-community-release-el6-9.noarch.rpm
yum install mysql-community-server mysql-devel //这里要安装mysql-devel 不然装spine的时候,会报错
修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables
#service mysqld start #chkconfig mysqld on #mysql //进入mysql mysql> update mysql.user setauthentication_string=password('数据库密码') where user='root' and Host ='localhost'; mysql> flush privileges; mysql> quit;
将/etc/my.cnf文件还原,注释掉skip-grant-tables #service mysqld restart //重新启动mysql #mysql -u root -p //输入刚才设置的密码 mysql>alter user 'root'@'localhost' identified by '数据库密码'; //再次执行修改密码的命令(和之前的密码相同),新版数据库的安全要求高,密码需包含大小字母数字和特殊符号 mysql>create database cactidb; //首先创建cacti数据库,注意别丢了分号 mysql>grant all privileges on cactidb.* to cacti@localhost identified by '新密码' with grant option; //创建cacti用户并授权 mysql>use cactidb; mysql>set collation_server=utf8mb4_unicode_ci; //mysql默认为latin1_swedish_ci mysql>set character_set_client=utf8mb4; //mysql默认为latin1 mysql>source /var/www/html/cacti/cacti.sql; //导入cacti数据库文件 mysql>grant select on mysql.time_zone_name to 'cacti'@'localhost' identified by '数据库密码'; //给cacti 对mysql.time_zone_name表的查询权限(这两个命令需执行,否则安装中途会报错) mysql> flush privileges; mysql>exit
#vim /var/www/html/cacti/include/config.php $database_type = "mysql"; $database_default = "cactidb"; $database_hostname ="localhost"; $database_username = "cacti"; $database_password = " 数据库密码 "; $database_port = "3306"; 执行命令,否则安装过程会报错
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p mysql //执行时会有告警,忽略
修改并添加mysql默认参数,以支持cacti版本要求,修改完成后必须重启mysql #vim /etc/my.cnf
character-set-server=utf8 //这里,上面在mysql 设置也没生效,直接在配置文件修改后就生效了 max_heap_table_size=2048M
max_allowed_packet=16777216 tmp_table_size=64M join_buffer_size=64M innodb_buffer_pool_size=7811M innodb_doublewrite=OFF innodb_flush_log_at_timeout=3 innodb_read_io_threads=32 innodb_write_io_threads=16
service mysqld restart
修改目录的所有者为apache #cd /var/www/html/ # chown -R apache:apache cacti
增加cacti 用户以用来写入rrd和log目录的数据,否则就会生成不了图片 #useradd cacti #cd cacti #chown -R cacti rra/ log/
安装spine (选装,不装可以直接跳过) 官网下载spine #tar zxvf cacti-spine-1.1.3.tar.gz #cd cacti-spine-1.1.3 #./configure #make&&make install //会默认安装在/usr/local/spine,cacti里的路径不用改 #cd /usr/local/spine #mv spine.conf.dist spine.conf #vim spine.conf //修改下面的权限,并保存退出 DB_Host localhost DB_Database cactidb DB_User cacti DB_Pass 数据库密码 #cp /usr/local/spine/etc/spine.conf /etc/spine.conf #/usr/local/spine/bin/spine Cacti安装 http://ip/cacti 打开并安装,这里就直接默认选项确认就可以了,确认好路径和rrd的版本,就可以了 添加任务计划 具体多长时间让cacti生成一次监控图表自己决定,这里以cacti的默认时间5分钟生成一次为例 #crontab -e 加入这一行保存即可 */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
Ps:如果配置完成后再装spine的话(原先是使用的cmd.php),会导致能画图但图里数据不再更新,注意需要把/var/www/html/cacti/rra 下的文件删除后, 再执行下面命令
/usr/bin/php /var/www/html/poller.php --force
service crond restart 等一下就有图了
由睿江云运维人员提供,想了解更多,请登陆www.eflycloud.com