使用cacti监控机器

Cacti 基于php(前端),snmp(获取监控主机信息),rrdtool(数据存储和图表生成),mysql(程序存储与变量数据),后期可以添加其他插件完善功能,此处只是简单部署介绍. 使用包cacti-0.8.8h.tar.gz,还有使用LNMP(linux+nginx+mysql+php)环境

①搭建LNMP

使用CentOS7,关闭防火墙和selinux

nginx:需要pcre,zlib和openssl,通过yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y 安装

然后编译nginx ./configure --prefix=/usr/local/nginx && make && make install ,后面再讲配置

mariadb:通过yum安装的版本为mariadb(mysql开源版),如果有需要可以自行编译mysql,这里使用yum install mariadb mariadb-server mariadb-devel -y 然后cp /usr/share/mysql/my-huge.cnf  /etc/my.cnf 和执行mysql_secure_installation初始化数据库

php:yum install php php-mysql  php-fpm php-gd libjpeg* php-snmp php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmatch php-mhash -y  这里安装的都是一些php支持库,而且会默认依赖httpd,php还是按照个人能力手动编译较好,然后修改/etc/php.ini 调整时区date.timezone=PRC(不然后期使用cacti会异常)

②cacti部署

建立cacti用户:useradd -s /sbin/nologin -M cacti

把cacti-0.8.8h.tar.gz解压到web服务器解析的目录上,这里使用/usr/local/nginx/html/cacti

tar zxvf cacti-0.8.8h.tar.gz -C /usr/local/nginx/html/ 
mv /usr/local/nginx/html/cacti-0.8.8h  /usr/local/nginx/html/cacti

授权cacti目录并且修改两个文件的权限,避免一些权限问题

chown -R cacti:cacti /usr/local/nginx/html/cacti
chmod 0777 /usr/local/nginx/html/cacti/log
chmod 0777 /usr/local/nginx/html/cacti/rra

启动数据库systemctl start mariadb.service并且设置自启动 systemctl enable !$

建立cacti数据库,mysql -u root -p (输入刚才初始化mariadb的密码) 然后 

grant all on cacti.* to cacti@localhost indentified by 'cacti';
flush privileges; 

导入默认cacti数据库 mysql -u root -p cacti < /usr/local/nginx/html/cacti/cacti.sql  如果导入失败可以进入数据库再尝试

drop database cacti;

编辑修改/cacti/include/config.php,按照你的数据库实际修改

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;

然后配置cacti在web上可用,编辑nginx.conf修改部分内容,其中cacti和php按照实际修改路径

server
{
    listen       80;
    server_name  localhost;

    location /cacti
    {
        root   /usr/local/nginx/html;
        index  index.php index.html index.htm;
    }

    location ~ \.php$
    {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/$fastcgi_script_name;
        include        /usr/local/nginx/conf/fastcgi_params;
    }
}

③添加配置net-snmp和rrdtool

yum install rrdtool rrdtool-devel net-snmp net-snmp-* -y

通过crontab -e编辑一个抓图任务,按照实际修改php和cacti路径

*/5 * * * * /usr/bin/php /usr/local/nginx/html/cacti/poller.php > /dev/null 2>&1

编辑/etc/snmp/snmpd.conf,以下是一份比较简单的设置

syslocation  "SHANGHAI P.R.China"            #设置区域信息      
syscontact   youngyuyeah@localhost.com       #设置系统联系人邮箱
rocommunity  public   127.0.0.1
rwcommunity  cacti
com2sec  cacti       127.0.0.1       public  #设置一个共同体名称public,和可以访问的用户cacti和来源host,public也相当于cacti的密码
com2sec  cacti       localhost       public
group    cacti_group    v1              cacti #定义一个组名,和组的安全级别,把cacti用户加入组
group    cacti_group    v2c             cacti
view      all         included        .1                   80     #定义view视图
access    cacti_group  ""  any   noauth  exact   all  none  none  #定义cacti_group组在view的操作权限

使用snmpwalk -v 2c -c public 127.0.0.1测试[-v版本 -c 密码 和IP],如果有回显证明配置正确

实际中将127.0.0.1改为cacti机器地址,然后将snmpd.conf存放至需要监控的远程机器上并且启动snmpd进程

启动相对应的所有应用,如果以上一切都执行无异常那么可以通过访问http://ip/cacti来访问cacti的图形界面了,其他的配置通过图形界面操作简单很多了,图形界面可能出现的问题就是图不显示,那么可能是采集有问题,或者snmp通讯异常,如果没有字都显示为框框,那么是缺少字体导致的,给服务器安装一个字体即可


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值