[原创] zabbix学习之旅四:mail客户端安装

  相信大家使用zabbix的最主要目的就是当被监控机器发生故障时,能通过zabbix获得第一时间的报警提醒。zabbix常用的报警媒介有email,短信,jabber和脚本,这其中脚本类型最为灵活,尤其当邮件服务器、短信服务器不与zabbix server在同一台服务器时,自定义脚本基本上成为我们唯一可靠的方式。

  在本文中,我们将在zabbix server上安装邮件客户端,并以脚本方式将报警信息通过邮件发出来,若以后想做短信提醒、微信提醒,技术路径都是一样的。

安装msmtp

  msmtp是一个SMTP客户端,可将邮件发送至SMTP服务端,其官网地址为http://msmtp.sourceforge.net/index.html 。

  • 下载并安装msmtp
cd /usr/local/src
wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download
tar jxvf msmtp-1.4.32.tar.bz2
cd msmtp-1.4.32
./configure --prefix=/usr/local/msmtp
make && make install
  • 配置msmtp
mkdir –p /usr/local/msmtp/etc
vi /usr/local/msmtp/etc/msmtprc
#添加如下内容:
account default
host smtp.163.com
port 25
from [email protected]163.com
auth login
tls off
user  xxx
password xxx
logfile /var/log/mmlog

chmod 777 /var/log/mmlog
  • 测试msmtp
/usr/local/msmtp/bin/msmtp  [email protected]163.com
hello,test
ctrl d
# 查看日志有无成功
cat /usr/local/msmtp/msmtp.log
# 查看163邮箱,看看信收到没有。

安装Mutt

  Mutt是一个Email客户端,它不能直接发送邮件,更多的是承担对email的管理功能,与msmtp可搭配使用。其官网地址为:http://www.mutt.org/

若想了解更多Mutt与msmtp的搭配使用,可查看如下地址:http://msmtp.sourceforge.net/doc/msmtp.html#Using-msmtp-with-Mutt

  • 下载并安装Mutt
cd /usr/local/src
wget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz
tar xvf mutt-1.5.24.tar.gz
cd mutt-1.5.24
./configure –prefix=/usr/local/mutt
make && make install
  • 配置Mutt
vi /usr/local/mutt/etc/Muttrc
#在最后添加如下几行:
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="xxx"
set from[email protected]163.com
set envelope_from=yes
  • 测试Mutt
echo "hello,world"|/usr/local/mutt/bin/mutt –s "test mail" [email protected]163.com
#上述语句将发送一封标题为"test mail",内容为"hello,world",收件人为[email protected]的邮件,可检查该邮箱能否收到邮件

  至此,邮件客户端已配置完成,那zabbix如何将报警信息传递给Mutt呢?我们仅需要写如下一段脚本:

cd /usr/local/zabbix/share/zabbix/alertscripts
touch notification.sh
chmod +x notification.sh

vi notification.sh
#添加如下内容
#!/bin/bash
echo "$3"| /usr/local/mutt/bin/mutt -s "$2" $1

  其中$1为zabbix传递的收件人地址,$2为邮件标题,$3为邮件内容。

  而上述路径/usr/local/zabbix/share/zabbix/alertscripts是默认的zabbix脚本调用路径,当有报警信息时,zabbix会在该路径下查找并调用指定的脚本,如我们自定义的notification.sh脚本。

  下一篇文章我们将介绍如何在zabbix server界面完成报警提醒的全过程设置。

时间: 2024-08-11 05:47:24

[原创] zabbix学习之旅四:mail客户端安装的相关文章

[原创] zabbix学习之旅三:agent安装

部署完zabbix server后,自然要部署zabbix agent.在官方描述中,agent是部署在被监控的机器上,用于采集CPU.内存.磁盘等统计信息,并上报给server用于进一步处理.agent的采集信息方式也非常高效,是通过本机操作系统的系统调用完成. agent主要通过被动和主动两种方式上报本机信息,顾名思义,被动方式意味着server下达采集命令时,agent才会去收集信息:而主动方式意味着agent会在第一次时就从server处获取要采集的items,并定期将每个item的新值

[原创] zabbix学习之旅二:yum安装

对于允许连接公网的环境下,显然通过yum安装是最为简单方便的,也是官网推荐的安装方式.通过这种方式安装,会将php.apache.zabbix本身都一并安装,解决了烦人的依赖包问题. 本文将介绍如何进行yum安装. 安装Mysql zabbix支持安装在多种数据库上,本方案中数据库为mysql.安装及库表建立如下: 安装mysql5.6.28,安装方式为rpm安装,安装前若本机已有老旧mysql,请卸载. rpm –ivh MySQL-server-5.6.28-1.el6.x86_64.rpm

[原创] zabbix学习之旅五:如何快速搭建一个报警系统

通过之前的文章,我们已搭建好zabbix server.agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统.总的来说,快速搭建一个报警系统的顺序如下: 配置Host groups.在生产环境中,可能会有多个不同的业务,每个业务下又有自己的服务器.因此,通过定义Host group可以进行业务分组. 配置Template.顾名思义模板的意思,假设我们有多台Mysql服务器或应用服务器,他们的机器配置.开放端口都基本相同,那么我们没有必要一台台

go语言学习之旅--Go 语言环境安装

前言 笔者已经自学python大概已经几个月了,但是工作繁忙,而且工作中未用到python的知识.于是就渐渐生疏了,这是下定决心学习go,是因为公司有一台go编写的报表系统,而且公司逐渐在想docker转,学习go更又助于未来的工作. 关于GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,

zabbix学习-如何部署一个agent客户端

1. 部署一个agent客户端很简单,比如监控服务器本身 yum install zabbix-agent -y 2.配置文件位置: vim /etc/zabbix/zabbix-agendt.conf 修改里面的server配置即可,其中serveractive为主动发现配置.有需要也可以配置 3.启动agent服务并设置为开机启动 systemctl start zabbix-agent systemctl enable zabbix-agent zabbix-server本身在安装的时候已

SpringCloud开发学习总结(四)—— 客户端负载均衡Ribbon

通过上一章<SpringCloud开发学习总结(三)-- 服务治理Eureka>,我们已经搭建起微服务架构中的核心组件--服务注册中心(包括单点模式和高可用模式).同时还注册了一个服务,命名为hello-service.现在我们已经有了服务注册中心和服务提供者,下面就来尝试构建一个服务消费者,它主要完成两个目标,发现服务以及消费服务.其中,服务发现的任务由Eureka的客户端完成,而服务消费的任务由Ribbon完成.Ribbon是一个基于HTTP和TCP的客户端负载均衡器,它可以在通过客户端中

gradle学习之旅(四) 使用gradle构建简单的java web项目

本节通过一个简单的javaweb项目来体会gradle的使用 需求 构建一个javaweb项目,搭建jsp+servlet开发环境 可以将需求分解为两步: 使用gradle构建一个java项目 为该项目构建web视图层 工具 gradle4.3 idea jdk 1.8 实验过程 首先在idea中创建一个空的gradle项目 创建如下目录-文件结构 在构建脚本中写入如下内容 group 'com.shy' version '1.0-SNAPSHOT' apply plugin:'java' ap

【Go学习之旅】Go语言安装及环境配置教程

一.前言 Go(又称Golang)是Google开发的一种静态强类型.编译型的编程语言. Go语言的主要特点包括:自动垃圾回收.更丰富的内置类型.函数多返回值.错误处理.匿名函数和闭包.类型和接口.并发编程.反射.语言交互性. 二.安装配置 Go语言的安装是很简单的,下载安装包进行安装就好了,但是不FQ是打不开GO官方网站的,不过我们可以选择进入下面两个网址进行下载: 1:https://golang.google.cn/dl/ 2:https://studygolang.com/dl 这里我进

我的linux学习之旅:(2)编译安装httpd2.4

编译安装httpd2.4 目标:在www1这台主机上编译安装httpd服务,www2暂不安装为将来扩展使用 操作系统CentOS6.6 x32_64 安装中使用的文件 /etc/sysconfig/network-scripts/ifcfg-eth0 配置 安装开始 安装完成启动服务时会出现提示 将配置文件中该行注释删除 ok 检测一下域名的解析情况 检查一下httpd是否工作正常 #!/bin/bash # httpd-2.4 install yum groupinstall -y "Deve