文章目录
前言
所以除了学习zabbix,我们也可以了解一下cacti。
但是不是有特别有必要
我们的实验环境是rhel7.6,安装的软件是cacti1.2.
简介
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。他的架构如下图所示:
- Cacti是通过 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教学。
安装
安装http以及php及php相关扩展
yum install -y httpd php
yum install –y php-mysql php-snmp php-xml php-ldap php-gd php-mbstring php-posix
更改php时区设置:
打开http并设置为开机启动:
systemctl start httpd && systemctl enable httpd
安装数据库mariadb,配置yum源:
[root@localhost ~]# vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
安装mariadb:
yum install -y MariaDB-server MariaDB-client MariaDB-devel
启动并设置为开机启动:
systemctl start mariadb && systemctl enable mariadb
初始化数据库,设置新密码:
[root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
......
Enter current password for root (enter for none): //初始数据库密码为空,直接按回车键
OK, successfully used password, moving on...
......
Set root password? [Y/n] Y //输入root管理员密码
New password:
Re-enter new password:
Password updated successfully!
......
Remove anonymous users? [Y/n] Y //删除匿名账号
... Success!
......
Disallow root login remotely? [Y/n] Y //禁止root管理员从远程登录
... Success!
.......
Remove test database and access to it? [Y/n] Y //删除test数据库并取消对它的访问权限
......
Reload privilege tables now? [Y/n] Y //刷新授权表,让初始化后的设定立即生效
... Success!
修改数据库的配置:
[root@cacti ~]# vim /etc/my.cnf.d/server.cnf
[server]
# this is only for the mysqld standalone daemon
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_heap_table_size = 256M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_per_table = ON
innodb_buffer_pool_size = 1024M
innodb_doublewrite = OFF
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads =16
innodb_file_format = Barracuda
innodb_large_prefix = 1
安装snmp及其相关扩展(注意版本号得一致)
yum install –y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl
配置snmp(注意行号)
[root@server1 ~]# vim /etc/snmp/snmpd.conf
41 com2sec notConfigUser 192.168.1.111 public
62 access notConfigGroup "" any noauth exact all none none
85 view all included .1