Smokeping 使用外部邮箱发送告警邮件

Smokeping 发送告警邮件

转自:http://www.humen1.net/2013/11/669


smokeping 默认用sendmail发邮件,这样不好。

改了一下源码 这样可以使用 我QQ的smtp server来发告警邮件了

首先需要安装 Authen::SASL 模块(auth 需要用的) 我用CPAN装的,不细说了

修改 smokeping/lib/Smokeping.pm


01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

#头上加

use Authen::SASL;

#定位到sendmail函数,改成下面这样

sub sendmail ($$$){

my $from = shift;

my $to = shift;

$to = $1 if $to =~ /<(.*?)>/;

my $body = shift;

if ($cfg->;{General}{mailhost} and

my $smtp = Net::SMTP->new([split /\s*,\s*/, $cfg->{General}{mailhost}],Timeout=>5) ){

$smtp->auth(split(/\s*,\s*/, $cfg->{General}{mailusr}),split(/\s*,\s*/, $cfg->{General}{mailpwd}));

$smtp->mail($from);

$smtp->to(split(/\s*,\s*/, $to));

$smtp->data();

$smtp->datasend($body);

$smtp->dataend();

$smtp->quit;

} elsif ($cfg->{General}{sendmail} or -x "/usr/lib/sendmail"){

open (M, "|-") || exec (($cfg->{General}{sendmail} || "/usr/lib/sendmail"),"-f",$from,$to);

print M $body;

close M;

} else {

warn "ERROR: not sending mail to $to, as all methodes failed\n";

}

}

#找到  ‘_vars =>‘ ,把 mailusr mailpwd  加进去。不然不能启动哦!General configuration values valid for the whole SmokePing setup.

DOC

_vars =>

[ qw(owner imgcache imgurl datadir dyndir pagedir piddir sendmail offset

smokemail cgiurl mailhost mailusr mailpwd snpphost contact display_name

syslogfacility syslogpriority concurrentprobes changeprocessnames tmail

changecgiprogramname linkstyle precreateperms ) ],

然后修改配置文件
/etc/config


1

2

3

4

5

6

7

mailhost = smtp.qq.com

mailusr = [email protected]com<script type="text/javascript">

/* <![CDATA[ */

(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute(‘data-cfemail‘);if(a){s=‘‘;r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();

/* ]]> */

</script>

mailpwd = xxxxxxxxx

Smokeping 使用外部邮箱发送告警邮件

时间: 2024-10-24 02:36:59

Smokeping 使用外部邮箱发送告警邮件的相关文章

让nagios使用外部邮箱发送警告邮件

参考 linux下用mail命令并使用外部SMTP服务器发信设定说明 http://blog.chinaunix.net/uid-16969514-id-3363644.html 1.修改发件人email,修改后,所有用户发送email都是用这个email帐户. 为了让nagios能发送email,需要修改/etc/mail.rc,这个配置文件是postfix的,不修改虽然也能发送,但会当成垃圾邮件. 开启postfix服务, 修改/etc/mail.rc,在最后面添加 vim /etc/mai

在zabbix上添加自定义监控项目、配置告警且发送告警邮件到指定邮箱

在zabbix上添加自定义监控项目 配置告警且发送告警邮件到指定邮箱 原文地址:http://blog.51cto.com/13515599/2104326

linux mail利用外部邮箱地址发邮件

mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" [email protected] #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束 echo “mail content”|mail -s "标题" [email protected] #第二种方法,我用的最多,可能是喜欢管道的缘故吧 mail -s "标题" [email protected] < f

keepalived 发送告警邮件到外部邮箱

邮件脚本: keepalived_notify.py #!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header import sys, time, subprocess # 第三方 SMTP 服务 mail_host="smtp.exmail.qq.com"  #设置服务器 mail_us

检查分区已使用空间占总空间的百分比并发送告警邮件

#!/usr/bin/env python # -*- coding: utf-8 -*- # 作者:昨夜星辰 # 脚本作用:检查服务器的所有分区,如果分区已使用空间占总空间的百分比超过阀值便发送邮件到告警邮箱. # 注意事项:该脚本只能在Linux系统下执行,适用于Python 2. import os import re import smtplib import string # 获取系统所有分区 def getAllPartitionOfSystem():     result = []

使用Zabbix服务端本地邮箱账号发送报警邮件的部署记录

邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:[email protected]),只能发送,不能接收外部邮件.2)使用一个可以在互联网上正常收发邮件的邮箱账号(例如:[email protected]),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱.上面第2中使用外部邮箱发送报警邮件之前已经介绍了:分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署.下面说下

首次沟通邮箱发送技巧

您是否需要经常给一些新客户发送一些公司资料.产品介绍等? 是否遇到发送给新用户的邮件被归档到对方垃圾箱甚至被对方服务器拒收的尴尬? 本期,我们总结了一些常见的可能导致增加邮件被误判的情况,希望您了解并与新客户的沟通更加顺畅! 1. 不要选用复杂的签名: 通过企业邮箱发送商务邮件,基本都会使用到邮件签名或电子名片,并且很多用户会在签名中携带公司的各种产品介绍,网站链接,宣传图片,多种联系方式等等,但是这些都增加了邮件被收件方网关系统误判为垃圾邮件的风险,因此请在首次发信给新客户时,使用简洁的签名.

监控SQL Server数据库异常镜像状态发告警邮件

监控SQL Server数据库异常镜像状态发告警邮件 在部署了数据库镜像之后,我们需要监控参与镜像的主数据库和镜像数据库的状态,如果状态异常,发送告警邮件.那么这个脚本需要在主和镜像服务器上都运行. 目录视图sys.database_mirroring对SQL Server实例上的每个数据库都包含一行(包括系统数据库和未配置镜像的数据库),当然也包含所有镜像数据库的状态信息.我们可以查询该目录视图,对于每个异常状态的镜像数据库触发告警邮件.笔者的环境配置的是异步镜像,依赖于手动故障转移. 前提条

zabbix 使用邮件发送告警信息

配置系统mail命令,使其可以发送外网邮件 mail 命令配置 修改zabbix_server配置文件,使其可以执行告警脚本 [[email protected] etc]# vim /usr/local/zabbix/etc/zabbix_server.conf 474 ### Option: AlertScriptsPath 475 # Full path to location of custom alert scripts. 476 # Default depends on compil