一.zabbix 客户端的安装
既然要监控我们就要添加要监控的主机,在添加主机之前我们首先要在被检测主机上面安装
agent,安装 agent 比较简单,我们也是按照安装 server 的流程,下载软件包,在编译的时
候,我们只选择 agent
192.168.1.20 作为 zabbix 的被监控端,提供 web 和 mysql 应用
1.安装 Zabbix,配置 Zabbix agent:
zabbix监控及邮件报警

  21  rz   (上传zabbix-3.2.1.tar.gz)
   22  ls
   23  tar zxf zabbix-3.2.1.tar.gz   (解压)
   24  cd zabbix-3.2.1/
   25   ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install         (编译安装)
 2.优化一下zabbix 
23  cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/  (拷贝启动文件)
   24  vim /etc/init.d/zabbix_agentd       (修改启动文件)
BASEDIR=/usr/local/Zabbix  #22
 PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid  #31

   25  cd /usr/local/zabbix/etc/
   26  vim zabbix_agentd.conf             (修改zabbix配置文件)
   28  grep -v "^#" /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v "^$" 
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid  #11
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log #30
Server=192.168.1.10  #91 服务端IP
ListenPort=10050 #99去注释
ListenIP=0.0.0.0 #去注释
ServerActive=192.168.1.10 #132 服务端IP
Hostname=192.168.1.30  #IP随便
Timeout=3 #去注释
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #262

zabbix监控及邮件报警_第1张图片

   29  mkdir /usr/local/zabbix/logs   (创建所需目录)
   30  useradd  zabbix -s /sbin/nologin -M     (创建所需用户)
   33  chown  -R  zabbix:zabbix /usr/local/zabbix/  (让用户可执行/usr/local/zabbix)
   34  ll /usr/local/zabbix/    (查看一下/usr/local/zabbix的属组和属主)

zabbix监控及邮件报警_第2张图片
3.开机自启

36  chkconfig --add zabbix_agentd    (添加启动)
   37   chkconfig zabbix_agentd on         (开启自启)
   38   /etc/init.d/zabbix_agentd start     (开启zabbix)
   40  netstat  -anpt | grep 10050          (查看端口)

zabbix监控及邮件报警
到此, zabbix3.2.1 监控系统的基本环境安装完成。
4.实现 zabbix 添加监测项
添加对 Linux 主机的监控
在浏览器中打开: http://192.168.31.225/zabbix
登录 zabbix,先在“配置”-“主机”里添加主机监控,监控 os 资源:内存, cpu, io,负载,带宽等.登录 zabbix,先在“配置”-“主机”里单击”创建主机”
zabbix监控及邮件报警_第3张图片
zabbix监控及邮件报警_第4张图片
注意:下图中的“主机名称”要和 zabbix_agentd.conf 文件中设置的“Hostname”后面的名称一
致!
主机名称: 192.168.1.30
群组: Linux servers
agent 代理程序接口
ip: 192.168.1.10
已启用: 勾选
其它选项默认即可
切换到模板
zabbix监控及邮件报警_第5张图片
选择
选择: Template OS Linux
点添加
zabbix监控及邮件报警_第6张图片
zabbix监控及邮件报警_第7张图片
添加
zabbix监控及邮件报警_第8张图片
至此, Zabbix 监控 Linux 主机设置完成。
zabbix监控及邮件报警
配置过一段时间后,观察下监控图效果出来了没
zabbix监控及邮件报警
zabbix监控及邮件报警_第9张图片
zabbix3.0 server 已自带 mysql 的模板了,只需配置好 agent 客户端,然后在 web 端给主机增加模板就行了。

二.Zabbix_agent 客户端操作
使用脚本安装MySQL

   43  rz  上传mysql安装包和脚本
   44  sh mysql.sh 
   45  history 
   46  netstat  -anpt | grep 3306  查看IP

zabbix监控及邮件报警
Mysql.sh脚本内容

#!/bin/bash
tar -zxf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
#将二进制包移动到/usr/local/mysql
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
#创建data目录
mkdir /usr/local/mysql/data
#创建用户和组并赋予文件夹权限
groupadd -r mysql
useradd -r -g mysql -M -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql
#删除centos7中自带的mariadb-libs
rpm -e mariadb-libs --nodeps
#设置my.cnf配置文件
cat> /etc/my.cnf <

(1)在 zabbix_agent 服务目录下创建.my.cnf 连接文件
zabbix 安装目录是/usr/local/zabbix

   56  cd /usr/local/zabbix/etc/
   57  vim .my.cnf
[client]
host=192.168.1.20   #自己客户端IP
socket= /usr/local/mysql/mysql.sock
user=test
password=123.com

(2)配置 MySQL 的 key 文件

   48  cd zabbix-3.2.1/conf/zabbix_agentd/
   49  ls
   50  ls /usr/local/zabbix/etc/
   51  cp userparameter_mysql.conf  /usr/local/zabbix/etc/zabbix_agentd.conf.d/  (复制配置文件)
   52  cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
   53  ls

zabbix监控及邮件报警
然后查看 userparameter_mysql.conf 文件,看到类似 HOME=/var/lib/zabbix 的路径设置,把路
径全都替换为 /usr/local/zabbix/etc/,也就是上面的.my.cnf 文件所在的目录路径。
另外,注意 userparameter_mysql.conf 文件里的 mysql 命令路径(提前做好 mysql 的系统环
境变量,以防 mysql 命令不被系统识别)
如下:vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

60vim/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
OME=/usr/local/zabbix/etc mysql -N | awk '{print $$2}' #6
HOME=/usr/local/zabbix/etc mysql -N' #15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive #17

61 /etc/init.d/zabbix_agentd restart (重启)
服务端验证 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]
zabbix监控及邮件报警
客户端修改

68 vim  /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

OME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N | awk '{print $$2}'  #6
HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N' #15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysqladmin ping | grep -c alive  #17

UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V  #18

 55    /etc/init.d/zabbix_agentd restart   (重启)

服务端验证 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]
zabbix监控及邮件报警

(3)mysql查看内容

58 mysql -u root -p123
grant all on *.* to test@'192.168.1.%' identified by '123.com';
show global status ;
show global status where Variable_name='Uptime';

zabbix监控及邮件报警_第10张图片

zabbix监控及邮件报警_第11张图片

(4)登录 zabbix 监控界面,在“配置”-“模板”里可以看到自带的 mysql 监控模板
zabbix监控及邮件报警_第12张图片
在相应主机监控配置里添加 mysql 的监控模版(zabbix 自带的)即可。
zabbix监控及邮件报警_第13张图片
zabbix监控及邮件报警
zabbix监控及邮件报警_第14张图片

【1】 监控 mysql 的带宽:在 zabbix 前端可以实时查看 mysql 发送接收的字节数。其中 bytes
received 表示从所有客户端接收到的字节数, bytes sent 表示发送给所有客户端的字节数。
zabbix监控及邮件报警_第15张图片
【2】监控 mysql 的操作状态:在 zabbix 前端可以实时查看各种 SQL 语句每秒钟的操作次数
zabbix监控及邮件报警_第16张图片

三.zabbix3.2.1 邮件报警设置:(服务器配置)
Zabbix 监控服务端、客户端都已经部署完成,被监控主机已经添加, Zabiix 监控运行正常。
在 Zabbix 服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送
报警邮件到指定邮箱。
具体操作:
以下操作在 Zabbix 监控服务端进行
下载 sendemail 软件
然后安装那两个依赖包,命令是:
zabbix监控及邮件报警_第17张图片

  244  yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
  245  rz    (上传sendEmail-v1.56.tar.gz)
  246  ls
  247  tar zxf sendEmail-v1.56.tar.gz 
  248  cd sendEmail-v1.56/
  249  cp sendEmail /usr/local/bin/sendEmail  (复制命令目录)
  250  chown zabbix:zabbix /usr/local/bin/sendEmail (给zabbix执行权限)

1.
(1).登上qq浏览器操作一下
zabbix监控及邮件报警
zabbix监控及邮件报警_第18张图片
zabbix监控及邮件报警_第19张图片
zabbix监控及邮件报警_第20张图片
(2).服务端执行:可以看到他报错了
sendEmail -f [email protected] -t [email protected] -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp twjlhxzhsykjddcb -m "123"
zabbix监控及邮件报警
解决vim /usr/local/bin/sendEmail
if (! IO::Socket::SSL->start_SSL($SERVER)) { #1906修改
zabbix监控及邮件报警_第21张图片
继续执行
sendEmail -f [email protected] -t 123456om -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp twjlhxzhsykjddcb -m "123"
zabbix监控及邮件报警_第22张图片
zabbix监控及邮件报警
现在已经发送邮件成功

(3)创建mail.sh邮件脚本

     55  cd
     56  vim  mail.sh   (创建邮件脚本)
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -o tls=auto -f [email protected] -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu [email protected]  -xp  twjlhxzhsykjddcb   -m "$body"

执行脚本测试发邮件
57 sh [email protected] test 123 (执行脚本发送邮件)
zabbix监控及邮件报警
发送成功
(4)把脚本移动到进入/usr/local/zabbix/share/zabbix/alertscripts/

mv mail.sh /usr/local/zabbix/share/zabbix/alertscripts/
chown +x mail.sh

  1. zabbix web 端配置
    上面的邮件脚本配置好后,就要在 web 端添加报警媒介,在 web 页面的管理,报警媒介类型页面,点击右边的创建媒体类型
    zabbix监控及邮件报警_第23张图片
    进入创建页面,然后输入名称“邮件报警脚本”,类型选择脚本,名称选择 mail.sh,点击添加按钮,添加三个脚本参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分别对于 mail.sh 中的 to、 subject 和 body。添加完成后点下面的添加按钮,我们的报警媒介就创建完成了
    zabbix监控及邮件报警_第24张图片
    zabbix监控及邮件报警_第25张图片
    创建好报警媒介后,就需要将报警媒介关联到我们的用户。点击管理,用户,然后选择我们的用户 admin 也可新建一个用户,点击用户名就进入到用户配置界面。点击报警媒介,然后点添加,选择我们上一步创建的邮件报警脚本,输入收件人,选择报警时间和类型,然后点击添加,就将创建好的报警媒介关联到我们的用户上面了。
    zabbix监控及邮件报警
    zabbix监控及邮件报警
    zabbix监控及邮件报警

现在需要做的是,创建一个触发动作,即系统出现故障时,触发这个动作,然后给我们的邮箱发送报警邮件。点击配置,选择动作,然后点击右边的创建动作。
在动作这一页名称中写入我们定义的动作名以及触发条件
zabbix监控及邮件报警_第26张图片
zabbix监控及邮件报警_第27张图片
zabbix监控及邮件报警_第28张图片
zabbix监控及邮件报警_第29张图片
zabbix监控及邮件报警_第30张图片

配置触发器
zabbix监控及邮件报警_第31张图片
zabbix监控及邮件报警_第32张图片
zabbix监控及邮件报警_第33张图片
报警测试
将 192.168.1.20 服务器的 zabbix_agent 进程关闭。
发现可以正常收到故障报警邮件

/etc/init.d/zabbix_agentd stop
zabbix监控及邮件报警
可以看到已经成功发送
zabbix监控及邮件报警_第34张图片
zabbix监控及邮件报警
qq邮箱收到报错信息

zabbix监控及邮件报警_第35张图片

整个实验完毕