« Posts under Open Source

Cacti中为每主机定义不同的Down机报警邮件接收地址

cacti_down_alert_email
(主机=Host=Device)
背景:默认情况下Cacti的Down机邮件报警功能只能设置一个统一的接受地址,不够人性化。特是对于集团性质的企业,通常不同的主机是由不同的人员来负责的,因此,为每主机定义不同的邮件接收地址就很有必要。
环境:Cacti 0.8.7g Monitor1.2.1 Thold 0.4.1

Setp1: 给cacti.host表增加一个字段`alertMail`

ALTER TABLE host ADD laertmail varchar(200) default ” not null AFTER monitor_text;

Setp2: 修改脚本/plugins/monitor/setup.php, 设置Host管理表单项,找到monitor_config_form()方法,在$fields_host_edit3['monitor_text']数组变量下加入$fields_host_edit3['alertMail']数组,如下

PHP
	$fields_host_edit3['alertMail'] = array(
	"method" => "textbox",
	"friendly_name" => "Alert Email",
	"description" => "This is the email address that will be sent when this host is reported as down.",
	"value" => "|arg1:alertMail|",
	"max_length" => "250",
);

找到monitor_api_device_save()方法,在return $save;一行的上面,增加如下代码

PHP
if (isset($_POST['alertMail']))
	$save['alertMail'] = form_input_validate($_POST['alertMail'], 'alertMail', '', true, 3);
else
                $save['alertMail'] = form_input_validate('', 'alertMail', '', true, 3);

»Read More

指定Cacti Thold邮件报警的”From”地址

公司换了Lotus邮件服务器,更换后不能任意设置“From Email Address”,导致Cacti Thold不能正常发送报警邮件,提示“554 Sender address not allowed for this authenticated session”。

修改/plugins/thold/thold_functions.php

查找

PHP
if ($from == '') {
	if (isset($_SERVER['HOSTNAME'])) {
		$from = 'Cacti@' . $_SERVER['HOSTNAME'];
	} else {
		$from = 'Cacti@cactiusers.org';
	}
}

修改为,即指定Settings->Mail/DNS->Emailing Options->From Email Address中填写的邮件地址

PHP
if ($from == '') {
	$from = read_config_option('settings_from_email');
}

开源密码管理软件KeePass

snap_keepass_1

在这个Internet的时代, 每个人都会有各种各样的账号和密码. 对于我来说, 管理密码一直是一件很头疼的事情. 一些使用率较低的密码常常会在用的时候想不起来. 所以我也一直在寻找一种好的密码管理解决方案.
那什么样的解决方案算是好的呢? 我认为一个好的密码管理方案应该具备存取方便, 保密性好, 有手机端, 可同步异地保存等几个特性.
原来用Blackberry的时候我觉得Password Keeper非常好用, 把很多密码都保存在那上面, 手机随身带, 自然存取都方便. 可后来Blackberry丢了, 我傻眼了, 所有的密码也随之消失了. 所以把密码保存在一个地方是不安全的(当然, 存放在太多地方也是不安全的).
后来我找了些比较知名的在线密码管理站点, 他们的密码管理很系统, 心想保存一份密码库档案在internet上就不会丢了吧, 但新的问题又来了, 密码保存在不绝对可信的地方谁会放心呢? 这就跟把辛辛苦苦赚的RMB放在别人兜里存着是一样的感觉啊. 另, 这些在线密码管理站点都没有手机端.

再后来我发现了KeePass, 一个开源密码管理软件, 或者可以称之为密码管理数据库.  可以把各种账号密码像record一个保存在一个数据库文件中, 库文件的默认扩展名为.kdbx, 由一个Master Key(super password)来验证访权限.

»Read More