制作过程
现在我们来制作一个Cacti插件myplugin,插件功能很简单,输出“hello,world”,因为没有数据库操作,所以不需要编辑myplugin.sql。
自定义一张图片,保存为/var/www/html/cacti/plugin/myplugin/images/tab_myplugin.gif。具体代码如下:
[root@lab plugins]# mkdir myplugin
[root@lab plugins]# cd myplugin/
function plugin_init_myplugin(){
Global $plugin_hooks;
$plugin_hooks[‘top_header_tabs’][‘myplugin’]=’myplugin_show_tab’;
$plugin_hooks[‘top_graph_header_tabs’][‘myplugin’]=’myplugin_show_tab’;
$plugin_hooks[‘config_arrays’][‘myplugin’]=’myplugin_config_arrays’;
}
function myplugin_show_tab(){
global $config, $user_auth_realms, $user_auth_realm_filenames;
$realm=id2=0;
if(isset($user_auth_realm_filenames{basename(‘myplugin.php’)})){
$realm_id2=$user_auth_realm_filenames{basename(‘myplugin.php’)};
}
If((db_fetch_assoc(“select user_auth_realm.realm_id
from user_auth_realm where user_auth_realm.user_id=’”.$_SESSICN[“sess_user_id”].“‘
and user_auth_realm.realm=id=’$realm_id2’”))||(empty($realm_id 2))){
print ‘<a href=”’. $config[‘url_path’].’plugins/myplugin/myp]
ugin.php”><img src=”’. $config[‘url_path’].’plugins/myplugin/images/tab_myplt
}
}
function myplugin_config_arrays(){
global $user_auth_realms,$user_auth_realm_filenames;
$user_auth_realms[36]=’View myplugin’;
$user_auth_realm_filenames[‘myplugin.php’]=36;
}
<?php
Chdir(‘../../’);
Include(“./include/auth.php”);
Include(“./include/top_graph_header.php”);
Echo “hello,world”;
?>
[root@lab myplugin]# vim setup.php
[root@lab myplugin]# vim myplugin.php
[root@lab myplugin]# vim ../../include/config.php
$plugins[] = 'myplugin';
进入"Console"->"User Management"->"admin"->Realm Permissions把View myplugin 打勾
刷新后,myplugin出现在导航栏中,点击该插件后,myplugin成功运行。
Cacti软件功能强大、扩展插件丰富、用户界面友好,操作简洁方便,用户甚至无需了解RRDTool的众多参数就可以利用Cacti软件绘制出理想的图形。Cacti已经成为众多管理员进行网络监测的必备工具。
(作者单位为东北大学网络中心)
(文章来源:《中国教育网络》杂志2010年10月刊)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。