CentOS6.5搭建Cacti
一、首先要安装Apache、PHP、MySQL、Net-SNMP和RRDTool,运用yum命令(在线安装)安装所有cacti依赖软件。过程如下:
#yum install mysql mysql-server php-mysql httpd php php-pdo lm_sensors net-snmp php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL net-snmp-libs
注:yum安装rrdtool中,由于rrdtool依赖的包比较多,所以请首先增加源,方式如下:
#vi /etc/yum.repos.d/CentOS-Base.repo
文件末尾增加如下链接:
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
(退出vi编辑器命令 :q!(退出不保存), :wq(保存并退出)
#rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
安装完成以后,可以查看以下httpd和mysqld服务的状态
#service httpd status
#service mysqld status
二、配置SNMP
#vi /etc/snmp/snmpd.conf
--将下边这行中的default
com2sec notConfigUser default public
--改为127.0.0.1
com2sec notConfigUser 127.0.0.1 public (注意:如果以后往cacti里添加其他设备,只要在被监控的设备上把127.0.0.1改为cacti服务器的地址就行了,其实这个地址就是cacti服务器地址)
--将下边这行中的systemview
access notConfigGroup "" any noauth exact systemview none none
--改为all
access notConfigGroup "" any noauth exact all none none
--将下边这行的注释"#"号去掉
#view all included .1 80
--启动snmpd服务
#service snmpd start (查看服务状态的命令:service 服务名称 status,如service snmpd status)
--启动httpd/mysql服务
#service httpd start
#service mysqld start
查看Apache是否运行正常的方法,浏览器输入127.0.0.1,看是否出现Apache的测试页面。
设置服务开机自启的命令:
#chkconfig xxx(需要自启服务的名称) on 如下例:
#chkconfig httpd on
可以将httpd、mysqld、snmpd服务设置成开机自启
三、安装cacti
1、下载cacti:
#wget http://www.cacti.net/downloads/cacti-0.8.8d.tar.gz
#tar -zvxf cacti-0.8.8d.tar.gz
#mv cacti-0.8.8d /var/www/html/cacti --将其放到/var/www/html目录下并改名
2、在数据库中建库、授权、导入数据库结构
请记得给数据库root设置一个密码,以保护安全。可以使用如下的命令来设置数据库root的密码:
#mysqladmin --user=root password somepassword
#mysqladmin --user=root --password reload --为用户root设置数据库密码
#mysql -u root --使用root身份登陆mysql,如 mysql -u root –p
mysql> create database cacti; --创建一个名为cacti的数据库
mysql> grant all privileges on cacti.* to cacti@localhost(Linux用户主机名) identified by 'cacti'(该用户登录数据库的密码)with grant option;
例如:mysql> grant all privileges on cacti.* to root@localhost identified by 'root' with grant option; --授权用户root的(远程)连接权限
mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti' with grant option;
mysql> grant all on cacti.* to root;
mysql> grant all on cacti.* to root@localhost;
mysql> grant all on cacti.* to cacti;
mysql> grant all on cacti.* to cacti@localhost;
mysql> use cacti; --启用cacti数据库
mysql> source /var/www/html/cacti/cacti.sql; --导入数据库结构
mysql> quit --退出数据库
退出数据库后,可以尝试root是否还可以重新登录mysql。
--配置cacti以连接数据库
#vi /var/www/html/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "root";
$database_password = "刚才设置的mysql数据库root的密码";
$database_port = "3306";
3、添加cacti用户,否则cacti不能写入rrd和log目录,将会无法生成图片(如果使用root用户,则可以不用添加,跳过该步骤)
#useradd cacti -d /var/www/html/cacti -s /bin/false
#chown -R cacti /var/www/html/cacti/rra /var/www/html/cacti/log
4、增加入一个计划任务,使得 cacti 每五分钟生成一个监控图表。
#crontab -e
--加入如下内容。注意poller.php的路径
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
有可能存在crontab命令没有安装的情况,具体安装方法如下:
1. 确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
2. 安装 crontab
执行 yum install -y vixie-cron
3. 确认是否安装成功:
执行 crontab -l
4. 看是否设置了开机自动启动
chkconfig --list crond
5. 启动crontab
service crond start
--如果暂时未看到图表,可以手工执行,生成图表
#php /var/www/html/cacti/poller.php > /dev/null 2>&1
5、到处完成cacti最后的配置,在浏览器输入:http://localhost/cacti,将进入cacti登录页面,第一次登录用户名和密码都是admin,它会要求你立即设置新密码。
6、完成设置后,通过http://localhost/cacti/,添加要监控的服务器、交换机等等。
四、错误处理:
1、字体在图形中显示不正常的解决方法:下载并安装cjkuni-fonts中文字体,字体名ukai.ttf;
#wget http://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/ttf-arphic-ukai_0.1.20060928.orig.tar.gz
#tar zxvf ttf-arphic-ukai_0.1.20060928.orig.tar.gz
#cd ttf-arphic-ukai-0.1.20060928/
#cp ukai.ttf /usr/share/fonts/ukai.ttf
2、cacti无法显示监控图表的解决方法:
1) 查看/var/www/html/cacti/rra目录是否可写,设置用户权限;
2) 系统时间设置问题;
3) RRDTool版本设置是否正确(查看RRDTool版本命令:#rrdtool -v),设置方法:Console -> Cacti Settings -> Genera -> RRDTool Utility Version -> RRDTool 1.3.X;(根据自己安装的rrdtool选择,查看rrdtool版本的方法:rrdtool -v)
3、登陆http://localhost/cacti访问cacti管理页面,提示如下:
You don't have permission to access /cacti on this server. 原因是SeLinux的设置导致权限问题,因此,我们需要关闭 Selinux |
1).查看SELinux状态:
# /usr/sbin/sestatus -v // 如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
# getenforce //也可以用这个命令检查
2).关闭SELinux:
a、临时关闭(不用重启机器):
# setenforce 0 // 设置SELinux 成为permissive模式 (关闭SELinux)
# setenforce 1 // 设置SELinux 成为enforcing模式 (开启SELinux)
b、修改配置文件需要重启机器:
# vi /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
重启机器即可
附注:
在CentOS下添加和删除用户命令:
添加用户 test:adduser test
修改test密码:passwd test
删除用户test: userdel test
删除用户以及用户目录: userdel -f test
Service httpd start
Service mysqld start
Service snmpd start
Service crond start
Setenforce 0
Iptables –F
设置IP地址、网关、DNS
约定:
第一块网卡为外网
第二块网卡为内网(没有外网的机器也要将内网配置在第二块网卡上)
说明:CentOS 6.5默认安装好之后是没有自动开启网络连接的!
输入账号root
再输入安装过程中设置的密码,登录到系统
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑配置文件,添加修改以下内容
BOOTPROTO=static #启用静态IP地址
ONBOOT=yes #开启自动启用网络连接
IPADDR=192.168.21.129 #设置IP地址
NETMASK=255.255.255.0 #设置子网掩码
GATEWAY=192.168.21.2 #设置网关
DNS1=8.8.8.8 #设置主DNS
DNS2=8.8.4.4 #设置备DNS
IPV6INIT=no #禁止IPV6
:wq! #保存退出
service ip6tables stop #停止IPV6服务
chkconfig ip6tables off #禁止IPV6开机启动
service yum-updatesd stop #关闭系统自动更新
chkconfig yum-updatesd off #禁止开启启动
service network restart #重启网络连接
ifconfig #查看IP地址
设置主机名
约定:
主机名命名规范:业务.机房.主备.域名
这里设置主机名为:bbs.hz.m.osyunwei.com
1、hostname “bbs.hz.m.osyunwei.com”
#设置主机名为bbs.hz.m.osyunwei.com
2、vi /etc/sysconfig/network #编辑配置文件
HOSTNAME= bbs.hz.m.osyunwei.com
#修改localhost.localdomain为bbs.hz.m.osyunwei.com
:wq! #保存退出
3、vi /etc/hosts #编辑配置文件
127.0.0.1 bbs.hz.m.osyunwei.com localhost
#修改localhost.localdomain为bbs.hz.m.osyunwei.com
:wq! #保存退出
shutdown -r now #重启系统
Linux修改主机名
1.临时修改主机名
显示主机名:
spark@master:~$ hostname
master
修改主机名:
spark@master:~$ sudo hostname hadoop
spark@master:~$ hostname
hadoop
PS:以上的修改只是临时修改,重启后就恢复原样了。
2.永久修改主机名
redhat/centos上永久修改
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.10.1
修改network的HOSTNAME项。点前面是主机名,点后面是域名。没有点就是主机名。
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=master
这个是永久修改,重启后生效。目前不知道怎么立即生效。
想立即生效,可以同时采用第一种方法。
还有一个修改是:
/etc/hosts
127.0.0.1 localhost.localdomain
127.0.0.1后面的那一部分。
deb/ubuntu上修改:
hostname
localhost.localdomain
sudo vi /etc/hostname
在/etc/hostname里面直接填上hostname为master
spark@localhost:~$ cat /etc/hostname
localhost
重启后,提示符变成了。
spark@master:~$
如果不想重启,则用hostname名令。
3. 其他修改方式
用sysctl 修改kernel.hostname
查看:
spark@master:~$ sysctl kernel.hostname
kernel.hostname = master
修改:
spark@master:~$ sudo sysctl kernel.hostname=hadoop
kernel.hostname = hadoop
重新打开shell就变成如下hostname了hadoop
spark@master:~$
centos彻底删除mysql
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql软件:
rpm –qa | grep mysql
有的话继续删除
转载于:https://blog.51cto.com/3886314/1670726