存档

文章标签 ‘plugin’

改了一个nagios plugin:check_mem.pl

2010年11月27日 没有评论

  这个check_mem.pl其实不仅仅是个nagios插件(plugin),而且还是nrpe的插件(plugin),而且还带性能数据。原版的程序是将bufferscached的内存(free命令看到的)加在一起当做caches的内存,然后当做性能数据caches打印出来的。为了更加直观,我还是将其改回去了,把caches内存还是拆成cachedbuffers两部分,并都在性能数据中输出。

  对啦,这个程序在solaris下跑也许会有bug,主要是我对solaris下的内存划分还没做太多研究,原来的程序就支持solaris,我就把原来的代码做了些许改动。

  就这些了。代码在这里(https://github.com/haw-haw/some-nagios-plugins/blob/master/check_mem.pl)

利用cacti插件aggregate来画多台服务器的总流量图

2010年11月5日 没有评论

把多个data source落在一起画总图的办法

前面http://www.haw-haw.org/node/173有讲到

那么我需要画多台服务器的总流量图也可以用上面的方法做

而且,的确以前好多流量总图我也是那么画的

但随着服务器的越来越多;

而且服务器角色变化的越来越频繁;

还有所有服务器的流量总图的需求的提出

这一切的一切

都意味着再手工一条一条加graph item的方法逐渐过时

试想,几百上千台的服务器

你怎么一台一台的添加来画流量总图呢?

所以,要找一种快捷、方便的办法来画大量服务器的总流量图,已迫在眉睫

最早以为命令行工具add_graphs.php能有所作为

仔细看了看文档后,否定之

后来又想要不直接写数据库呢?

研究了下,感觉这个方法还是可行

就是稍稍比较复杂

没再研究下去,为什么呢

因为找到了更懒的办法:插件aggregate

首先,是插件aggregate的安装

去官网把最新版下下来,在写本文的时候最新版是0.75

解压放到cacti主目录下的plugins目录下

结构类似这样:plugins/aggregate/

然后再登录cacti,在plugin management里将aggregate模块儿安装,并激活(enable)

这样就安装完毕了

需要注意的是:0.75这个版本最好在cacti0_0.8.7g的版本下跑

我一开始使用cacti 0.8.7e(plugin architecture 2.6)的时候

安装启用都没问题

但是这个插件aggregate就是不能正常工作

后来升级到cacti 0.8.7g+plugin architecture 2.8后便没问题了

这里插件aggregate的使用也非常简单

首先,点击table的“console”,然后左边栏的”Graph Management”

再在右边的Template中选“Interface – Traffic (bits/sec)”、search框中填”eth1″(因为我们的公网网卡都在eth1上),然后把“Rows per pages”的值放大以便于一页显示更多的内容

再点击“GO”按钮

这样

基本上所有机器的eth1的流浪数据就都出来了

我们再把自己需要的图选出来(我则是先点“全选”,再剔除掉不需要的图)

再在下面的下拉列表框“Choose an action:”中选“Create Aggregate Graph”,再点Go按钮

就进入聚合图的设置页面

在Title栏填入新图的标题(比如”Aggregate – Total Traffic for xxxxx“);

Prefix填”|query_ifIP|

Totaling选”Print all Legent items“;

下面的total type选”Total Similar Data Sources“;

record type选“Data source,graph

在下面的“Graph Template Items”中把Inbound的数据勾上Skip选项

(因为我们不关心入流量,仅关心出流量)

把Outbound都勾上Total选项

再在Color Template中选一种颜色的方案

最后再点右下角“Continue”

这个流量总图也就创建完毕了

ubuntu server下的nrpe的配置

2010年8月28日 没有评论

在ubuntu server下部署nrpe非常简单
直接

sudo apt-get install nagios-nrpe-server nagios-plugins

即可
启动脚本为/etc/init.d/nagios-nrpe-server
配置文件在/etc/nagios/nrpe.cfg
但是不建议大家直接修改这个文件
建议把需要的配置写到文件/etc/nagios/nrpe_local.cfg里
nrpe_local.cfg会在nrpe.cfg的最后被load
所以它的配置如果有跟nrpe.cfg的重复的话会覆盖掉原来在nrpe.cfg中的配置
这样我们可以把nrpe.cfg的内容当作缺省值
只有我们需要的配置跟缺省值不一样的时候
我们才需要将其写到nrpe_local.cfg里
再nrpe_local.cfg后面被load还有目录/etc/nagios/nrpe.d/这个目录下的所有文件
这里牵涉到一个小技巧
就是这里所有的文件必须为.cfg结尾
否则不能被nrpe读取!!

cacti中新加几台机器,定制其联系人的sql语句

2010年5月5日 没有评论

因为这几台机器的联系人是个新人(cacti的库里没有)
按照在个性化定制cacti中thold插件的报警邮件的收件人里讲到的蠢办法
将其先加到cacti系统的用户组里,设置其不能登录
mysql
输入命令”mysql”进入交互式模式
系统出现提示符“mysql>”

mysql>use cacti

使用cacti所用的数据库”cacti”

mysql>SELECT plugin_thold_contacts.id AS contact_id, plugin_thold_contacts.data AS contact_email, user_auth.username, user_auth.full_name FROM plugin_thold_contacts, user_auth WHERE plugin_thold_contacts.user_id = user_auth.id;

从以上查出来的结果里确认下这几台机器的联系人的contact_id

mysql>SELECT id AS host_id FROM host WHERE host.hostname = ‘10.10.10.10’;

查出新加机器的host_id,这里假设新加机器的hostname是”10.10.10.10″

mysql>UPDATE thold_data SET template_enabled = ‘off’ WHERE host_id = ’10’;

将这台新加机器”10.10.10.10″的template_enabled设置成’off’,这里假设”10.10.10.10″的host_id是10

mysql>SELECT concat(“INSERT INTO plugin_thold_threshold_contact (thold_id, contact_id) VALUES (“, thold_data.id, “, 5);”) FROM thold_data, host WHERE thold_data.host_id = host.id and host.hostname = ‘10.10.10.10’;

上面生成插入到表plugin_thold_threshold_contact的SQL语句
上面的数字”5″是指前面查出来的联系人的contact_id,这里假设是5
最后再把上面输出的SQL语句执行一下
OK了

升级cacti到0.8.7e后插件thold找不到的问题

2009年7月9日 没有评论

今天升级cacti0.8.7b到0.8.7e
升级过程一切正常
只是以前安装的插件thold页面上看不到了
于是又升级了最新的plugin architecture和settings、thold两个plugins
但是web页面里仍没什么变化
后来访问了下plugins.php
系统报没有权限
然后直接点”login”直接就进系统了
由此可见
不是没有权限
应该是没有特定的权限
于是进用户设置界面”User Management”
将所用的用户点开
果然有个”plugin management”的权限没选中
选中
再Save
再回来刷页面
果然
左边有了新的一项菜单:“Plugin Management”
点进去可以进行plugin的管理
搞定

网站用ie看源代码被做了些改动的问题

2008年3月29日 没有评论

昨天偶然有了下ie6
却突然发现有个地方显示不太对
一”view source”
发现竟然跟firefox下得到的源代码不一样!
具体就是所有的往外走的链接
都给改了
比如我原来有个链接,是往外走的
像这样:

<a href=”http://xxx.com”>xxx.com</a>

就会被改成

<a href=”http://xxx.com/” onclick=”javascript:urchinTracker(‘/outbound/antbag.com/’);”>xxx.com</a>

当时着实紧张了一番
以为是被http挂马了
但是貌似没有人arpspoof搞呀
再后来又怀疑是机器被搞
后来查了半天
才发现是用的一个插件Google Analytics干的

for cacti0.8.7b的cacti-plguin-arch 2.0的bug?

2008年3月21日 没有评论

今天升级cacti0.8.7a版到0.8.7b
但是关键升级cacti plugin architecture的时候有些波折
按照文档升级完了
页面老不对
主要是内部的一些链接不对
查了半天
发现是url_path的问题
include/plugins.php里有一句:

$config[‘url_path’] = substr(__FILE__, strlen($_SERVER[‘DOCUMENT_ROOT’]), strlen(__FILE__) – strlen($_SERVER[‘DOCUMENT_ROOT’]) – strlen(‘include/plugins.php’));

应该是来算url_path
但是就是这句算的url_path不对
我的cacti在/cacti/下
关键是我的incluce/plugins.php绝对路径里有soft link
然后web目录下又是Alias
所以不管怎么样
这句算出来的url_path不对
最后没办法(php我也不是很精通)
直接把这句注释掉
写死url_path为正确值了事

$config[‘url_path’] = ‘/cacti/’;