CentOS 7.4安装Cacti监控

小柒博客
小柒博客
小柒博客
313
文章
92
评论
2020-05-0916:45:07 评论 5.7K 4059字阅读13分31秒

一、cacti介绍

1、什么是Cacti?

Cacti在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。

2、什么是SNMP?

snmp(Simple Network Management Protocal, 简单网络管理协议)在架构体系的监控子系统中将扮演重要角色。大体上,其基本原理是,在每一个被监控的主机或节点上 (如交换机)都运行了一个 agent,用来收集这个节点的所有相关的信息,同时监听 snmp 的 port,也就是 UDP 161,并从这个端口接收来自监控主机的指令(查询和设置)。

如果安装 net-snmp,被监控主机需要安装 net-snmp(包含了 snmpd 这个 agent),而监控端需要安装 net-snmp-utils,若接受被监控端通过trap-communicate发来的信息的话,则需要安装net-snmp,并启用trap服务。如果自行编译,需要 beecrypt(libbeecrypt)和 elf(libraryelf)的库。

3、什么是RRDtools?

RRDtool是指Round Robin Database 工具(环状数据库)。Round robin是一种处理定量数据、以及当前元素指针的技术。想象一个周边标有点的圆环--这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头--这就是指针。就像我们在一个圆环上一样,没有起点和终点,你可以一直往下走下去。过来一段时间,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,并且不需要维护。RRDtool处理RRD数据库。它用向RRD数据库存储数据、从RRD数据库中提取数据。

CentOS 7.4安装Cacti监控

Cacti整个系统的架构是这样的:基于SNMP协议,被监控端是服务器,或一些网络设备,网络管理工作站,采用Linux(或Freebsd)操作系统,并且安装Net-SNMP工具,使用RRDTOOL采集数据,存储数据,并用Cacti调用rrdtool显示出来。

CACTI采用PHP编写,基于B/S结构。

CentOS 7.4安装Cacti监控

Cacti的实例应用:

1)网络设置

2)主机系统

(1)网络接口流量(进与出的带宽)

(2)监控CPU的负载、内存等等

(3)监控磁盘的空间、进程数等等

3)cacti常见的监测对象

(1)服务器资源:CPU、内存、磁盘、进程、连接数等

(2)服务器类型:WEB、Mail、FTP、数据库、中间件

(3)网络接口:流量、转发速度、丢包率

(4)网络设备性能、配置文件(对比与备份)、路由数

(5)安全设备性能、连接数、攻击数

(6)设备运行状态:风扇、电源、温度

(7)机房运行环境:电流、电压、温湿度

二、Cacti安装

1、LAMP环境安装

#Install epel

[root@localhost ~]# yum -y install epel-release

#Install httpd

[root@localhost ~]# yum -y install httpd httpd-devel

#Install php

[root@localhost ~]# yum -y install php php-mysql php-snmp php-pdo perl-DBD-MySQL php php-devel php-mysql pcre pcre-devel openssl openssl-devel libxml2 libxml2-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel cmake php-common php-ldap php-mbstring php-mcrypt php-mbstring php-bcmath php-gd gd gd-devel php-xml php-ldap php-process

#Install Mariadb

[root@localhost ~]# yum -y install mariadb mariadb-devel mariadb-server

2、安装Cacti

[root@localhost ~]# yum -y install libart_lgpl libart_lgpl-devel rrdtool rrdtool-devel rrdtool-php

3、安装snmp

[root@localhost ~]# yum install -y net-snmp net-snmp-utils

4、创建cacti数据库及授权

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# mysql

MariaDB [(none)]> create database cacti;

MariaDB [(none)]> grant all on cacti.* to cacti@'localhost' identified by '123456';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

5、下载cacti安装包

[root@localhost ~]# wget https://www.cacti.net/downloads/cacti-1.2.12.tar.gz

[root@localhost ~]# tar xf cacti-1.2.12.tar.gz

[root@localhost ~]# mv cacti-1.2.12 /var/www/html/cacti

[root@localhost cacti]# cd /var/www/html/cacti

[root@localhost cacti]# chown -R apache.apache /var/www/html/cacti

6、初始化cacti数据库

[root@localhost cacti]# mysql -ucacti -p123456 cacti <cacti.sql

7、修改Cacti配置文件

[root@localhost cacti]# vim include/config.php

# 根据前面授权的用户名、密码配置

CentOS 7.4安装Cacti监控

8、修改PHP时区

[root@localhost html]# sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/' /etc/php.ini

9、启动httpd服务

[root@localhost html]# systemctl start httpd

10、访问Cacti

# 浏览器输入服务器IP,http://172.168.1.3/cacti

CentOS 7.4安装Cacti监控

# 默认账号和密码都是admin,首次登陆首先需要修改密码。

CentOS 7.4安装Cacti监控

11、安装向导

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

# 位置检查(不要问为什么,因为走了好多坑)

[root@localhost cacti]# sed -i '/memory_limit/s/128/800/' /etc/php.ini

[root@localhost cacti]# sed -i '/max_execution_time/s/30/60/' /etc/php.ini

# Mysql授权

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost IDENTIFIED BY '123456';

MariaDB [(none)]> flush privileges;

[root@localhost cacti]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -uroot mysql

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

# 因为我这里的网段就是192.168.1.0,所以选择默认

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

# 修改Cacti数据库字符集

MariaDB [(none)]> ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 编辑my.cnf,在mysqld段加入以下内容

character-set-server=utf8mb4

collation-server=utf8mb4_unicode_ci

# 重启Mariadb服务

[root@localhost cacti]# systemctl restart mariadb

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

CentOS 7.4安装Cacti监控

# Cacti WEB界面

CentOS 7.4安装Cacti监控

至此,Cacti安装完毕。

继续阅读
  • 微信号
  • 微信扫一扫加我!
  • weinxin
  • 微信公众号
  • 微信扫一扫关注我!
  • weinxin
小柒博客
  • 本文由 发表于 2020-05-0916:45:07
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: