Cacti插件详解――Weathermap

 Weathermap是cacti中大家最用的一个插件之一,用它可以画出漂亮的网络拓扑图!同时Weathermap也是一个独立工具,可以独立部署,不需要cacti的支持,也可以部署.下面首先来看一看用Weathermap画出来的拓扑图.


wKiom1QfujmBivL7AAIb6Cic9X0522.jpg


wKioL1QfulnQNAxvAAHUdQ6lxFw822.jpg


wKiom1Qfujnh_ePoAAG7YJlBTVU180.jpg

wKioL1QfuljD9eI5AAM0dgpoEPk322.jpg

这些漂亮的网络拓扑都是用weathermap画出来的!

这么长时间了没有发出来,今天就写以下weathermap的用法,以下都是我自己的理解,如有错误之处请谅解!

weathermap是用来做网络拓扑图的,其中可以调用mrtg和cacti的流量图,可以生成静态的html页面。具体的例子大家可以中国科大的这个http://linux.ustc.edu.cn/

weathermap的官方网站为 http://www.network-weathermap.com/ weathermap有二种用法。第一种就是作为cacti的插件使用,第二种就是独立出来,可以独立安装一个weathermapm,当然要php,php-gd支持,weathermap最新版本为weathermap-0.97a.

一.weathermap作为cacti插件的用法

1.安装weathermap插件

1
2
3
4
5
到weathermap官网下载相应的版本,http://www.network-weathermap.com
unzip php-weathermap-0.97c.zip
mv weathermap/ /var/www/html/plugins/
chown -R apache:apache /var/www/html/plugins/weathermap/configs/
chown -R apache:apache /var/www/html/plugins/weathermap/output/

下面我们打开cacti,点console――Plugin Management,就可以看到weathermap了,点前面那个点就可以安装weathermap

 点击安装weathermap后

至此,weathermap已经安装成功。

2.配置使用weathermap

安装好weathermap后,看到点Console在左边的列表里会看到weathermap的菜单,我们点击,会看到设置,因为我们还没有定义一个weathermap配置文件,所以我们点右上角的Add按钮,添加一个weathermap配置文件

wKioL1QfvKXgG6MeAAEd9k4NngI396.jpg



点击Add之后,我们看到有二个文件,其实这个时候调用的就是weathermap的configs目录下的文件,simple.conf就是自带的一个配置文件,我们可以点击它前面的Add按钮,把他添加到默认配置文件里

wKiom1QfvIWyS1QmAAFSiAp1Vjw516.jpg


至此我们添加了一个weathermap的配置文件,下面就是对weathermap进行配置了,点击weathermap,然后点击Editor对默认图形配置文件进行配置。

点击editor后我们会看到如下提示

 

The editor has not been enabled yet. You need to set ENABLED=true at the top of editor.php

Before you do that, you should consider using FilesMatch (in Apache) or similar to limit who can access the editor. There is more information in the install guide section of the manual.

我们按照他提示的编辑editor.php


将配置文件中的$ENABLED=false;改为$ENABLED=true;然后保存。之后我们刷新页面就可以看到如下页面

 wKiom1QfvT6AfA0pAALGmOwEcrw074.jpg

在这里我们可以创建配置文件,或者从一个配置文件创建一个新的配置文件,或者打开一个已有的配置文件进行编辑,这里我们就点击simple.conf文件做一个简单的weathermap配置。点击simple.conf可以看到下图

wKioL1QfvV6RNFjMAADoo_DFyEI966.jpg


这里就是weathermap的编辑页面了,把上面那个几次菜单翻译下吧。

1、Change File可以会到前面的那个界面改变编辑的图形配置文件。

2、Add Node就是添加一个节点,点击之后鼠标会变成变成一个十字,在你想要放Node的地方点一下就可以创建一个Node。

3、Add Link 就是添加添加一条链接,可以把二个Node连接起来,点击Add Link后点击Node,再点击另外一个Node就可以把二个Node连接起来。

4、Position Legend是调整那个图列的位置,点击之后鼠标会编成十字,点击以下就可以移动到新的位置。

5、Postion Timestamp就是添加一个图片创建的时间啊什么信息的。

Map Style 可以调整这个图形的风格。比如图形名称、.图形大小、图形背景图片、输出图片目录、位置等

基本使用的也就这几个了。点击一个Node

wKioL1Qfvenin_ayAAF1fsNF2YQ308.jpg


这里可以改Node的大小,Node的名称和标签名称,Info URl是用户把鼠标放在这个Node后会出现一个流量图片,这个图片信息来自那里,Hover Graph URL 这里是当用户点击这个Node是会跳转到那个图,在这里可以选择点击Pick From Cacti,从cacti中选取,Icon Filename是图标的图像,这里可以有很多比如Router、Host、firewall。当然也可以自己添加,在weathermap的images里,设置好有点击Submit就可以提交更改了.

我们在设置以下Link,点击Link的那条线

wKiom1QfvcqSVnaFAAHUPCOHV8o792.jpg


6、Maximum Bandwidth Into这里是设置这条Link的最大带宽,这里根据你自己的具体配置设置了,这里端口是1G的端口,出口带宽是300MB因此我设置为300MB,Maximum Bandwidth out 是出去的最大流量带宽,可以根据自己的具体情况设置。Data source是流量从那里获取,这里可以引用mrtg的流量也可以点击Pick form Cacti从cacti里获取,Info URl是用户把鼠标放在这个Node后会出现一个流量图片,这个图片信息来自那里,Hover Graph URL 这里是当用户点击这个Node是会跳转到那个图,这个如果选择从cacti获取会自动取得。从mrtg要自己设置下。别的默认就成。这样我们就我完成了对一张拓扑图的编辑。如下就是我设计的weathermap图像

wKiom1QfvcmD8BZ8AAFGLVQFaAs512.jpg


注意问题

1,中文显示,我们可以在配置文件里指定中中文字体的路径

1
2
vi /var/www/html/plugins/weathermap/configs/simple.conf
FONTDEFINE 100 /var/www/html/plugins/weathermap/msyh.ttf 10

msyh.ttf是中文字体的名字.需要用户自己加进去,指定路径,后面10字体是大小,但试验没成功。

2.每次对图形进行调整后,都是自动保存的,不用保存(也没有那个选项!嘿嘿),要在weathermap里看到修改后的效果要等到下次cacti采集器采集后才会绘图。

<>

>3.cacti的日志里可能会显示

WEATHERMAP: Poller[0] [Map 1] simple.conf: About to write image file. If this is the last message in your log, increase memory_limit in php.ini [WMPOLL01]

等信息,不过我修改php.ini里的设置也不起作用,不用管它!

4.可以在cacti的里进行设置,如图,一般默认就成

wKioL1Qfvzih38VsAAMp8X1ecQc852.jpg

二.weathermap独立的使用。

通过在catci里的设置,大家会weathermap已经有了一个认识了,其实它就是用过一个配置文件,绘图,引用cacti或者mrtg的流量和图形就成了

1.安装基本环境

1
2
3
4
5
6
7
8
9
yum install httpd php php-gd  php-pear rrdtool -y
servie http start
chkconfig http on
service crond start
chkconfig crond on
wget http://www.network-weathermap.com/files/php-weathermap-0.97c.zip
unzip php-weathermap-0.97c.zip
mv weathermap/ /var/www/html/、
chown -R apache:apache /var/www/html/weathermap/configs/

2.配置weathermap

 

我们要配置我们的图形配置文件

先编辑editor.php

把里面的$ENABLED=false;改为$ENABLED=true;$ignore_cacti=False;改为$ignore_cacti=True;然后保存。

之后我们打开http://xxx.xxx.xxx.xxx/weathermap/editor.php

就可以像在cacti里一样设计自己的weathermap图形了,

 

特别注意:

 

1.在这里ICO的路径要选择绝对路径,不让路径会有错误,导致不能出图。

2.eidtor.php里可以设置拓扑图输出的路径Image的路径直接写名称,不用写路径,Html的路径路径要写绝对路径。

3.在weathermap目录里有个weathermap文件要设置rrdtools的路径。$rrdtool=”/usr/bin/rrdtool”;

关于配置文件的我们可以weathermap官网找到

weathermap官网的设置:http://www.network-weathermap.com/manual/latest/pages/config-reference.html 具体的参数这里都有

这里还有一个配置文件的范本http://www.network-weathermap.com/manual/latest/pages/main.html#example

这个是做好的图形;http://www.network-weathermap.com/manual/latest/example/example.html

 

3.生成图形

 

设置好图形配置文件后我们就要生成图形了,在cacti里这个是通过cacti的采集器实现的,在单独安装weathermap的后,需要利用系统的计划任务来实现

我们先执行一次

1
/usr/bin/php /var/www/html/weathermap/weathermap 
--config /var/www/html/weathermap/configs/simple.conf 
--image-uri ../weathermap/test.png

就可以在/下生成一个test.png图片,然后我们编辑,添加如下

1
*/5 * * * * root /usr/bin/php /var/www/html/weathermap/weathermap 
--config /var/www/html/weathermap/configs/simple.conf 
--image-uri ../weathermap/test.png

然后我们要做个硬链接不让png图片的路径会有错误

1
ln /test.png /var/www/html/weathermap/test.png

至此我们的weathermap已经做好我们可以打开http://xxx.xxx.xxx.xxx/weathermap/index.html查看拓扑图。

我最终的拓扑图

 

总结:

 

1.weathermap的用法就说到这里,基本就是这二种了,还有的是自己做一个html,再嵌套一个weathermap的页面就像刚开始给大家说的那个中国科大的,就是通过网页的嵌套做到的,嵌套了mrtg,weathermap的页面。

2.在单独使用weathermap时要特别注意路径问题,不出图形很有可能是路径问题,这个问题我也纠结了很久。

3.最重要的一点,就是关于weathermap的安全性问题,其实在它的官网也说明了。

地址:http://www.network-weathermap.com/manual/latest/pages/install-cacti-editor.html

 

When you are happy that the world can’t edit your maps, then enable the editor. This is done by editing the top of editor.php and changing $ENABLED=false; to $ENABLED=true;

You should now be able to go to http://your.server/cacti/plugins/weathermap/editor.php in a browser, and get a welcome page that offers to load or create a config file. That’s it. All done. Please see the editor manual page for more about using the editor!

You can also edit an existing map from the Cacti web interface, by choosing Manage..Weathermaps and then clicking on the name of a config file in the list of active maps. The editor will open with that map loaded.

Important Security Note: The editor allows anyone who can access editor.php to change the configuration files for your network weathermaps. There is no authentication built-in for editing, even with the Cacti Plugin. This is why the configuration file doesn’t exist by default �C the editor won’t work until you choose to make it work. It’s recommended that you either:

  • change the ownership of configuration files so that the editor can’t write to them once they are complete, or

  • use your webserver’s authentication and access control facilities to limit who can access the editor.php URL. On apache, this can be done using the FilesMatch directive and mod_access.

可以看到在默认情况下editor.php这个是没有做验证的,就是意味每个人都可以编辑你的weathermap图形配置文件!!!!发现很多使用weathermap都没做限制,有些还是直接到公网的,再次特别提醒,一定要做一个验证!

下面我提供一种方法。

修改httpd.conf配置文件

在文件最后添加

1
2
3
4
5
6
7
<Directory /var/www/html/weathermap>
   <Files editor.php>
            Order Deny,Allow
            Deny from all
            Allow from 127.0.0.1        
   </Files>
</Directory>

 然后保存,这个路劲是weathermap的路径.这样就可以限制别人访问editor.php的访问.设置好后重启apache,再访问那个页面就会出现这个页面

当然也可以做一个基于.htaccess的验证。


你可能感兴趣的:(cacti,Weathermap)