Centos使用Cacti监控你的网络

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDSClaw,2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:


使用Cacti监控你的网络(二)- Cacti的安装

借鉴以下站点内容
安装前的准备
首先要做到时间上必须准确,使用ntpdate来和网络时间服务器对时
crontab -e
编辑自动执行文档添加下面这一行
*/1 * * * * /usr/sbin/ntpdate time.nist.gov
上面表示每分钟同时间服务器进行一次同步。
接下来我们这次安装CACTI需要使用到mysql apache php 这三个我们使用tar包来进行安装,这样可以使用到最新版本的
另外要使用到zlib-devel zlib libpng-devel libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel fontconfig libxml2-devel   libxml2 libxml2-python gd-devel gd这些库。
卸载已经安装好的RPM包
首先我们如果CENTOS在安装时自带了mysql apache php的话就要用
rpm -e --nodeps httpd
rpm -e --nodeps mysql
rpm -e --nodeps php
使用上面的命令来将rpm安装好的删除掉,建议如果可以上网最好使用
yum -y remove httpd mysql php
因为yum来删除的话可以将相关联的包也删除掉,这样更加完美。
删除了上面的包后我们可以来进行安装了,安装顺序为mysql>apache>php
首先下载mysql并进行解压
 
 
一、 Cacti 的安装
 
1.安装环境: Centos 5
2.安装 MySQL、Apache、PHP
tar -xzvf mysql-5.0.22.tar.gz
cd mysql-5.0.22
grep mysql /etc/passwd
查看是否已经有mysql用户
useradd mysql
添加mysql用户,用于运行mysql服务。这样更安全,千万不能用root来运行mysql
./configure --prefix=/usr/local/mysql
将mysql进行配置,指定安装路径
make
进行编译
make install
进行安装
cd /usr/local/mysql/
进入mysql的安装目录
find ./ -name "*.cnf"
查找配置文件模板
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
将模板配置文件改名复制到/etc目录下
/usr/local/mysql/bin/mysql_install_db --user=mysql
生成数据库,必须指定数据库运行的用户名
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
设置目录所属组所属用户
/usr/local/mysql/bin/mysqld_safe --user=mysql&
将数据服务启动,加&是以后台方式运行,可以用jobs来查看后台运行的程序
vi /etc/rc.d/rc.local
在该文件中添加 /usr/local/mysql/bin/mysqld_safe --user=mysql& mysql 开机就启动
/usr/local/mysql/bin/mysqladmin -u root password '123456'
设置数据库root用户密码为123456
/usr/local/mysql/bin/mysql -u root -p
输入密码测试修改后的密码是否为123456
/usr/local/mysql/bin/mysqladmin -uroot -p variables
查看数据库输出数据(最大连接数,最大连接用户等)
//修改MySQL的最大连接数
# vi /etc/my.cnf
//添加以下行
[mysqld]
set-variable=max_connections=1000
set-variable=max_user_connections=500
set-variable=wait_timeout=200
//max_connections设置最大连接数为1000
//max_user_connections设置每用户最大连接数为500
//wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响。
//保存退出,并重新启动MySQL
killall mysqld
杀死mysql的进程
netstat -an |grep 3306
查看是否还有3306这个端口,没有则表明,已经把进程杀死了
//重新启动MySQL后使用下面的命令查看修改是否成功
# mysqladmin -uroot -p variables
Password:
//可以看到以下项说明修改成功
| max_connections                 | 1000
| max_user_connections            | 500
| wait_timeout                    | 200
 
(2).安装Apache
下载地址:[url]http://httpd.apache.org/[/url]
# tar –zxvf  httpd-2.2.4.tar.gz
# cd httpd-2.2.4
# ./configure --prefix=/usr/local/apache --enable-so
//编译时加上加载模块参数--enable-so
# make
# make install
#vi /usr/local/apache/conf/httpd.conf
  //修改Apache配置文件,添加ServerName  [url]www.yourdomain.com[/url]              (或ServerName 本机ip)
# vi /etc/rc.d/rc.local
  //在rc.local上加入一行/usr/local/apache/bin/apachectl –k start,系统启动时启动Apache服务。
(3).安装PHP
先安装zlib,freetype,libpng,jpeg以便于让PHP支持GD库(Cacti的WeatherMap插件必须要较新GD库的支持)在这里使用yum来对zlib,freetype,libpng.libjpeg等进行更新。也可以选择tar包来安装GD,本文是使用rpm格式安装的最新版本的GD

6).安装GD
yum -y update zlib-devel zlib libpng-devel libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel fontconfig libxml2-devel libxml2 libxml2-python gd-devel gd
 
9).安装PHP
PHP下载地址:[url]http://www.php.net/downloads.php#v5[/url]
tar -zxvf  php-5.2.3.tar.gz
cd php-5.2.3
安装之前要cp /usr/include/gd.h /usr/lib/gd.h 才可以进行后面的编译
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/lib --with-freetype-dir --with-png-dir --with-jpeg-dir --with-zlib --enable-gd-jis-conv --with-mail --enable-xml --enable-sockets
# make
# make install
# cp php.ini-recommended /usr/local/php/lib/php.ini
# ln –s /usr/local/php5/bin/* /usr/local/bin/
# vi /usr/local/apache/conf/httpd.conf
查找AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在其下加入 AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico
修改DirectoryIndex 行,添加index.php
修改为DirectoryIndex index.php index.html index.html.var
# vi /usr/local/apache/htdocs/test.php
添加以下行:
//php标记(用<代替[)
[?php       
 Phpinfo();
?]
wq保存退出。
# /usr/local/apache/bin/apachectl –k stop
#/usr/local/apache/bin/apachectl –k start
附注,有时候在访问测试页面,并不能出来,这里候要将php.ini中short_open_tag设置为on
或者将测试页的代码写成标准的php格式,要在第一行的?号后面加上php
 
在浏览器中输入: [url]http://www.yourdomain.com[/url]/test.php进行测试。
 
对php编译选项的解释:
--prefix=/usr/local/php   //指定PHP的安装目录
--with-apxs2=/usr/local/apache2/bin/apxs      //支持Apache模块
--with-mysql=/usr/local/mysql    //支持MySQl
--with-gd=/usr/local/libgd     //支持GD库
--enable-gd-native-ttf     //激活对本地 TrueType 字符串函数的支持
--with-ttf     //激活对 FreeType 1.x 的支持
--with-freetype-dir=/usr/local/freetype    //激活对 FreeType 2.x 的支持
--with-jpeg-dir=/usr/local/libjpeg //激活对 jpeg-6b 的支持
--with-png-dir=/usr   //激活对 png 的支持
--with-zlib-dir=/usr/local/zlib //激活对zlib 的支持
--enable-mbstring    //激活mbstring模块
--enable-gd-jis-conv //使JIS-mapped可用,支持日文字体
--with-mail   //支持Mail函数
--enable-xml     //支持XML
--enable-sockets      //支持套接字
     
1.安装RRDTool
安装RRDTool部分请参考本blog的NAGIOS部分中有一篇RRDTool安装。
 
2.安装net-snmp
yum install net-snmp*
使用yum可以将net-snmp相关联的包都自动安装为最新版本
 
3.安装Cacti
Cacti官方网站: [url]www.cacti.net/[/url]
# tar –zxvf cacti-0.8.6j.tar.gz
# mv –r cacti-0.8.6j /usr/loca/apache/htdocs/cacti
# vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
 
// 添加 cacti 用户
# useradd cacti
// rra 目录的所有权给 cacti 用户
# chown –R cacti /usr/loca/apache/htdocs/cacti/rra
// 修改 cacti 目录所属组
# chgrp –R cacti /usr/loca/apache/htdocs/cacti
//为cacti用户添加cron任务
# su – cacti
# crontab –e
*/5 * * * * /usr/local/bin/php /usr/local/apache2/htdocs/cacti/poller.php > /dev/null 2>&1
注意:首次执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限。
     
     
5.数据库配置
#mysql –uroot –p
Password:
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)
 
mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';
Query OK, 1 row affected (0.00 sec)
 
mysql>exit
# cd /usr/local/apache/htdocs/cacti
# mysql –uroot –p cacti < cacti.sql
Password:
     
6.完成cacti的安装
1).在浏览器中输入: [url]http://www.yourdomain.com/cacti/[/url]
默认用户名:admin 密码:admin
2).更改密码
3).设置cacti用到的命令路径
snmpwalk Binary Path          /usr/local/ bin/snmpwalk
snmpget Binary Path         /usr/local/ bin/snmpget
RRDTool Binary Path         /usr/local/ bin/rrdtool(设置成rrdtool文件所在路径)
PHP Binary Path              /usr/local/bin/php
Cacti Log File Path           /usr/local/apache/htdocs/cacti/log/cacti.log
 
4).进入cacti后需确认更改以下位置:(如下图)
Console> Settings >General
将rrdtool版本改成和安装相匹配的版本
 
如果出现添加了设备,状态为未知,可以查看cacti目录下的rra目录中是否有数据产生,如果没有任何文件的话,可以切换到cacti用户
su - cacti
再手动执行生成数据的命令
/usr/local/bin/php /usr/local/apache2/htdocs/cacti/poller.php
再正常的话会有文件生成了,前提是必须已经添加了设备
 
也可以使用tail -f /var/log/cron 查看计划任务中是否执行了



     本文转自fine102 51CTO博客,原文链接:http://blog.51cto.com/gzmaster/73121,如需转载请自行联系原作者


 
相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
6月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
300 4
|
运维 监控 算法
解读 C++ 助力的局域网监控电脑网络连接算法
本文探讨了使用C++语言实现局域网监控电脑中网络连接监控的算法。通过将局域网的拓扑结构建模为图(Graph)数据结构,每台电脑作为顶点,网络连接作为边,可高效管理与监控动态变化的网络连接。文章展示了基于深度优先搜索(DFS)的连通性检测算法,用于判断两节点间是否存在路径,助力故障排查与流量优化。C++的高效性能结合图算法,为保障网络秩序与信息安全提供了坚实基础,未来可进一步优化以应对无线网络等新挑战。
|
7月前
|
传感器 数据采集 存储
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
214 0
|
9月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
229 2
|
10月前
|
存储 监控 网络协议
HarmonyOS NEXT实战:网络状态监控
本教程介绍如何在HarmonyOS Next中使用@ohos.net.connection模块实现网络状态监控,并通过AppStorage进行状态管理,适用于教育场景下的网络检测功能开发。
378 2
|
11月前
|
监控 安全 Linux
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
448 2
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
|
10月前
|
监控 安全 网络协议
恶意软件无处逃!国内版“Manus”AiPy开发Windows沙箱工具,进程行为+网络传输层级监控! 头像 豪气的
NImplant.exe 是一款后渗透测试工具,可实现远程管理与持久化控制。其优点包括无文件技术、加密通信和插件扩展,但也存在被检测风险及配置复杂等问题。为深入分析其行为,我们基于 aipy 开发了 Windows 沙箱工具,针对桌面上的 NImplant.exe 进行多维度分析,涵盖进程行为、网络连接(如 TCP 请求、目标 IP/域名)、文件控制等,并生成传输层监控报告与沙箱截图。结果显示,aipy 工具响应迅速,报告清晰易读,满足分析需求。
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
510 20
|
运维 监控 安全
公司监控软件:SAS 数据分析引擎驱动网络异常精准检测
在数字化商业环境中,企业网络系统面临复杂威胁。SAS 数据分析引擎凭借高效处理能力,成为网络异常检测的关键技术。通过统计分析、时间序列分析等方法,SAS 帮助企业及时发现并处理异常流量,确保网络安全和业务连续性。
269 11