CentOS6.X上安装Cacti网络监控系统和Spine轮询

简介:

    Cacti工具是一套开源的基于Web的网络监控和系统监控的图形解决方案。Cacti通过SNMP服务获取数据,并使用RRDtool绘制图形,提供非常直观的数据和用户管理功能。Cacti需要Web、MySQL和PHP的支持。Cacti一般用于监控网络流量、CPU负载、磁盘空间等。

wKioL1agqMHSuWDVAAGQ-kNaHtY778.jpg

Cacti官网:http://www.cacti.net/


安装Cacti需要安装的软件包:Apache、MySQL、PHP、RRTool、PHP-SNMP、NET-SNMP


一、安装Cacti需要安装的软件包

1、安装扩展源

[root@sh ~]# rpm -ivh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

2、安装Apache

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

3、安装MySQL

[root@sh ~]# yum -y install mysql mysql-server

4、安装PHP及相关软件

[root@sh ~]# yum install php php-mysql php-gd php-pear php-devel php-common php-cli php-mbstring php-mcrypt

5、启动Apache、MySQL

1
2
3
4
5
6
[root@sh ~] # chkconfig httpd on
[root@sh ~] # chkconfig mysqld on
[root@sh ~] # service httpd start
[root@sh ~] # service mysqld start
 
[root@sh ~] # mysqladmin -uroot password dbpasswd ;设置root用户密码

6、安装PHP-SNMP和NET-SNMP

[root@sh ~]# yum -y install php-snmp net-snmp net-snmp-utils net-snmp-libs

7、安装RRDTool

[root@sh ~]# yum -y install rrdtool

wKioL1agUPiRcShDAABcj__hdVY812.jpg

二、安装Cacti服务

1、下载cacti-0.8.8f.tar.gz

[root@sh ~]# wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz


2、解压到网站目录/var/www/html/下

[root@sh ~]# tar zxf cacti-0.8.8f.tar.gz 

[root@sh ~]# mv cacti-0.8.8f /var/www/html/cacti

[root@sh ~]# chown -R apache.apache /var/www/html/


3、创建Cacti数据库、用户和密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@sh ~] # mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection  id  is 9
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and /or  its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and /or  its
affiliates. Other names may be trademarks of their respective
owners.
Type  'help;'  or  '\h'  for  help. Type  '\c'  to  clear  the current input statement.
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL ON cacti.* TO  'cacti' @ 'localhost'  IDENTIFIED BY  'cactipass' ;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)
mysql> quit
Bye

4、导入Cacti数据库文件

[root@sh ~]# mysql -uroot -p cacti < /var/www/html/cacti/cacti.sql 


5、修改Cacti相关的MySQL数据库配置文件

1
[root@sh ~] # vim /var/www/html/cacti/include/config.php
1
2
3
4
5
6
7
8
/*  make  sure these values refect your actual database /host/user/password  */
$database_type =  "mysql" ;
$database_default =  "cacti" ;
$database_hostname =  "localhost" ;
$database_username =  "cacti" ;
$database_password =  "cactipass" ;
$database_port =  "3306" ;
$database_ssl =  false ;


6、添加防火墙规则允许外部访问80端口

1
2
3
[root@sh ~] # iptables -A INPUT -p udp --dport 80 -j ACCEPT
[root@sh ~] # iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@sh ~] # service iptables save


7、配置Cacti虚拟主机文件,创建/etc/httpd/conf.d/cacti.conf,允许192.168.1.0的网段访问

1
2
3
4
5
6
7
[root@sh ~] # vim /etc/httpd/conf.d/cacti.conf
Alias  /cacti     /var/www/html/cacti
<Directory  /var/www/html/cacti/ >
         Order Deny,Allow
         Deny from all
         Allow from 192.168.1.0 /24
< /Directory >


8、调整系统时间,并且修改php.ini对应的时区为'Asia/Shanghai'

1
2
3
4
[root@sh ~] # ntpdate time.nist.gov
[root@sh ~] # hwclock    ;写入BIOS
#添加时间自动同步计划任务
0 11 * * *  /usr/sbin/ntpdate  time .nist.gov;hwclock -w
1
2
[root@sh ~] # vim /etc/php.ini
date .timezone =  'Asia/Shanghai'

9、配置cacti轮询php脚本,添加cron计划任务,让它每五分钟执行一次以生成图像显示

1
* /5  * * * *   /usr/bin/php  /var/www/html/cacti/poller .php
1
2
3
4
5
6
7
[root@sh ~] # /usr/bin/php /var/www/html/cacti/poller.php
OK u:0.00 s:0.01 r:0.08
OK u:0.00 s:0.01 r:0.10
OK u:0.00 s:0.01 r:0.11
OK u:0.00 s:0.01 r:0.13
OK u:0.00 s:0.01 r:0.19
01 /21/2016  03:15:01 PM - SYSTEM STATS: Time:0.3285 Method:cmd.php Processes:1 Threads:N /A  Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:5


10、重启服务

1
2
3
4
[root@sh ~] # service httpd restart
[root@sh ~] # service mysqld restart
[root@sh ~] # service snmpd restart
[root@sh ~] # service crond restart


11、浏览器登录http://IP/cacti/install/完成安装向导

wKioL1aggwnBNB_-AAFgGoHIBts880.jpg

Cacti默认登录用户和密码都是admin,根据提示修改,进入Cacti的Web界面

wKioL1agg5_i1dssAADKHJGyKBs790.jpg

安装完成


三、安装Cacti加速轮询器Spine

1、下载spine-0.8.8f,版本对应cacti的版本

[root@sh ~]# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8f.tar.gz

2、安装Spine依赖的包

[root@sh ~]# yum -y install libtool net-snmp-devel mysql-devel

3、编译安装Spine

1
2
3
4
5
6
7
8
9
10
[root@sh cacti-spine-0.8.8f] # ./configure 
[root@sh cacti-spine-0.8.8f] # make
[root@sh cacti-spine-0.8.8f] # make install
make [1]: Entering directory ` /root/cacti-spine-0 .8.8f'
  /bin/mkdir  -p  '/usr/local/spine/bin'
   /bin/sh  . /libtool    --mode= install  /usr/bin/install  -c spine  '/usr/local/spine/bin'
libtool:  install :  /usr/bin/install  -c spine  /usr/local/spine/bin/spine
  /bin/mkdir  -p  '/usr/local/spine/etc'
  /usr/bin/install  -c -m 644 spine.conf.dist  '/usr/local/spine/etc'
make [1]: Leaving directory ` /root/cacti-spine-0 .8.8f'
1
2
[root@sh cacti-spine-0.8.8f] # ls /usr/local/spine/
bin  etc

4、配置spine.conf文件,指定cacti数据库、用户和密码

[root@sh ~]# cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf

[root@sh ~]# vim /etc/spine.conf 

wKioL1ag5LXAX0rgAAAUaZVITj4400.jpg


5、执行Spine轮询脚本获取监测主机信息

1
2
3
4
[root@sh ~] # /usr/local/spine/bin/spine 
SPINE: Using spine config  file  [ /etc/spine .conf]
SPINE: Version 0.8.8f starting
SPINE: Time: 0.2636 s, Threads: 5, Hosts: 2


6、在Cacti页面选择Spine为默认轮询方式

console--->Settings--->Paths--->Spine Poller File Path--->/usr/local/spine/bin/spine--->save

wKiom1ag5cHjUFGEAACBb3A_nS4105.jpg

Poller--->Poller Type--->spine--->save

wKioL1ag5pngKI3lAABp3QWA5Es787.jpg

Cacti配置完成



本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1737348

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Ubuntu 网络协议 网络安全
解决Ubuntu系统的网络连接问题
以上步骤通常可以帮助解决大多数Ubuntu系统的网络连接问题。如果问题仍然存在,可能需要更深入的诊断,或考虑联系网络管理员或专业技术人员。
2384 18
|
监控 安全 网络协议
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
1022 1
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
|
12月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
安全 KVM 虚拟化
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
771 2
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
755 2
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
811 18
|
机器学习/深度学习 数据采集 算法
【电力系统】MATLAB环境下基于神经网络的电力系统稳定性预测研究(Matlab代码实现)
【电力系统】MATLAB环境下基于神经网络的电力系统稳定性预测研究(Matlab代码实现)
257 1
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
900 0
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
459 0