Cacti插件开发介绍.doc
文本预览下载声明
Cacti插件开发介绍
福州中心支行
第一部分 插件架构介绍 2
一、什么是插件架构 2
二、如何使用插件 2
1.配置插件管理权限 2
2.安装插件 3
3.添加插件使用权限 4
4.卸载插件 5
第二部分 插件开发入门 6
一、什么是“钩子” 6
二、插件的基本结构 7
1.目录结构 7
2.基本函数 7
3.注册API函数 8
三、插件功能开发 8
1.添加安装方法(setup.php) 9
2.设计配置页(setup.php) 9
3.添加插件菜单入口(setup.php) 10
4.添加导航条(setup.php) 11
5.数据库表修改(setup.php) 12
6.增强信息表单设置(setup.php) 14
7.保存增强信息(setup.php) 15
8.在host状态图页面展示数据(setup.php) 16
9.增强信息列表页面(cbEnhancedInfo_listInformatio.php) 18
10增强信息添加页面(cbEnhancedInfo_addInformation.php) 21
四、插件开发总结 24
第三部分 附录 24
第一部分 插件架构介绍
Cacti做为流行的网络监控系统,提供有自己的一套插件体系,叫做插件架构(Plugin Architecture,简称PIA)。基于该插件架构,通过安装开发新插件,可以按照定制需要,增强cacti的功能。
一、什么是插件架构
插件架构提供了一个开源平台,使得开发者可以在不触及Cacti核心代码的前提下,调用Cacti提供的方法,接入Cacti数据,完成开发者想要实现的Cacti不具备的功能。由于插件不涉及Cacti内核,所以Cacti的核心升级,并不会影响到已开发的插件。
Cacti插件可以实现以下五个方面的功能:
1.增强用户交互界面
2.访问Cacti数据库
3.管理RRD文件数据
4.提高Cacti性能,使Cacti适用于大规模应用部署
5.添加新功能,如门限控制,系统日志等。
目前,Cacti论坛(/viewforum.php?f=26)上已有大量Cacti应用插件。在此简要介绍几个实用插件:
1. MAC Track plugin
该插件通过IP和MAC地址,来协助定位网络攻击源,如定位病毒来源。插件细节说明参见:/viewforum.php?f=15。
2. Network WeatherMap
该插件用于创建网络拓扑图,可以展现数据中心的网络架构并展示网络性能和优化效果。该插件细节说明参见:/viewforum.php?f=16。
3.Thold
Thold用于添加门限控制及门限告警。所有的RRD文件数据都能设置固定或动态计算的门限值。通过配置Thold参数,可以使用Email告警通知,该告警邮件可发给多个收件人。插件细节说明参见:/viewforum.php?f=17
其他插件说明可参见:/plugins。
二、如何使用插件
从0.8.8版本开始,Cacti安装包中已经自带PIA,所以可免去PIA安装。要安装插件,首先需要有一个可以管理插件的账户。
1.配置插件管理权限
首先,以管理员身份登陆Cacti,进入“Utility”下的“User Management”;
然后,选择需要授权的账户,在“Real Permission”标签页下,能够看到以下内容:
点选“Plugin Management”,点击“Save”,配置完成。
之后用刚刚授权的账户登录Cacti,可以看到“Confguraton”项目中增加了“Plugin Management”菜单项,点击该菜单项,即进入插件管理页。如果未安装插件,页面会提示如下:
2.安装插件
此部分以Setting插件的安装举例说明。Setting插件是用于发送邮件和查找DNS的。
首先,登陆到Cacti所在机器,进入插件目录:
cd /var/www/html/cacti/plugins
第二,下载Setting插件:
wget -O settings-v0.7-1.tgz /_media/plugin:settings-v0.7-1.tgz?id=
plugin%3Asettingscache=cache
第三,解压压缩包:
tar -xzvf settings-v0.7-1.tgz
第四,使用以授权插件管理的账户登陆Cacti页面,进入“Confguraton”的“Plugin Management”页面。此时能看到如下列表:
第五,点击蓝色箭头图标,安装插件,可看到蓝色箭头图标消失,变为如下两个图标:
第六,点击绿色箭头图标,运行插件,图标变为如下情况:
第七,进入“Confguraton”的“Setting”页面,可以看到一个新的选项卡“Mail / DNS”,这是Set
显示全部