本次实验,我们主要在centos 7 系统上部署zabbix监控,并实现监控交换机,监控Apache服务器,实现邮箱报警等操作
LNMP环境构建
软件包
下载地址
nginx-1.8.0.tar.gz
mysql-5.6.26.tar.gz
http://dev.mysql.com/downloads/mysql/
php-5.6.13.tar.bz2
Nginx的安装
构建的 过程中提前关闭防火墙以及selinux
1[root@zabbix-server ~]# mkdir /lnmp //新建一个存放源码包的目录 2[root@zabbix-server ~]# cd /lnmp/ 3[root@zabbix-server lnmp]# ls //下载对应的软件包 4mysql-5.6.26.tar.gz nginx-1.8.0.tar.gz php-5.6.13.tar.bz2 5[root@zabbix-server lnmp]# yum install gcc gcc-c++ autoconf automake libtool make zlib zlib-devel openssl openssl-devel pcre* pcre-devel -y //解决相关依赖关系 6[root@zabbix-server lnmp]# useradd -s /sbin/nologin -M nginx 7[root@zabbix-server lnmp]# tar -xf nginx-1.8.0.tar.gz //解压Nginx源码包 8[root@zabbix-server lnmp]# cd nginx-1.8.0/ 9[root@zabbix-server nginx-1.8.0]# ./configure --perfix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre //编译 10[root@zabbix-server nginx-1.8.0]# make && make install //安装操作 11[root@zabbix-server ~]# vim /usr/local/nginx/conf/nginx.conf //编辑Nginx的配置文件 124 user nginx nginx; 1343 location / { 14 15 1644 root html; 1745 index index.php index.html index.htm; 1846 } 1965 location ~ \.php$ { 20 21 2266 root html; 2367 fastcgi_pass 127.0.0.1:9000; 2468 fastcgi_index index.php; 2569 fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; 2670 include fastcgi_params; 2771 } 2872 29[root@zabbix-server ~]# /usr/local/nginx/sbin/nginx //启动Nginx服务器 30[root@zabbix-server ~]# ss -tan | grep 80 31LISTEN 0 128 *:80 *:*
浏览器访问测试

mysql的安装
1注:安装mysql不能够用GCC等编译工具来进行编译了,需要使用cmake 来进行编译,我们直接执行以下命令即可 2[root@zabbix-server ~]# yum install -y cmake ncurses-devel //安装mysql需要用到这两个软件包 3 4编译安装过程: 5[root@zabbix-server lnmp]# tar -xf mysql-5.6.26.tar.gz 6[root@zabbix-server lnmp]# useradd -s /sbin/nologin -M mysql 7[root@zabbix-server lnmp]# cd mysql-5.6.26/ 8[root@zabbix-server mysql-5.6.26]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL-USER=mysql 9[root@zabbix-server mysql-5.6.26]# make -j 2 && make install //执行安装过程 10[root@zabbix-server ~]# chown -R mysql:mysql /usr/local/mysql/ //赋权操作 11[root@zabbix-server ~]# cd /usr/local/mysql/ 12[root@zabbix-server mysql]# mkdir date //创建一个存放数据的目录(因为该目录已经存在了一个data目录,所以命名为date) 13[root@zabbix-server mysql]# chown -R mysql:mysql date/ 14[root@zabbix-server mysql]# cd support-files/ //进入这个目录 15[root@zabbix-server support-files]# cp -a my-default.cnf /etc/my.cnf //复制操作 16cp:是否覆盖"/etc/my.cnf"? y 17[root@zabbix-server support-files]# cp -a mysql.server /etc/init.d/mysqld 18[root@zabbix-server support-files]# chmod a+x /etc/init.d/mysqld 19[root@zabbix-server support-files]# vim /etc/init.d/mysqld 20 46 basedir=/usr/local/mysql 21 47 datadir=/usr/local/mysql/date 22[root@zabbix-server support-files]# chkconfig mysqld on //设置为开机自动启动 23[root@zabbix-server support-files]# usr/local/mysql/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/date //初始化数据库 24[root@zabbix-server mysql]# ln -s /usr/local/mysql/bin/* /bin/ //连接mysql的命令到/bin目录下 这样可以全局使用mysql相关命令 25[root@zabbix-server mysql]# /etc/init.d/mysqld start //启动数据库 26Starting MySQL. SUCCESS! 27[root@zabbix-server mysql]# ss -tan | grep 3306 28LISTEN 0 80 [::]:3306 [::]:* 29[root@zabbix-server ~]# mysql_secure_installation //初始化数据库,至自定义密码 30[root@zabbix-server ~]# mysql -uroot -p //登录验证 31Enter password:
PHP的安装
1解决相关依赖关系: 2[root@zabbix-server ~]# yum -y install gcc gcc-c++ libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel libicu-devel freetype-devel openldap-devel openldap openldap-devel php-pear sqlite-devel 3安装libmcrypt 4ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt 软件包下载地址 5[root@zabbix-server /]# tar -xf libmcrypt-2.5.8.tar.bz2 6[root@zabbix-server libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt //编译安装 7[root@zabbix-server libmcrypt-2.5.8]# make && make install 8[root@zabbix-server ~]# vim /etc/ld.so.conf //编辑这个文件,添加两个lib库的位置 9/usr/local/libmcrypt/lib 10/usr/local/mysql/lib 11[root@zabbix-server ~]# ldconfig //执行这个生效 12[root@zabbix-server ~]# echo "ldconfig" >> /etc/rc.local //写入到开机自动执行 13 14安装PHP 15[root@zabbix-server lnmp]# tar -xf php-5.6.13.tar.bz2 16[root@zabbix-server lnmp]# cd php-5.6.13/ 17[root@zabbix-server php-5.6.13]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-mysqlnd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --with-gettext --with-mcrypt=/usr/local/libmcrypt //编译 18[root@zabbix-server php-5.6.13]# make -j 2 && make install //执行安装 19[root@zabbix-server php-5.6.13]# cp -a php.ini-development /usr/local/php/php.ini //复制PHP.ini 文件 20[root@zabbix-server etc]# pwd 21/usr/local/php/etc //进入这个目录 22[root@zabbix-server etc]# ls 23pear.conf php-fpm.conf.default 24[root@zabbix-server etc]# cp php-fpm.conf.default php-fpm.conf 25[root@zabbix-server php-5.6.13]# cp -a sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm //复制启动及脚本文件 26[root@zabbix-server php-5.6.13]# chmod a+x /etc/init.d/php-fpm 27[root@zabbix-server php-5.6.13]# /etc/init.d/php-fpm start 28Starting php-fpm done 29[root@zabbix-server php-5.6.13]# ss -tan | grep 9000 30LISTEN 0 128 127.0.0.1:9000 *:*
测试Nginx能否识别PHP文件
[root@zabbix-server ~]# echo "<?php phpinfo; ?>" >> /usr/local/nginx/html/index.php

搭建zabbix 监控
https://cdn.zabbix.com/zabbix/sources zabbix源码包下载地址
搭建过程如下
1[root@zabbix-server ~]# mkdir /zabbix //创建一个目录 2[root@zabbix-server ~]# cd /zabbix/ 3[root@zabbix-server zabbix]# tar -xf zabbix-4.2.4.tar.gz //上传zabbix 源码包,并进行解压操作 4[root@zabbix-server zabbix-4.2.4]# useradd -s /sbin/nologin -M zabbix //创建zabbix用户 5[root@zabbix-server zabbix-4.2.4]# yum install -y net-snmp-devel libevent libevent-devel //依赖关系解决 6[root@zabbix-server zabbix-4.2.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-mysql //编译安装 7[root@zabbix-server zabbix-4.2.4]# make install //直接make install 即可
导入数据库
1[root@zabbix-server ~]# mysql -uroot -p //登录数据库 2mysql> create database zabbix character set utf8 collate utf8_bin; //创建zabbix数据库 3Query OK, 1 row affected (0.00 sec) 4 5mysql> create user 'zabbix'@'localhost' identified by 'zabbix'; //创建zabbix用户 6Query OK, 0 rows affected (0.09 sec) 7 8mysql> grant all privileges on *.* to 'zabbix'@'localhost' with grant option; //为zabbix赋权 9Query OK, 0 rows affected (0.00 sec) 10 11mysql> flush privileges; //刷新数据库 12Query OK, 0 rows affected (0.00 sec) 13 14导入数据库操作 15[root@zabbix-server ~]# cd /zabbix/zabbix-4.2.4/ 16[root@zabbix-server zabbix-4.2.4]# mysql -uzabbix -p zabbix < database/mysql/schema.sql 17Enter password: 18[root@zabbix-server zabbix-4.2.4]# mysql -uzabbix -p zabbix < database/mysql/images.sql 19Enter password: 20[root@zabbix-server zabbix-4.2.4]# mysql -uzabbix -p zabbix < database/mysql/data.sql 21Enter password:
编辑zabbix-server 配置 文件
1[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf 285 DBHost=localhost //本地系统的名称 394 DBName=zabbix //数据库的名称 4110 DBUser=zabbix //数据库用户名 5118 DBPassword=zabbix //数据库用户名的密码 6[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 7113 Server=127.0.0.1 //zabbix_server 服务器的地址 8154 ServerActive=127.0.0.1 9165 Hostname=Zabbix server 10[root@zabbix-server ~]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf 11我们可以使用这个命令检测我们的配置是否有误
zabbix 优化操作
1[root@zabbix-server zabbix-4.2.4]# cd misc/init.d/fedora/core 2[root@zabbix-server core]# ls 3zabbix_agentd zabbix_server 4[root@zabbix-server core]# cp -a * /etc/init.d/ 5[root@zabbix-server core]# chmod a+x /etc/init.d/zabbix_* 6[root@zabbix-server core]# vim /etc/init.d/zabbix_server 7[root@zabbix-server core]# vim /etc/init.d/zabbix_agentd 8编辑这个两个文件 都修改为: 9 22 BASEDIR=/usr/local/zabbix //编辑这一行 10 11启动操作 12[root@zabbix-server core]# /etc/init.d/zabbix_server start 13Reloading systemd: [ 确定 ] 14Starting zabbix_server (via systemctl): [ 确定 ] 15[root@zabbix-server core]# /etc/init.d/zabbix_agentd start 16Starting zabbix_agentd (via systemctl): [ 确定 ] 17[root@zabbix-server core]# netstat -lnupt | grep zabbix 18tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 59561/zabbix_agentd 19通过以上启动我们发现只启动了zabbix_agentd 端口,zabbix_server 端没有启动,现在我们来解决: 20[root@zabbix-server ~]# find / -name mysql.sock //搜索这个文件的路径 21/tmp/mysql.sock 22[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf //编辑主配置文件 23DBSocket= /tmp/mysql.sock //添加这个即可 DBS为大写 24[root@zabbix-server ~]# netstat -lnupt | grep zabbix 25tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 59561/zabbix_agentd 26tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 78386/zabbix_server 27 28最后两个服务就启动完成了 29 30复制zabbix的页面到Nginx的发布目录中 31[root@zabbix-server php]# cd /zabbix/zabbix-4.2.4/frontends/php/ 32[root@zabbix-server php]# cp -r * /usr/local/nginx/html/ 33cp:是否覆盖"/usr/local/nginx/html/index.php"? y
浏览器端配置安装

点击next step

这里出现了很多fail,这个解决方法在我的上一篇博客中写的有,这里就不做写了
以上问题解决以后点击next step

然后在点击next step

默认不配置,点击next step

出来了以下的错误,这个错误在上一篇博客也有解决方案,这里也不做多的讲解了

最后解决完成以后的界面图如下:

登录界面(用户名 Admin 密码 zabbix )

登录之后的界面是这样子的

将当前页面调为中文设置

解决图形界面中文乱码的问题

1操作如下: 2Win+R >fonts >拷贝微软雅黑字体改名为 msyh.ttf >/usr/local/nginx/html/assets/fonts 3 vim /usr/local/nginx/html/include/defines.inc.php 4 修改 zabbix php 页面配置,改为 msyh 5 define('ZBX_GRAPH_FONT_NAME', 'msyh');
改了之后的效果如下

添加被监控端(centos 7 作为httpd服务器)
1被监控端需要安装 zabbix-agent 2下载地址:http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/ 3 4安装过程: 5[root@zabbix-agent zabbix-4.2.4]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI pcre* gcc gcc-c++ //先解决依赖关系 6[root@zabbix-agent ~]# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.2.4/zabbix-4.2.4.tar.gz //下载对应的软件包 7[root@zabbix-agent ~]# tar -xf zabbix-4.2.4.tar.gz //解压操作 8[root@zabbix-agent zabbix-4.2.4]# useradd -s /sbin/nologin -M zabbix 9[root@zabbix-agent zabbix-4.2.4]# ./configure --prefix=/usr/local/zabbix --enable-agent //然后在来进行编译安装即可 10[root@zabbix-agent zabbix-4.2.4]# make install 11[root@zabbix-agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf //编辑配置文件 12 94 Server=192.168.1.100 13 135 ServerActive=192.168.1.100 14[root@zabbix-agent ~]#cd zabbix-4.2.4/misc/init.d/fedora/core //进入这个目录 15[root@zabbix-agent core]# cp -a zabbix_agentd /etc/init.d/ //复制zabbix.agentd 文件到指定目录下 16[root@zabbix-agent core]# chmod a+x /etc/init.d/zabbix_agentd 17[root@zabbix-agent core]# vi /etc/init.d/zabbix_agentd 18 22 BASEDIR=/usr/local/zabbix 19[root@zabbix-agent ~]# /etc/init.d/zabbix_agentd start //启动测试 20Reloading systemd: [ 确定 ] 21Starting zabbix_agentd (via systemctl): [ 确定 ] 22[root@zabbix-agent ~]# ss -tan | grep 10050 23LISTEN 0 128 *:10050 *:* 24 25配置httpd服务器 26[root@zabbix-agent ~]# yum install -y httpd 27[root@zabbix-agent ~]# systemctl start httpd 28[root@zabbix-agent ~]# systemctl enable httpd 29Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. 30[root@zabbix-agent ~]# echo "this is httpd server " >> /var/www/html/index.html 31[root@zabbix-agent ~]# curl localhost 32this is httpd server 33 34zabbix-server 端测试能否获取到zabbix-agnet 端的信息 35[root@zabbix-server ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.10 -p10050 -ksystem.uname 36Linux zabbix-agent 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 37参数详解: 38-s 指定客户端的IP地址 39-p 指定端口号 40-k 返回的类型
浏览器端添加被监控主机

点击创建主机

然后在点击模板即可

最后出现这个代表以及成功监控这一台主机了

导入Apache相关功能的模块
下载这个压缩包: https://github.com/lorf/zapache/archive/master.zip

然后我们点击导入按钮

我们点击这个

然后点击模板

然后我们就可以通过图形这个选项 来监控httpd服务的各项状态了

监控华为交换机
在ensp软件中构建如下的网络结构拓扑图

SW1的配置
1[SW1]int Vlanif if //进入vlanif 1 2[SW1-Vlanif1]ip address 192.168.1.150 24 //配置IP地址 3[SW1]ping 192.168.1.100 //连通测试zabbix-server 服务器 4 PING 192.168.1.100: 56 data bytes, press CTRL_C to break 5 Reply from 192.168.1.100: bytes=56 Sequence=1 ttl=64 time=60 ms 6 Reply from 192.168.1.100: bytes=56 Sequence=2 ttl=64 time=20 ms 7 Reply from 192.168.1.100: bytes=56 Sequence=3 ttl=64 time=30 ms 8 Reply from 192.168.1.100: bytes=56 Sequence=4 ttl=64 time=30 ms 9 Reply from 192.168.1.100: bytes=56 Sequence=5 ttl=64 time=10 ms 10[SW1]snmp-agent //开启snmp服务 11[SW1]snmp-agent community read zabbix@123 12[SW1]snmp-agent sys-info version all 13[SW1]snmp-agent target-host inform address udp-domain 192.168.1.100 udp-port 161 14 params securityname zabbix@123 v2c 15[SW1]snmp-agent trap enable 16Warning: All switches of SNMP trap/notification will be open. Continue? [Y/N]:y
zabbix-server 端的配置
1[root@zabbix-server ~]# yum install -y net-snmp* //安装snmp相关的工具 2[root@zabbix-server ~]# systemctl start snmpd //启动snmpd服务 3[root@zabbix-server ~]# systemctl enable snmpd //设置为开机自动启动 4Created symlink from /etc/systemd/system/multi-user.target.wants/snmpd.service to /usr/lib/systemd/system/snmpd.service. 5 6然后在zabbix-server端测试一下能否识别交换机 7[root@zabbix-server ~]# snmpwalk -v 2c -c zabbix@123 192.168.1.150 system 8SNMPv2-MIB::sysDescr.0 = STRING: S5700-28C-HI 9Huawei Versatile Routing Platform Software 10 VRP (R) software,Version 3.30 (S5700 V200R001C00) 11 Copyright (C) 2007 Huawei Technologies Co., Ltd. 12SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.2011.2.23.169 13DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (271054) 0:45:10.54 14SNMPv2-MIB::sysContact.0 = STRING: R&D Beijing, Huawei Technologies co.,Ltd. 15SNMPv2-MIB::sysName.0 = STRING: SW1 16SNMPv2-MIB::sysLocation.0 = STRING: Beijing China 17SNMPv2-MIB::sysServices.0 = INTEGER: 78 18 19返回以上信息就代表可以识别
zabbix-server 浏览器端的配置

点击创建主机

然后点击模板

然后点击宏

最后出现这个就代表成功了

监控mysql数据库
我们在centos 7 上安装mariadb数据库来进行测试
1[root@zabbix-agent ~]# yum install -y mariadb mariadb-server //安装数据库 2[root@zabbix-agent ~]# systemctl start mariadb //启动数据库 3[root@zabbix-agent ~]# mysql_secure_installation //初始化数据库 4[root@zabbix-agent ~]# mysql -uroot -p //登录数据库 5创建一个用于监控专用的用户 6MariaDB [(none)]> grant usage on *.* to zabbix@'%' identified by '123'; 7Query OK, 0 rows affected (0.00 sec) 8 9MariaDB [(none)]> flush privileges; 10Query OK, 0 rows affected (0.01 sec) 11 12复制zabbix自带的mysql监控模板 13[root@zabbix-agent ~]# cd zabbix-4.2.4/conf/zabbix_agentd 14[root@zabbix-agent zabbix_agentd]# ls 15userparameter_examples.conf userparameter_mysql.conf 16[root@zabbix-agent zabbix_agentd]# cp -r userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/ //复制到这个目录下 17[root@zabbix-agent zabbix_agentd]# vi /usr/local/zabbix/etc/.my.cnf //编辑一个脚本文件 18#Zabbix Agent 19[mysql] 20host=zabbix-agent //被监控的主机名称 21user=zabbix //监控的用户 就是上面我们创建的哪一个 22password=123 //密码 23socket= /var/lib/mysql/mysql.sock //这个文件要根据你安装的数据库所在来定 24[mysqladmin] 25host=zabbix-agent 26user=zabbix 27password=123 28socket= /var/lib/mysql/mysql.sock 29[root@zabbix-agent zabbix_agentd]# vi /usr/local/zabbix/etc/zabbix_agentd.conf //然后再次修改zabbix的配置文件 30去掉注释,修改为正确的路径 31 265 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 32 33[root@zabbix-agent zabbix_agentd]# vi /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf //修改mysql的模板文件 34将里面的 所有的 /var/lib/zabbix 通通改为/usr/loca/zabbix/etc 文中一共有三处需要改 35[root@zabbix-agent zabbix_agentd]# /etc/init.d/zabbix_agentd restart //重启生效 36Restarting zabbix_agentd (via systemctl): [ 确定 ] 37[root@zabbix-agent zabbix_agentd]# ss -tan | grep 10050 38LISTEN 0 128 *:10050 *:* 39 40zabbix-server 端测试能否获取到数据 41[root@zabbix-server ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.10 -p 10050 -k mysql.ping 421 //返回1代表成功
zabbix-server 浏览器端配置

点击我们之前已经创建好的主机

添加完成以后这里就会多出一个mysql的监控项

验证测试是否有成功监控到mysql数据库

联合163邮箱实现报警
自行注册一个163邮箱然后开启如下的服务

zabbix-server 端的配置
1[root@zabbix-server ~]# yum install -y mailx //安装这个软件 2[root@zabbix-server ~]# vi /etc/mail.rc //然后编辑这个配置文件 3set from=xxx@163.com //邮箱名称 4set smtp=smtp.163.com 5set smtp-auth-user=xxx@163.com 6set smtp-auth-password=授权码 7set smtp-auth=login 8[root@zabbix-server ~]# echo "zabbix test mail" | mailx -s "zabbix server " zabbix_123@163.com 9注: 10echo 输出的是内容 -s 指定的标题
验证是否有收到我们发送的邮件

然后编写一个脚本文件
1[root@zabbix-server ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/ 2[root@zabbix-server alertscripts]# vim sendmail.sh 3#!/bin/bash 4messages=`echo $3 | tr '\r\n' '\n'` 5subject=`echo $2 | tr '\r\n' '\n'` 6echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log 2>&1 7[root@zabbix-server alertscripts]# chown zabbix.zabbix sendmail.sh //赋权操作 8[root@zabbix-server alertscripts]# chmod a+x sendmail.sh 9[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf //修改主配置文件 10AlerScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts 11添加一行这个代码 12[root@zabbix-server ~]# /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh zabbix_123@163.com "zabbix mail" "come on bady" 13发送一个代码来进行测试
验证测试

配置zabbix web 监控项邮件报警

点击创建媒介类型

1{ 2 3 ALERT.SENDTO} 4{ 5 6 ALERT.SUBJECT} 7{ 8 9 ALERT.MESSAGE}
添加完成以后是这样的

然后进行下一步操作

然后点击Admin 这个用户

然后我们在来进行创建发送邮件的动作

点击创建动作按钮

然后点击操作

1默认接受人内容标题: 故障{ 2 3 TRIGGER.STATUS},服务器:{ 4 5 HOSTNAME1}发生:{ 6 7 TRIGGER.NAME}故障! 8默认信息内容: 9告警主机:{ 10 11 HOSTNAME1} 12告警时间:{ 13 14 EVENT.DATE} { 15 16 EVENT.TIME} 17告警等级:{ 18 19 TRIGGER.SEVERITY} 20告警信息:{ 21 22 TRIGGER.NAME} 23告警项目:{ 24 25 TRIGGER.KEY1} 26问题详情:{ 27 28 ITEM.NAME}:{ 29 30 ITEM.VALUE} 31当前状态:{ 32 33 TRIGGER.STATUS}:{ 34 35 ITEM.VALUE1} 36事件ID:{ 37 38 EVENT.ID}
然后点击恢复操作

1默认接收人:已恢复!{ 2 3 TRIGGER.STATUS}, 服务器:{ 4 5 HOSTNAME1}: { 6 7 TRIGGER.NAME} 8恢复信息: 9告警主机:{ 10 11 HOSTNAME1} 12告警时间:{ 13 14 EVENT.DATE} { 15 16 EVENT.TIME} 17告警等级:{ 18 19 TRIGGER.SEVERITY} 20告警信息: { 21 22 TRIGGER.NAME} 23告警项目:{ 24 25 TRIGGER.KEY1} 26问题详情:{ 27 28 ITEM.NAME}:{ 29 30 ITEM.VALUE} 31当前状态:{ 32 33 TRIGGER.STATUS}:{ 34 35 ITEM.VALUE1} 36事件 ID:{ 37 38 EVENT.ID}
添加完成以后的样子是这样的

测试是否会通过邮箱报警
我们关闭centos 7 系统上的httpd服务器,看看会不会给我发送信息来提示
[root@zabbix-agent ~]# systemctl stop httpd
监控开始报错

邮箱测试

至此,整个环境以及监控的各项主机邮箱报警的搭建就到此完成了,