Zabbix服务安装部署及监控配置

简介

zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。

Zabbix 主要特点

安装与配置简单,学习成本低 支持多语言(包括中文) 免费开源 自动发现服务器与网络设备分布式监视以及 WEB 集中管理功能 可以无 agent 监视 用户安全认证和柔软的授权方式 通过 WEB 界面设置或查看监视结果 email 等通知功能

Zabbix主要功能

监控CPU负载、内存使用、磁盘使用、网络状态、端口监视、日志监视、插件开发自定义

Zabbix运行机制

Zabbix Server 和 Zabbix agent
Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等你方法提供对远程服务器/网络状态的 监视,数据收集功能,可以在运行 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多 平台。
Zabbix Agent 安装在需要被监控的目标服务器上,主要完成对硬件信息与操作系统有关的内存,CPU 等你 信息收集。
Zabbix Server 可以单独监视远程服务器的服务状态,同时也可以与 Zabbix Agent 结合。可以轮询 Zabbix Agent 主动接收监视数据(trapping 传递 方式),同时还可以被动接收 Zabbix Agent 发送的数据。
Zabbix运行过程图
在这里插入图片描述
Zabbix 支持多种网络方式下的监控,可以通过分布式的部署和安装监控代理 Zabbix,通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置!Agent 监控端口 10050
服务端安装 Zabbix Server 和 Zabbix Agent 两个服务,客户端只安装 Zabbix Agent 一个服务,监控原理 就是 Zabbix Agent 服务将从系统中获取的相关数据传送给 Zabbix Server,然后 Zabbix Server 服务奖数据分 析之后以 PHP 页面展示出来!

整个环境所需要的软件包
php-5.6.13
libmcrypt-2.5.8
mysql-5.6.26
nginx-1.8.0
zabbix-3.4.3
我们需要先构建 LNMP 的环境,因为 Zabbix 通过 PHP 页面展示
搭建 LNMP 的环境,如果有这个环境可以忽略

创建导入zabbix数据库

Zabbix 需要数据库的支持,而且Zabbix 已经自带了数据库结构,images 数据库和表数据等相关内容

mysql -uroot -p123456 #创建 Zabbix 使用数据库
mysql> create database zabbix;
mysql> grant all on zabbix.* to zabbix@test63 identified by 'zabbix';	#zabbix 用户授权
mysql> flush privileges;
mysql> exit

tar xvf zabbix-3.4.3.gz -C /usr/local/src/ 
cd /usr/local/src/ zabbix-3.4.3/ #导入数据库,注意顺序,否则会报错
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
 [root@test63 zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql 
[root@test63 zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

如果在做分布式的环境中,Proxy 服务器只需要一个数据库 schema,代理者 agent 不需要数据库!Server 必须 三个数据库同时拥有

编译安装 zabbix

[root@test63 ~]# groupadd zabbix
[root@test63 ~]#useradd -s /sbin/nologin -g zabbix zabbix#创建用户
[[email protected]]# 
yum install -y net-snmp-devel  
yum install libevent libevent-devel -y#解决依赖
[[email protected]]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/var/lib/mysql/bin/mysql_config--with-net-snmp --with-libcurl

参数说明
–prefix= #指定路径
–enable-server #Server 支持
–enable-agent #支持 Zabbix 客户端
–with-mysql #指定 MySql 库可以选择自定路径 mysql_config,mysql_config 是命令,用于编译 mysql 客户端程序
–with-net-snmp #支持 snmp 协议,需要安装 net-snmp-devel 包
–with-libcurl #支持 CURL 功能,libcurl 主要功能就是用不同的协议连接不同的服务器,
libcurl 当前支持的协议有 http,https,ftp,gopher,telent,dict,file,和 ldap 协议

其他参数:
–enable-proxy 指的是支持 zabbix 代理服务器,zabbix proxy 是一个监控代理服务器,它收集到监控数据,选存放在缓冲区,保存的时间可以通过配置文件设定,然后再传送的 zabbix server。监控代理服务需要一个独立的数据库。
用 zabbix proxy 的好处:进程监控,当监控的位置通信不便时,当通讯上千台设备的时候,使用 zabbix_proxy 可以简化维护分布式监控,降低 zabbix server 的负负载,
在这里插入图片描述
看到如下信息,预编译就没有什么问题

***********************************************************
*	Now run 'make install'	*
*	*
*	Thank you for using Zabbix!	*
*	<http://www.zabbix.com>	*
***********************************************************
[root@test63 zabbix-3.4.3]# make install	#按上面的提示,没有 make 步骤,直接 make install
[root@test63 ~]# ls /usr/local/zabbix/	//编译成功,产生如下目录
bin	etc	lib	sbin	share

配置 zabbix Server

[root@test63~]#vim/usr/local/zabbix/etc/zabbix_server.conf
DBHost=test63	 #默认注释掉了,直接取消注释即可
DBName=zabbix	#数据库用户,我们授权的用户也是zabbix
DBUser=zabbix	  #默认是 root,我们授权的用户是 zabbix
DBPassword=zabbix	#密码我们授权的也是 zabbix

监控 Zabbix Server 本身

监控本身,意思是本身作为服务器之外,自己也做自己的客户端,也要使用agentd这个代理者 配置文件中,有 agentd 和 agent 两个配置文件,前者是守护进程,后者依赖 xinetd

[root@test63~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1	#默认监控服务器自己,这三行不用改
ServerActive=127.0.0.1
Hostname=Zabbix server
UnsafeUserParameters=1	#允许所有的字符是在用户定义的参数,参数传递,也就是支持自定义脚本

其中 Server 和 ServerActive 都指定 zabbixserver 的 IP 地址,不同的是,前者是被动,后者是主动。也就是说前者允许 127.0.0.1 这个 ip 来我这取数据。而 serverActive 的 127.0.0.1 的意思是,客户端主动提交数据给他。

启动服务

如果 zabbix 用户不存在, 将以 root 运行,新建之后,如果 zabbix 存在,那么直接可以用 zabbix 运行

[root@test63 ~]#/usr/local/zabbix/sbin/zabbix_server
sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory#如果启动报错解决
[root@test63 zabbix]# vim /etc/ld.so.conf#解决库文件找不到
include ld.so.conf.d/*.conf
/var/lib/mysql/lib/   #根据实际路径添加此行
[root@test63 zabbix]#ldconfig#使库文件生效
[root@test63~]#echo /usr/local/zabbix/sbin/zabbix_server >> /etc/rc.local	#开机启动 
[root@test63 ~]# netstat -antup | grep zabbi
#server 运行端口 10051
tcp	0	0 0.0.0.0:10051	0.0.0.0:*	LISTEN37568/zabbix_server

或者通过启动脚本启动 zabbix

Zabbix默认有部分启动脚本,如果你自己也可以通过脚本的方式来实现,可以使用他的模板来实现 脚本在源码目录的 misc/init.d/下面(使用 fedora 下面的 core 即可,也可以使用 fedroa core5 的脚本均可)

[root@test63~]#cd /usr/local/src/zabbix-3.4.3/misc/init.d/
[root@test63 init.d]# cp fedora/core/*  /etc/rc.d/init.d/
[root@test63 init.d]# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix  #找到此行,并修改 	
[root@test63 init.d]# vim /etc/init.d/zabbix_agentd ; cd
BASEDIR=/usr/local/zabbix  #找到此行,并修改 	
[root@localhost core]# vim /etc/rc.d/init.d/zabbix_agentd 
[root@localhost core]# /etc/init.d/zabbix_agentd start
Reloading systemd:                                         [  OK  ]
Starting zabbix_agentd (via systemctl):                    [  OK  ]
[root@localhost core]# chkconfig zabbix_server on
[root@localhost core]# chkconfig zabbix_agentd on

编辑 php 页面控制文件

默认配置文件没有写入到我们的 Nagix 的配置文件中,也就是不能加载到我们的 zabbix 页面目录

[root@test63~]#cp -r /usr/local/src/zabbix-3.4.3/frontends/php/*   /usr/local/nginx/html/ 
[root@test63 ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root	html;
index	index.php index.html index.htm;	#找到此行内容,添加index.php
}

[root@test63 ~]# /usr/local/nginx/sbin/nginx -s reload ; 重启nginx服务和php-fpm服务
[root@test63 ~]#/etc/init.d/zabbix_server restart
[root@test63 ~]#/etc/init.d/php-fpm restart

打开网页安装 zabbix web

浏览器输入:http://192.168.1.63 如图,下一步 Next
在这里插入图片描述
开始检查环境,如图,发现很多环境不符合条件
在这里插入图片描述
编辑 php.ini 文件,修改环境

[root@test63 ~]# vim /usr/local/php/php.ini
post_max_size = 16M	 #修改
max_execution_time = 300	#修改
max_input_time = 300	#修改
date.timezone = Asia/Shanghai	#此行有注释,去注释并修改
always_populate_raw_post_data = -1	 #此行取消注释即可
mysqli.default_socket = /var/lib/mysql/mysql.sock  #指定php连接mysql的sock路径
[root@test63 ~]# /etc/init.d/php-fpm restart  #重启fpm

刷新页面
在这里插入图片描述
如果提示没有安装PHP LDAP模块,为了不影响后面的功能,现在把这个模块重新编译安装进去:
可以单独把这个模块编译安装进来

[[email protected]]# cd /usr/local/src/php-5.6.13/ext/  #ext是扩展文件夹
[root@test63 ext]# cd ldap/
[root@test63 ldap]#  /usr/local/php/bin/phpize #再次预编译
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[root@test63 ldap]#./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap

上面的过程会报错,提示缺少库文件:
解决:

[root@test63 ~]# yum install openldap-devel openldap -y
[root@test63 ~]# rsync -avz /usr/lib64/libldap* /usr/lib/ #直接编辑会报错找不到,所以要复制文件
[root@test63 ldap]# make && make install #再次configure,即可通过预编译
[root@test63 ~]# vim /usr/local/php/php.ini#添加:extension=ldap.so
[root@test63 ~]# /etc/init.d/php-fpm restart #再次刷新即可

下一步:
在这里插入图片描述
以下默认,直接下一步
在这里插入图片描述
下一步:
在这里插入图片描述
在这里插入图片描述
如果写入失败,直接download这个配置文件,然后上传上去

[root@test63~]#mv zabbix.conf.php /usr/local/nginx/html/conf/ #然后刷新

如果显示成功
点击 Finish,完成安装!
登陆 Zabbix 并配置 登陆之后我们修改语言 默认用户名和密码分别为 admin,zabbix
在这里插入图片描述
在这里插入图片描述
点击右上角用户,然后选择语言
在这里插入图片描述
然后 Update 即可,页面变为中文
在这里插入图片描述
点击配置-主机 启用本主机(默认没有启动,点击后面红色的停用,则启用)
在这里插入图片描述
把zabbix_agent 也启动起来:

[root@test63 ~]# /usr/local/zabbix/sbin/zabbix_agentd 或者/usr/local/zabbix/sbin/zabbix_agentd start

再次刷新页面,可以看到,agent状态已经正常
在这里插入图片描述
可以看到已经开始出图:
在这里插入图片描述
在这里插入图片描述
但是发现下面显示有问题:这个是中文字符集的问题,在英文状态下显示是正常的

图表字符乱码的解决办法

在 Windows 下面找一个 ttf 的字体文件C:\Windows\Fonts
[root@test63 ~]# cd /usr/local/nginx/html/fonts/
[root@test63 fonts]# mv DejaVuSans.ttf  DejaVuSans.bak
[root@test63 fonts]# mv 微软雅黑.ttf  DejaVuSans.ttf #这样字符问题即解决

Zabbix 启动服务总结
Nginx 服务启动
Php-fpm 服务启动
Mysql 服务器启动
测试LNMP环境正常
导入数据库、授权、源码安装zabbix
Zabbix_server 服务启动

配置监控远程主机:

安装 Agent(被监控服务器只需要安装Agent)

[root@test64 ~]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI	  # 解决 依赖
[root@test64 ~]# useradd -M -s /sbin/nologin	zabbix #-M不创建目录
[root@test64 ~]# tar xvf zabbix-3.4.3.tar.gz -C /usr/local/src/ 
[root@test64 ~]# cd /usr/local/src/ zabbix-3.4.3/
[root@test64 zabbix-3.4.3]#
 ./configure --prefix=/usr/local/zabbix --enable-agent #被监控端只需要部署 agnet
[root@test64 zabbix-3.4.3]# make install ;

## 启动agent:
[root@test64 ~]# /usr/local/zabbix/sbin/zabbix_agentd #也可以使用系统启动脚本来启动:
配置 Agentd 的配置文件
[root@test64~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=192.168.142.125	#zabbix server 地址,可以多个,用,隔开
ServerActive=192.168.142.125	#主动检查的意思,主动检查主机的数据的数据发送给 Zabbix Server
Hostname=test64 #当前主机名
UnsafeUserParameters=1 #启用自定义脚本

 
[root@test64 ~]# pkill zabbix
[root@test64 ~]# /usr/local/zabbix/sbin/zabbix_agentd
[root@test64 ~]# netstat -antup | grep zabbix
tcp	0	0 0.0.0.0:10050	0.0.0.0:*	LISTEN
9683/zabbix_agentd

Server 端测试通讯

[root@test63 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.64 -p10050 -k system.uname #可以获取对方系统版本则证明没有问题

服务端配置管理脚本

[root@test63	~]#	cp/usr/local/src/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_agentd/etc/init.d/
[root@test63 ~]# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix	#修改此行内容为 zabbix 的安装位置
[root@test63 ~]# chkconfig --add zabbix_agentd [root@test63 ~]# chkconfig zabbix_agentd on
[root@test63 ~]# /etc/init.d/zabbix_agentd restart		//可以监控自己,也要启动服务 
[root@test63 ~]# netstat -antup | grep zabbix	//两者之间监控端口不一样
tcp	0	0 0.0.0.0:10050	0.0.0.0:*	LISTEN
51645/zabbix_agentd
tcp	0	0 0.0.0.0:10051	0.0.0.0:*	LISTEN
10786/zabbix_server

监控自己使用 10050 端口,监控对方使用的是 10051 端口

添加 Host 主机

在这里插入图片描述
在这里插入图片描述

选择模板

在这里插入图片描述
在弹出的模块里选择一个自己需要的模块:
在这里插入图片描述
返回之后,可以看到已经添加进来:等到可用性变成绿色即可出图监控
在这里插入图片描述
在这里插入图片描述
这时间可以通过图形功能来查看出图情况.
在这里插入图片描述
===通过以上步骤成功添加一台远程监控主机

添加监控项

通过比较zabbix servers 群组和Linux servers 群组,可以发现,默认的配置中Linux servers监控项比较少,下面手动添加监控项:
在这里插入图片描述
筛选无触发器,出来很多监控项,默认都是启用状态,我们无需再次启动,下面修改自动发现的时间
在这里插入图片描述
在这里插入图片描述
文件系统探测和网络流量探测
在这里插入图片描述
把原来的3600s改成10s
在这里插入图片描述
修改更新数据后,再次返回图形监控页面,稍等几分钟再次查看监控项
在这里插入图片描述
再次返回主页,可以看到整体的监控状态
在这里插入图片描述

设置 Triger 触发器值

在这里插入图片描述
找到当前主机应用的模板:
在这里插入图片描述
在这里插入图片描述
默认的值是20%
在这里插入图片描述
修改成自己设定的值
在这里插入图片描述

自定义绘图颜色

找到主机对应的模块—修改模板对应的图形颜色
在这里插入图片描述
在这里插入图片描述
根据需求修改每一个项的显示颜色
在这里插入图片描述

总结 zabbix 的文件

zabbix_agent.conf是用超级服务(xinetd)的方式来启动的,被动检查,只有 Server 说检查的时候才检查
zabbix_agentd.conf是以独立进程的方式来启动的,一般使用这个来做配置,自动检查,自动提交 zabbix_server.conf Server 启动配置文件,只有一个
zabbix_get 是 Zabbix 中的一个程序,用于 Zabbix-Server 到 Zabbix-Agent 的数据获取,通常可以用来 检测验证 Agent 的配置是否正确。它的使用方法如下
zabbix_get [-hV] -s [-p ] [-I ] -k
-h:远程 Zabbix-Agent 的 IP 地址或者是主机名。
-p:远程 Zabbix-Agent 的端口。
-I:本机出去的 IP 地址,用于一台机器中有多个网卡的情况。
-k:获取远程 Zabbix-Agent 数据所使用的 Key。

[expmple@~]# zabbix_get -s 192.168.0.64 -k system.uname

zabbix_sender 与 get 相反,用来发送 Zabbix 服务器处理性能数据。该工具通常用于长时间运行的用户脚本,用于定期发送可用性和性能数据。使用方法如下
zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i -r} [-c ]
参数说明:
-c --config 配置文件绝对路径
-z --zabbix-server zabbix server 的 IP 地址
-p --port zabbix server 端口.默认 10051
-s --host 主机名,zabbix 里面配置的主机名(不是服务器的 hostname),不能使用
ip 地址
-I --source-address 源 IP
-k --key 监控项的 key
-o --value key 值
-i --input-file 从文件里面读取 hostname、key、value 一行为一条数据,使用空格作为分
隔符,如果主机名带空格,那么请使用双引号包起来
-T --with-timestamps 一行一条数据,空格作为分隔符:
,配合 --input-file option,timestamp 为 unix 时间戳
-r --real-time 将数据实时提交给服务器
-v --verbose 详细模式, -vv 更详细

http://www.zabbix.org/wiki/Main_Page
https://github.com/zabbix/zabbix-community-repos
各种模板
http://www.douglas.wiki.br/doku.php?id=en:installing_and_configuring_zabbix

#配置监控 Apache 服务

wget https://github.com/lorf/zapache/archive/master.zip #下载模板
[root@test64 ~]# unzip master.zip  #解压下载的包
[root@test64 ~]# cd zapache-master/
[root@test64 zapache-master]# ls
httpd-server-status.conf.sample    zapache
README.md        zapache-template-active.xml
userparameter_zapache.conf.sample  zapache-template.xml	

说明
httpd-server-status.conf.sample 是用于配置server-status的上个步骤已经配置过了
userparameter_zapache.conf.sample 、zapache 关键的文件
zapache-template-active.xml zapache-template.xml模板(zabbix模板都是xml文件)

[root@test64 httpd]# cp zapache-master/ httpd-server-status.conf.sample httpd-server-status.conf
[root@test64 httpd]# vim conf/ httpd-server-status.conf  #在末尾加入
ExtendedStatus On
<location /server-status>
   SetHandler server-status
   Order allow,deny  
   Allow from 127.0.0.1 192.168.1.0/24
</location>
 [root@test64 bin]# systemctl restart httpd 重启后测试

在这里插入图片描述
以上完成代表apache的状态可以被获取了

配置zabbix获取apache

将解压出来的几个文件放到相应目录

[root@test64 zapache-master]#cp zapache /usr/local/bin/
[root@test64 zapache-master]# cp userparameter_zapache.conf.sample  /usr/local/zabbix/etc/zabbix_agentd.conf.d/  
[root@test64 zabbix_agentd.conf.d]# mv userparameter_zapache.conf.sample userparameter_zapache.conf  #重命名
[root@test64 zabbix_agentd.conf.d]# vim userparameter_zapache.conf
UserParameter=zapache[*],/var/lib/zabbixsrv/externalscripts/zapache \$1 
改为UserParameter=zapache[*],/usr/local/bin/zapache \$1
[root@test64 ~]# chmod +x /usr/local/bin/zapache #查看是否有执行权,
没有权限可执行下面命令
修改zabbix -agentd.conf
[root@test64 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #启用引用此目录文件

前端页面操作

导入模板
在这里插入图片描述
在这里插入图片描述

关联模板

配置-主机(选择apache客户端)
模板-选择(选择上面导入的模板)-添加-更新(模板要与主机关联)
在这里插入图片描述
在这里插入图片描述
查看最新数据,筛选Apache
在这里插入图片描述
可以选择生产图形
在这里插入图片描述
在这里插入图片描述

配置 zabbix 监控 MySQL

ZABBIX 默认提供了 MYSQL 的监控模板

mysql> grant usage on *.* to zabbix@'%' identified by '123456';
mysql> flush privileges;
[root@test64	~]#cp /usr/local/src/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf  /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@test64~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf	#启用并修改 	
[root@test64 ~]# vim /usr/local/zabbix/etc/.my.cnf #建立数据库和 zabbix 的链接信息,最好用隐藏文件,因为里面保存了数据库信息
#Zabbix Agent 
[mysql] 
host=test63
user=zabbix 
password=123456
socket= /var/lib/mysql/mysql.sock
[mysqladmin] 
host=test63
user=zabbix
password=123456
socket= /var/lib/mysql/mysql.sock
[root@test64 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
将 HOME=/var/lib/zabbix 全部改成 HOME=/usr/local/zabbix/etc/
# For all the following commands HOME should be set to the directory that has .my.cnf file with password information.(提示目录下必须有.my.cnf)
[root@test64 ~]# /etc/init.d/zabbix_agentd restart

模板应用主机:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Zabbix邮件报警配置

邮件服务可以使用系统自带的邮件服务来发送邮件或者使用其他邮件服务调用第三方邮件来发送警告邮件

[root@test63 ~]# yum install mailx #安装mailx组件
[root@test63 ~]# vi /etc/mail.rc #然后编辑mailx的配置文件
set [email protected]
set smtp=smtp.163.com
set [email protected]
set smtp-auth-password=你的密码 注意:此为163邮箱设置的客户端授权密码
set smtp-auth=login 
[root@test63 ~]# echo "zabbix test mail" |mailx -s "zabbix"[email protected] #测试邮件发送

[root@test63 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@test63 alertscripts]# vim sendmail.sh #在zabbix服务端写邮件发送脚本

#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
[root@test63 alertscripts]# chown zabbix.zabbix sendmail.sh 
[root@test63 alertscripts]# chmod +x sendmail.sh
vim /usr/local/zabbix/etc/zabbix_server.conf #修改主配置文件,让服务读取到这个脚本
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
[root@test63alertscripts]#chmod 777 /tmp/sendmail.log
/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 
[email protected] "测试邮件标题" "测试邮件内容" #测试发送脚本

页面操作

在这里插入图片描述
在这里插入图片描述
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。
这是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
在2.x版本不存在这个问题,默认会传3个参数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
内容如下
动作
名称:Action-Email
在这里插入图片描述
操作
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
在这里插入图片描述
在这里插入图片描述
恢复操作
默认接收人:已恢复!{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试

关闭 zabbix 客户端服务 zabbix_agentd

[root@test64 ~]# /etc/init.d/zabbix_agentd stop 

延迟比较大,大概要5-10分钟
可以在日志看送达状态:
在这里插入图片描述

配置 zabbix 自动发现并监控(监控windows为案例)

在这里插入图片描述

找到conf下的配置文件 zabbix_agentd.win.conf (建议用文本编辑软件打开),修改LogFile、Server、ServerActive、Hostname这四个参数。具体配置如下:

LogFile=c:\zabbix_agentd.log
Server=192.168.142.125
Hostname=download
ServerActive=192.168.142.125#zabbix server地址

其中logfile是zabbix日志存放地址。Server 是zabbix服务端ip地址。Hostname是本机机器名。

一定要以管理员身份来运行CMD,否则安装不了

cd C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\bin\win64

在这里插入图片描述

安装windos zabbix客户端

zabbix_agentd.exe –c C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf–i

在这里插入图片描述
启动客户端

zabbix_agentd.exe –c C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf–s

在这里插入图片描述
创建自动发现规则
在这里插入图片描述
添加关联动作
在这里插入图片描述
在这里插入图片描述
操作-可添加发现主机发送邮件通知
发送模版
默认接收人自动发现主机: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}
默认信息
发现规则: {DISCOVERY.RULE.NAME}
设备IP:{DISCOVERY.DEVICE.IPADDRESS}
设备DNS: {DISCOVERY.DEVICE.DNS}
设备状态: {DISCOVERY.DEVICE.STATUS}
设备运行时间: {DISCOVERY.DEVICE.UPTIME}
设备服务端口: {DISCOVERY.SERVICE.NAME}
在这里插入图片描述
等待一会,就可以发现自动探测监控了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章