Zabbix 4.0 最高版本是4.2

1.什么是zabbix及优缺点(对比cacti和nagios)

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

agent端(10050):agent端(客户端)通过安装agent方式采集数据。

server端(10051):通过收集agent发送的数据,写入数据库(MySQL,ORACLE等),再通过php+apache在web前端展示.

zabbix = cacti + nagios

优点:基于两款工具优点于一身并更强大,实现企业级分布式监控。

缺点:2.2版本带宽占用大但是升级到2.4版本后更节省了带宽资源,其它再无发现。

2.监控功能

主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制

监控主机zabbix有专用的agent,可以监控Linux,Windows,FreeBSD等 。

监控网络设备zabbix通过SNMP,ssh(不多用)

可监控对象:

设备:服务器,路由器,交换机

软件:OS,网络,应用程序

主机性能指标监控

故障监控: down机,服务不可用,主机不可达

3.工作原理

一个监控系统运行的大概的流程是这样的:

zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。

Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求

带有proxy的zabbix叫做zabbix分布式监控,没有proxy组件的是直连式zabbix监控

4.zabbix的组件及进程(面试会问)

重要组件

zabbix由以下几个组件部分构成:

1、Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;

2、Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据;

3、Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上;

4、Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;

5、Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;

注:zabbix node也是 zabbix server的一种 。

5.zabbix监控环境中基本概念

1、主机(host):要监控的网络设备,可由IP或DNS名称指定;

2、主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;

3、监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识;

4、触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";

5、事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;

6、动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;

7、报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;

8、媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;

9、通知(notification):通过选定的媒介向用户发送的有关某事件的信息;

10、远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行;

11、模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机;

12、应用(application):一组item的集合;

13、web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;

14、前端(frontend):Zabbix的web接口;

6.在centos7.3上安装zabbix4.0

#安装mariadb10.3数据库

[mariadb]

name=MariaDB

baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/

gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB

gpgcheck=1

#安装mariadb数据库

yum install MariaDB

#安装zabbix4.0的源进入zabbix官网下载所需的zabbix

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

[root@localhost yum.repos.d]# ls

a local.repo mariadb.repo net.repo zabbix.repo

[root@localhost yum.repos.d]# vim zabbix.repo

#安装zabbix所需的组件

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

# mysql -uroot -proot 创建存储监控数据的数据库

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

mysql> show databases;

导入zabbix服务器所需要的表和数据,写入到zabbix数据库中

[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix

#编辑zabbix配置文件

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

编辑文件设置时区

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

该时区必须设置为Asia/shanghai

#启动服务和开机自启

systemctl restart zabbix-server zabbix-agent httpd

systemctl enable zabbix-server zabbix-agent httpd

#浏览器访问

192.168.88.5/zabbix

下一步

确保所有都是OK后下一步

然后一直下一步,最后点finish。

登陆

绿色:已启用正在监控,

灰色:未启动

红色:代表主机和客户端未通

四个都是灰色:代表正在连接

有乱码方块的解决办法

在windows下的C:\Windows\Fonts下选择一个字体:

上传到linux服务器中

将字体移动到zabbix的字体文件夹下

[root@localhost ~]# mv STXINGKA.TTF /usr/share/zabbix/fonts

#将原来的字体备份

[root@localhost ~]# cd /usr/share/zabbix/fonts #进入到zabbix

[root@localhost fonts]# mv graphfont.ttf graphfont.bak #改格式即可

#把windows中的字体改名为graphfont.ttf

[root@localhost fonts]# mv STXINGKA.TTF graphfont.ttf

8.模板监控agent端

server端:192.168.88.5

agent端:192.168.88.10

配置server端

配置好zabbix

启动zabbix:systemctl restart zabbix-server zabbix-agent httpd

配置agent端(客户端)

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

在web打开zabbix,进入如下配置

添加完后点击主机模块里的添加完成主机的添加。

9.邮件报警

一、关闭sendmail或者postfix

service sendmail stop #关闭

chkconfig sendmail off #禁止开机启动

service postfix stop

chkconfig postfix off

备注:

使用外部邮箱账号时,不需要启动sendmail或者postfix

如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱

配置信息。

二、安装邮件发送工具mailx

下载mailx:

yum install mailx

whereis mailx #查看安装路径

mailx -V #查看版本信息

三、配置Zabbix服务端外部邮箱

vim /etc/mail.rc #编辑,添加以下信息

set from=15116961703@163.com smtp=smtp.163.com

set smtp-auth-user=15116961703@163.com smtp-auth-password=邮箱服务密码

set smtp-auth=login

:wq! #保存退出

echo "zabbix test mail" |mail -s "zabbix" 15116961703@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:yyy@163.com

#这时候,邮箱 15116961703@163.com会收到来自 15116961703@163.com的测试邮件

这三步跟下面匹配无关

配置Zabbix服务端邮件报警

1.设置zabbix报警媒介

在这,直接用Email模板,数据修改完后,点击更新即可。

确保设置好的介质类型为已启动状态

2.设置Zabbix用户报警邮箱地址

点击Admin进入如下界面

点击添加

设置好后点击添加

点击更新,用户就添加好了。

3.设置Zabbix触发报警的动作

点击触发器模板进入如下界面

主题:

Problem: {EVENT.NAME}故障{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}

已启用:打钩

将上面的主题和内容粘贴到下图对应的位置上

设置好后点击更新就设置好了

4.测试Zabbix报警

关掉zabbix的server端的agent

service zabbix_agentd stop

查看15116961703@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看15116961703@163.com邮箱,会收到恢复邮件

10.自定义监控

1.配置server端

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf #在最后一行

UserParameter=监控内容,监控的操作

[root@localhost ~]# systemctl restart zabbix-agent

2.在web端访问

因为刚在是在server端配置的agent,因此在zabbix server下点击监控项进入下面界面

点击创建监控项,键值必须和server端的zabbix_agent里的UserParameter=监控内容相同,配置好后,添加完成。

点击触发器

点击创建触发器

添加表达式的操作如下

配置完成后点击添加

配置好后点击应用

此时就说明已经将用户数量监测上了

3.测试

新开一个server的xshell,此时,

此时用户数量变为5,web端查看zabbix仪表盘,发现出现了灾难报警。

查看动作日志

11.自动发现,自动注册

自动发现

在web端进行配置,

点击默认模板进行配置,配置好后更新。

检查选项中,Zabbix 客户端 "system.uname"必须存在,其他的是检测ip是否存在,如果检测到的ip没有安装zabbix-agent,那么也无法添加进去。

点击模板进去配置,配置如下

配置好后,更新。

测试自动发现

自动注册

在web端登陆zabbix

创建动作

测试

将192.168.88.10agent删除,然后看能否自动注册进来。

12.分布式监控

实验环境

server:192.168.88.5

代理端proxy:192.168.88.12 客户端agent:192.168.88.10

1.proxy端配置

yum install zabbix-proxy -y

配置proxy的数据库

create database zabbix_proxy character set utf8 collate utf8_bin;

grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';

将zabbix-proxy的数据导入创建好的数据库中

zcat /usr/share/doc/zabbix-proxy-mysql-4.0.7/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy

修改

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

Hostname=Zabbix proxy #该名字是zabbix网页配置中agent代理程序名称

DBName=zabbix_proxy(数据库名字)

DBUser=zabbix(数据库用户名)

DBPassword=zabbix(数据库密码

修改完上面的数据后,重启

[root@localhost ~]# systemctl restart zabbix-proxy

2.agent端

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

[root@localhost ~]# systemctl restart zabbix-agent

3.在web上配置zabbix

点击创建代理,更改完数据后点击添加

添加主机,先将自动获取和自动注册关掉

添加

添加成功,分布式的zabbix监控完成。

zabbix 4.0版本的更多相关文章

  1. 一键安装 zabbix 2.0 版本 脚本

    原文地址: http://blog.csdn.net/u012449196/article/details/53859068 本文修改了原文中的部分错误,此脚本适用于zabbix 2.0 版本,以版本 ...

  2. 一键安装 zabbix 3.0 版本 脚本

    原文地址: http://blog.csdn.net/u012449196/article/details/53859068 本文修改了原文中的部分错误,此脚本适用于zabbix 2.0 或 3.0 ...

  3. CentOS 6.4编译安装和部署Zabbix 2.0版本监控(中文)

    [一].zabbix简介 zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级开元解决方案 zabbix由2部分构成,zabbix_server和可选组件zabbix_agen ...

  4. 快速升级Zabbix 5.0 版本

    Zabbix 5.0 增加了很多新功能,如:垂直菜单.隐藏菜单.用户界面中的测试项目.限制代理检查.查找并替换预处理步骤 ES7支持等等...快来部署体验一把尝鲜体验 Zabbix 5.0 吧     ...

  5. Zabbix 5.0 LTS版本的安装小结

    Zabbix 5.0 LTS版本的安装小结   1:准备Zabbix的服务器. 这里可能需要一台或多台服务器,视需求和资源而定.也可以将Zabbix_Server.MySQL.Zabbix Web等安 ...

  6. CentOS 6.4 yum快速搭建Zabbix 2.2版本(中文)

    1.安装zabbix官方epel包 rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6. ...

  7. 部署Zabbix 6.0 LTS

    Blog:博客园 个人 本部署文档适用于CentOS 8.X/RHEL 8.X/Anolis OS 8.X/AlmaLinux 8.X. Zabbix 6.0 LTS于2022年2月15日发布,本次大 ...

  8. Zabbix 6.0:原生高可用(HA)方案部署

    Blog:博客园 个人 本部署文档适用于CentOS 8.X/RHEL 8.X/Anolis OS 8.X/AlmaLinux 8.X/Rockey Linux 8.X. 原生的HA方案终于来了 相比 ...

  9. 运维监控-基于yum的方式部署 Zabbix Agent 4.0 版本

    运维监控-基于yum的方式部署 Zabbix Agent 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 上一篇博客我们分享了如何基于yum的方式部署zabbix 4. ...

随机推荐

  1. dlsym用法

    1. 包含头文件 #include<dlfcn.h> 2. 函数定义 void *dlsym(void *handle, const char* symbol); handle是使用dlo ...

  2. 胡昊—第6次作业—static关键字、对象

    #题目1:编写一个类Computer,类中含有一个求n的阶乘的方法.将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参 ...

  3. django admin登陆页出现TypeError at /admin/

    出现此错误的原因主要是,添加多条URL时urlpatterns后面的序列符号写错了,检查所有的urls.py文件将{}改为[]. error: urlpatterns = {} right: urlp ...

  4. Python CGI编程Ⅵ

    GET和POST方法 浏览器客户端通过两种方法向服务器传递信息,这两种方法就是 GET 方法和 POST 方法. 使用GET方法传输数据 GET方法发送编码后的用户信息到服务端,数据信息包含在请求页面 ...

  5. 51 Nod 1486 大大走格子

    1486 大大走格子  题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  关注 有一个h行w列的棋盘,里面有一些格子是不 ...

  6. httpd如何卸载以及安装

    卸载 首先,要确认下是否有安装过,或者是系统自带了httpd服务,通过以下命令: # rpm -qa | grep httpd 或者: # yum list | grep httpd 我已经安装过一次 ...

  7. 20175215 2018-2019-2 第五周java课程学习总结

    第六章学习内容 1.接口 使用interface来定义一个接口. 接口体中包含常量的声明(没有变量)和抽象方法两部分.接口体中只有抽象方法,没有普通的方法,而且接口体中所有的常量的访问权限一定都是pu ...

  8. yue

    1. 字节流与二进制文件 1.我的代码 public class Student { private int id; private String name; private int age; pri ...

  9. 2018092609-2 选题 Scrum立会报告+燃尽图 03

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8680 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...

  10. C# 下载文件的心得

    下载文件最常用的有两种: 第一种:直接使用A标签,对应着文件的地址. 第二种:将文件写成流,然后在回传给客户端. 第一种,使用起来方便,但是有个坏处,如果你的文件是可编辑的文件(比如Excel wor ...