邮件告警(邮件告警可视化)

大雄 982 2022-12-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

本文目录一览:

2020-08-25

Prometheus 实现邮件告警(Prometheus+Alertmanager+QQ邮箱或者网易163邮箱,目前测试过这两种邮箱都可以发送告警邮件)

Prometheus实现邮件告警原理如下:

Prometheus官方有一个附带的中间件:alertmanager,通过设置rules规则和路由转发可以实现邮件告警,前提是你需要有一个可以发送邮件的邮件服务端(可以自建或者使用互联网公司提供的免费邮箱)

告警原理图

Prometheus完整架构图

我之前得出的错误结论如下:

推荐直接在虚拟机操作系统上直接安装Prometheus和Alertmanager,不推荐其中任何一方在容器中运行,因为测试过在容器中运行Prometheus和alertmanager,结果出现如下错误情况

第一种情况是:我的node-exporter掉线跌机了(手动关机,模拟突然掉线跌机),Prometheus却提示节点依然在线?有时候却能够正常显示节点掉线跌机,生成告警发送邮件

第二种情况是:我的node-exporter掉线跌机了(手动关机,模拟突然掉线跌机),Prometheus提示节点掉线,告警生成,但是没有发送邮件,我手动恢复node-exporter后,告警解除,邮件能正常发送邮件提示告警已经解除。。。。

第三种情况是:我的node-exporter掉线跌机了(手动关机,模拟突然掉线跌机),Prometheus提示节点掉线,告警生成,正常成功发送邮件,我手动恢复node-exporter后,告警解除,邮件没有发送出来。。。。

以上三种情况之前经常出现,当时第一步以为是自己设置的scrape_interval不合理导致的,结果调试几次,问题没有解决,第二步以为是自己的服务器时间没有做到精确同步,然后我去设置和阿里云的ntp服务器同步,结果问题依然没有解决,第三步,换个方向,把alertmanager迁移到虚拟机操作系统上安装运行,问题解决!

北京时间是GMT+8小时,有些同志的时间可能是UTC的,但是如果是在要求不太十分精确的情况下,UTC时间是刚刚好等于GMT时间

为了避免时区的混乱,prometheus所有的组件内部都强制使用Unix时间,对外展示使用GMT时间。

要改时区有两个办法

1 .修改源码,重新编译。

2. 使用 docker 运行 Prometheus,挂载本地时区文件

docker run --restart always -e TZ=Asia/Shanghai --hostname prometheus --name prometheus-server -d -p 9090:9090 -v /data/prometheus/server/data:/prometheus -v /data/prometheus/server/conf/prometheus.yml:/etc/prometheus/prometheus.yml -u root prom/prometheus:v2.5.0

正文开始

安装alertmanager

容器安装方式:

docker run -d --name alertmanager -p 9093:9093 -v /usr/local/Prometheus/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml prom/alertmanager:latest

先在宿主机/usr/local/Prometheus下创建一个文件夹alertmanager,然后在文件夹里创建alertmanager.yml配置文件,待会才能映射到alertmanager容器里的/etc/alertmanager目录下

global:全局配置

   resolve_timeout: 问题解决的超时时间

   smtp_from: 发送告警邮件的邮箱账号

   smtp_smarthost: 邮箱 SMTP 服务地址,这里是以QQ邮箱为例,也可以用网易163邮箱,这个和我之前设置zabbix邮件告警时的配置一样

   smtp_auth_username: 如果没有设置邮箱别名,那就是账户名

   smtp_auth_password:  邮箱的授权码,不是 账户密码,你可以在QQ邮箱或者网易163邮箱网页端设置,开启 POP3/SMTP 服务时会提示,和配置zabbix邮件告警的时候几乎一样

   smtp_require_tls: 是否使用 tls,根据环境不同,来选择开启和关闭。如果提示报错 email.loginAuth failed: 530 Must issue a STARTTLS command first,那么就需要设置为 true。着重说明一下,如果开启了 tls,提示报错 starttls failed: x509: certificate signed by unknown authority,需要在 email_configs 下配置 insecure_skip_verify: true 来跳过 tls 验证。

templates: 告警模板目录,可以不编写模板,有默认模板

    Subject: '{{ template "email.default.subject" . }}'

    html: '{{ template "email.default.html" . }}'

route:报警的分发设置

    group_by:分组

    group_wait: 分组等待时间

    group_interval: 5m 每组时间间隔

    repeat_interval: 10m 重复间隔

    receiver: 接收方式,请注意!这里的名字要对应下面receivers中的任何一个名字,不然会报错,这里其实就是选择方式,有邮箱,企业微信,wehook,victorops等等

receivers:接受方式汇总,即告警方式汇总

例子:

receivers:

- name:'default-receiver' 

email_configs:

- to:'whiiip@163.com'    

  html: '{{ template "alert.html" . }}'    

  headers: { Subject: "[WARN] 报警邮件test"}

inhibit_rules:   抑制规则

当存在与另一组匹配的警报(源)时,抑制规则将禁用与一组匹配的警报(目标)。

包括源匹配和目标匹配

alertmanager官方是这样说的

Inhibition

Inhibition is a concept of suppressing notifications for certain alerts if certain other alerts are already firing.

Example:  An alert is firing that informs that an entire cluster is not reachable. Alertmanager can be configured to mute all other alerts concerning this cluster if that particular alert is firing. This prevents notifications for hundreds or thousands of firing alerts that are unrelated to the actual issue.

Inhibitions are configured through the Alertmanager's configuration file.

当存在与另一组匹配器匹配的警报(源)时,禁止规则会使与一组匹配器匹配的警报(目标)静音。目标警报和源警报的equal列表中的标签名称都必须具有相同的标签值。

在语义上,缺少标签和带有空值的标签是同一件事。因此,如果equal源警报和目标警报都缺少列出的所有标签名称,则将应用禁止规则。

为了防止警报禁止自身,与规则的目标和源端 都 匹配的警报不能被警报(包括其本身)为真来禁止。但是,我们建议选择目标匹配器和源匹配器,以使警报永远不会同时匹配双方。这很容易进行推理,并且不会触发此特殊情况。

接着是规则rules

不解释了,自己研究官方文档

alertmanager的非容器安装方式是

 wget

tar xf alertmanager-0.20.0.linux-amd64.tar.gz

mv alertmanager-0.20.0.linux-amd64 /usr/local/alertmanager

vim /usr/lib/systemd/system/alertmanager.service

[Unit]

Description=alertmanager

Documentation=

After=network.target

[Service]

Type=simple

User=root

ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml

Restart=on-failure

[Install]

WantedBy=multi-user.target

Alertmanager 安装目录下默认有 alertmanager.yml 配置文件,可以创建新的配置文件,在启动时指定即可。

其余方式和上面一样

接着是Prometheus,我之前的博客里有写了容器安装和非容器安装的方法,自己去翻阅

然后是在prometheus.yml里修改相关配置

首先去掉alertmanager的注释,改成IP加你设置的端口号,默认是9093

接着在rule_files: 下面写下规则文件的绝对路径,可以是具体文件名,也可以是*,也可以分几级文件,*默认是全部匹配

接着是被监控项的设置,这里设置完成可以在Prometheus网页里的targets里看得到

请注意,这里设置的参数名字要和rule规则中设置的参数名字一模一样,否则你的prometheus服务会无法启动,然后报错

如果不在特定的job下设置scrape_interval(优先级高于全局),则默认采用gobal下的scrape_interval

最后模拟节点掉线,手动关闭node-exporter或者Cadvisor

docker stop node-exporter 或者容器ID

docker stop cadvisor 或者容器ID

或者把up{{job='prometheus'}} == 1 设置成1,反向设置,不用关掉服务,就可以看看告警成不成功

说明一下 Prometheus Alert 告警状态有三种状态:Inactive、Pending、Firing。

Inactive:非活动状态,表示正在监控,但是还未有任何警报触发。

Pending:表示这个警报必须被触发。由于警报可以被分组、压抑/抑制或静默/静音,所以等待验证,一旦所有的验证都通过,则将转到 Firing 状态。

Firing:将警报发送到 AlertManager,它将按照配置将警报的发送给所有接收者。一旦警报解除,则将状态转到 Inactive,如此循环。

没有配置告警模板时的默认告警格式是这样的

节点恢复后邮件告知是这样的

写了模板后是这样的

还要重新映射模板文件夹路径到alertmanager容器里的相对路径,然后重启alertmanager,当然,如果目录下没有模板文件,则不显示

告警模板

在alertmanager.yml中修改相关设置

重启alertmanager

docker restart alertmanager

最终效果不是很好

监控摄像头移动侦测邮件告警信息

估计是摄像头软件问题吧,弄个计划任务,每十小时重启一次摄像头吧

服务器安全狗邮件告警按照教程一步一步走还是收不到邮件,怎么办?请高手解答!

通过配置并开启邮件告警功能,用户能够收到服务器安全狗定期发送的服务器实时运行情况邮件,及时发现服务器异常。

告警邮件将由用户指定的邮箱发送给指定的接收者。在设置发送邮箱的时候,系统需要用户填写发送邮箱的SMTP服务器地址。比如说使用QQ邮箱来作为告警邮件发送邮箱,所以填入QQ邮箱的SMTP服务器地址。

你可以看下安全狗网站帮助中心的《服务器安全狗邮件告警功能设置教程》,里面写的很清楚,希望可以帮到你

如何利用Python自动监控网站并发送邮件告警

1、监控网站

监控网站其实就是去爬网页的源码,每次对比或检查网页源码特定位置的html代码是否有变化即可,具体可以用

from urllib import request

page = request.urlopen("网址")

html = page.read()

就可以获取网页源码;

2、发送高警

建议别用邮件,邮件发多几次就会认为你的发件箱有发垃圾邮件的嫌疑。用 喵提醒 ,是个公众号,可以免费发提醒到手机上。调用方法也和监控网页代码类似,具体自己看喵提醒的教程。

电子邮件存在哪些安全性问题

1、携带恶意程序的邮件

根据最新报告,电子邮件继续在恶意软件分发生态系统中占主导地位。恶意代码可以作为附件文件查收,也可以通过指向随机在线资源(如GoogleDrive)的链接进行轮询。在病毒传播方面,SMTP流量优于其他协议。此外,病毒不一定是.exe文件,它们也可以伪装成用户通常信任的.doc或.pdf文档。

Soul:打造志同道合的交友圈

广告

Soul:打造志同道合的交友圈

所以,当面对不明邮件时,不打开不查看,并及时向安全部门反映情况,及时减少对企业的影响。

2、网络钓鱼邮件

中招钓鱼邮件在某种程度上是用户的个人问题。用户一旦打开钓鱼邮件链接就可能被诱导引发损失。但更多的情况下攻击者可能会以这种方式窃取企业数据,其中包括电子邮件地址、密码、企业通讯录、客户名单和重要文件。

所以,面对转款、转账、索要密码等涉及企业敏感数据的邮件时,不轻信邮件,应电话再次确认。也可使用企业通讯录和邮件水印功能,可快速分辨出伪装的钓鱼邮件。

3、恶意泄露邮件

有人可能正在泄露公司数据,除非采用邮件数据防泄露(DLP)解决方案,否则无法得知泄露以及泄露的详情。可能只是将机密数据上传至云端,当需要时在进行下载利用。

所以,配置邮件防泄漏系统就显得尤为重要,当企业部署(DLP)邮件防泄漏系统,一旦有涉密邮件外发,可有效的防止涉密邮件泄露,并及时告警审批。

4、服务器漏洞

无论是电脑系统还是邮件系统在设计上配置上都存在有漏洞的可能性。这些漏洞可能随时成为黑客进入的大门。研究发现近60%的服务器邮件服务器存在漏洞,造成这一漏洞的原因是内存溢出。

所以,需要对邮件数据采取有效的加密处理,当数据加密后储存在服务器中,即使服务器遭遇攻击,邮件数据均为密文形式,不法分子无法对数据进行查看,这样才能确保邮件数据的安全性。

5、离职员工泄露

俗话说“铁打的营盘流水的兵”,人员变动在任何一家公司都是再平常不过的事情,但平常之中也潜伏着风险。邮件作为企业日常工作的传输工具,难免需要传输敏感数据,当这些员工离职,就将无法管控。

所以,如果有重要邮件需要外发给合作伙伴,可进行管理审批后发出。同时企业用户可进行策略配置:禁止截屏、禁止转发、强制加密、邮件水印、离职管控等,邮件追踪等增加更多的管控机制,有效防止企业“内鬼”通过邮件外发泄密,并且员工离职后,以前企业的涉密加密邮件均不能再查看下载,防止员工离职后对企业造成威胁。



如何给xenserver配置邮件告警通知


1.内部测试邮件,可以通过自己搭建SMTP服务器,搭建的方式很多,这里以ArGoSoft Mail Server为例。

a.下载安装软件,系统图标中能够看到运行情况

b..Option-Local Domains 添加domain信息,这个可以随便添加

c. Users:添加邮件账户。例如colin1

d.可以通过outlook express来配置邮件,SMTP服务器地址即为安装mail server机器的ip

e.encenter中配置收件人和smtp服务器地址

f.将alert的条件改低,即可很快收到alert邮件,发件人为noreply@hostname

2.配置Gmail邮箱

a.你首先需要拷贝/etc/ssmtp/ssmtp.conf /etc/mail-alarm.conf然后更改里面内容,增加以下内容:

authUser=abc@gmail.com

authPass=password

mailhub=smtp.gmail.com:465

UseTLS=YES

Note:我用465因为GMAIL是用TLS的而TLS端口是465.你可以取消注解‘Debug=YES‘所以可以在maillog看到更多信息,具体配置可以参考附件

b.配置xencenter

c.触发相关规则后即可收到Gmail的邮件,其他邮箱因为时间关系没有继续测试,


上一篇:告警根因定位(告警根因定位怎么写)
下一篇:物联网助力配电运维智能化管理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~