zabbix 监控主机并且邮箱报警

版权声明:QQ:1009002494 https://blog.csdn.net/Doudou_Mylove/article/details/84137201

zabbix安装不在演示,前面有文章

先监控一台主机

被监控主机安装Zabbix-Agent

同样需要安装zabbix官方源

rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

安装客户端需要的软件包:

yum -y install zabbix zabbix-agent zabbix-sender

 

修改配置文件

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf

特定情况配置zabbix_agentd.conf需改变的参数如下:

Server:被动模式,允许哪台服务器连接agent。

serverActive:主动模式,向哪台服务器传送数据。

一个agent是可以向多个服务器发送数据的,多个ip用逗号分隔。例如:

Server=127.0.0.1,192.168.0.240表server的ip为127.0.0.1和192.168.0.240这两台zabbix-server

服务器端可获取次agent的监控数据。

[root@localhost ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=127.0.0.1,192.168.0.240              #被动模式:zabbix-server的ip地址

ServerActive=192.168.0.240:10051        #主动模式

#主动和被动可以同时开启

 

启动zabbix-agent

[root@localhost ~]# service zabbix-agent start

Starting Zabbix agent:                                     [确定]

 

Zabbix-agent监听端口10050

[root@localhost ~]# ss -tanlp

添加主机

 

查看监控数量

 

邮件报警配置

邮件报警有两种情况:

1、Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:[email protected]),只能发送,不能接收外部邮件。

2、使用一个可以在互联网上正常收发邮件的邮箱账号(例如:[email protected]),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。

第一种:使用Zabbix服务端本地邮箱账号发送邮件

一、安装sendmail或者postfix

yum install sendmail #安装

service sendmail start #启动

chkconfig sendmail on #设置开机启动

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 默认已经安装好sendmail

CentOS 6.x 默认已经安装好postfix

sendmail和postfix只需要安装一个即可并开启服务即可。

 

一般我们用第二种方式

先添加用户

添加用户一定要添加到zabbix超级用户组

许可权一定要给超级管理员权限

最后存档。

用新用户登录

 

自定义item

监控mysql状态

找一个被监控主机安装MySQL并启动

然后命令行检测mysql进程数:

mysqladmin -p123456 ping |grep -c alive

1

“1”说明mysql存活

 

在被监控的主机上修改zabbix-agentd.conf配置文件添加下面一行(下面的密码指的是被监控主机MySQL的登录密码如果没有设置密码就不用写)

UserParameter=mysql_alive,mysqladmin –p”123456”ping |grep -c alive

重启zabbix-agent服务

 

配置完成后在zabbix-server上检测与被监控主机上的mysql是否通信:

zabbix_get -s 10.3.45.233 -k mysql_alive

1

自定义创建项目

 

 

再创建一个触发器(报警触发)

 

记得选择“严重性”

 

 

还可以试着创建一个图形

 

 

 

预览

 

设置一个自定义报警类型

在zabbix-server端查看如下存储脚本路径

先在zabbix-sever本地测试发送是否成功(我下面测试都是秒送)

echo "hahaha" |mail -s "hahaha" [email protected]

 

#如果不行修改下面文件

 vim /etc/mail.rc

set [email protected] smtp=smtp.163.com

set [email protected] smtp-auth-password=Benng#这里是邮箱客户端授权码

set smtp-auth=login

直到能收到邮件为准。

 

然后编写脚本

Cd /usr/lib/zabbix/alertscripts

Vim zabbix_mail.sh

#!/bin/bash
MAIL_TITLE=$2
MAIL_COM=$3
echo "$MAIL_CON" | /bin/mail -s "$MAIL_TITLE" $1
echo "$1 $2 $3" /tmp/zab_baoj

修改示警媒介类型                            

 

添加用户示警媒介

 

添加动作

 

注意下面有一个“更新”要先点,然后存档

 

 

记得基本资料修改

 

 

测试

关闭被监控主机的mysql:/etc/init.d/mysqld stop

查看主面板刷新时间为60秒

再查看邮箱(时间和发送次数都遵循与组态-动作-操作细节的设置)

注意:上面内容是自己多文档拆分组合总结,存在有些截图和内容里面对应的IP对不上,重点是原理清楚就好。

邮箱报警到此完毕。

 

 

猜你喜欢

转载自blog.csdn.net/Doudou_Mylove/article/details/84137201