首页 > 其他分享 >zabbix介绍及部署(超详细讲解)

zabbix介绍及部署(超详细讲解)

时间:2023-04-11 15:35:11浏览次数:42  
标签:架构 部署 Zabbix server zabbix proxy 监控 讲解

目录

一、zabbix的基本概述

二、zabbix的构成

三、zabbix的监控对象

四、zabbix的常用术语

五、zabbix的工作流程

六、zabbix进程详解

七、zabbix的监控框架

7.1 三种架构模式的架构图如下:

7.2 每个模块的工作职责:

八、zabbix源码安装及部署

一、服务端安装

1.1 安装zabbix5.0储存库(二进制安装方式)

1.2 安装zabbix软件包

1.3 安装zabbix前端软件包

1.4 安装数据库软件

1.5 数据库配置

1.6 启动并查看

1.7 zabbix 服务端一键安装脚本

二、zabbix服务参数介绍

九、web页面设置

9.1 修改界面的语言

9.2 修改登录密码(此处我设置为123456)

9.3 用户及媒介创建

9.4 添加权限

9.5 如何修改超级用户 Admin 的密码

十、部署被监控的主机

1、修改源

2、下载agent包并查看

3、修改agent配置文件

4、zabbix客户端一键安装脚本

 

一、zabbix的基本概述
zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。

zabbix官网地址为https://www.zabbix.com/,页面如下所示:

 

 

 

二、zabbix的构成
zabbix主要由以下5个组件构成:

1、Server

zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。

2、web页面

web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。

3、数据库

zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。

4、proxy

zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。

5、Agent

zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。

三、zabbix的监控对象
zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。

zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。

硬件监控:Zabbix IPMI Interface ,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

系统监控:Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。

Java监控:Zabbix JMX Interface ,通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。

网络设备监控:Zabbix SNMP Interface ,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。

应用服务监控:Zabbix Agent UserParameter

MySQL数据库监控:percona-monitoring-plulgins

URL监控:Zabbix Web 监控

四、zabbix的常用术语
zabbix的学习需要掌握一些zabbix的常用术语,zabbix常用术语列举如下:

1、主机(host)

要监控的设备,可以由IP或者是主机名(必须可解析)指定。

2、主机组(host group)

主机的逻辑容器,包含主机和模板,主机组通常在给用户或者是用户组指派监控权限时使用。

3、监控项(item)

一个特定监控指标的相关数据,比如内存的大小、CPU的使用率,甚至是服务的运行状态等等。监控项数据来源于被监控对象,并且每个监控项都由一个key来标识。

4、触发器(trigger)

一个表达式,用于评估监控项的值是否在合理的范围内。当接收的值超出触发器的规定时,就被认为是故障,如果超出后再次符合,就被认为是正常。

5、事件(event)

触发器触发的一个特定事件,或者是zabbix定义的一个自动上线注册主机的事件。

6、动作(action)

指根据配置,zabbix对于触发器触发的特定事件进行处理的具体措施,如执行某个脚本,或者是向管理员邮箱发送邮件等等。

7、报警升级(escalation)

发送警报或者是执行远程命令的自定义方案。

8、媒介(media)

发送通知(告警)的手段,如微信、邮件、钉钉等等。

9、通知(notification)

通过指定的媒介,向用户发送的有关事件的信息。

10、远程命令(remote command)

指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。

11、模板(template)

用于快速定义被监控主机的预设条目集合,通常包括了监控项、触发器、应用等,模板可以直接链接至某个主机。

12、应用(application)

一组监控项的集合。

13、web场景(web scennario)

用于检测web站点可用性的一个或多个HTTP请求。

14、前端(frontend)

zabbix的web接口。

这些术语,我们都会在后文中直接使用而不过多赘述,在企业技术交流中也会经常使用。

五、zabbix的工作流程
Zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给zabbix服务端;zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,zabbix web根据数据在前端进行展示和绘图。

zabbix的数据收集分为两种模式:

1、主动模式

zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix server。

2、被动模式

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

由此可以看出zabbix的主动和被动模式是以zabbxi客户端为基准的。

 

 

 

六、zabbix进程详解
在默认的情况下,zabbix有6个工作进程;分别是 zabbix_agentd,zabbix_get,zabbix_proxy,zabbix_sender,zabbix_server 和 zabbix_gateway。

其中,zabbix_java_gateway是可选进程。这6个进程的作用如下:

1、zabbix_agentd

zabbix-agentd为zabbix客户端守护进程 ,主要负责收集客户端监控项数据。

2、zabbix_server

zabbix_server为zabbix服务端守护进程,主要负责收集zabbix客户端数据。(端口为10051)

3、zabbix_proxy

zabbix_proxy是zabbix的代理程序,其功能类似于server,作用上类似于一个中转站,最终会把收集的数据再次提交给zabbix_server。

4、zabbix_get

zabbix_get作为zabbix工具,通常运行在zabbix_server或者zabbix_proxy上,用于远程获取客户端信息,通常用于排错。

5、zabbix_sender

zabbix_sender也是zabbix的一个工具,通常运行在zabbix的客户端,用于耗时比较长的检查,其作用是主动发送数据。

6、zabbix_java_gateway

zabbix_java_gateway是zabbix2.0以后引入的新功能,可以用于JAVA方面的设备;但是只能主动获取数据,而不能被动获取数据。

七、zabbix的监控框架
在实际的工作环境中,根据网络环境和监控的规模不同,zabbix一共有三种框架,分别是server_client架构、master_node_client架构和server_proxy_client架构。

1、server_client架构

zabbix最简单的架构,监控设备和被监控设备之间直接相连,zabbix_server 和 zabbix_client 之间直接进行数据交互。

2、zabbix_proxy_client架构

proxy是连接 server 和 client 之间的桥梁,其本身不存放数据,只是将zabbix_agent端发来的数据暂存,然后再提交给server。这种架构一般用于跨机房、跨网络的中型网络架构。

在server_proxy_client架构中,server设备的宕机会导致整个系统瘫痪而无法正常工作。

3、master_node_client架构

master_node_client架构是zabbix最复杂的架构。一般用于跨机房、跨网络、监控设备较多的大型网络架构。与server_proxy_client架构相比,master_node_client架构的主要区别在于node与proxy上.

在master_node_client架构中,每个node可以理解为一个小的server端,在自己的配置文件和数据库,node下游可以直接连接client,也可以再次经过proxy代理后连接client。

在master_node_client架构中,master设备宕机不会影响node节点的正常工作。

7.1 三种架构模式的架构图如下:

 

 

 

7.2 每个模块的工作职责:
1、Zabbix_Server:zabbix_server作为核心组件,用来获取agent存活情况和监控数据。所有的配置、统计、操作数据均通过server进行存取到database;

2、Zabbix_Database:用户存储所有的zabbix的配置信息、监控数据的数据库;

3、Zabbix_Web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,通常与zabbix_server运行在同一台主机上,也可以单独部署在独立的服务器上;

4、Zabbix_Proxy:通常用于分布式监控,代理zabbix_server收集部分被监控的数据并统一发送给server端;(通常大于500台主机需要使用)

5、Zabbix_Agent:部署在被监控主机上,负责收集被监控主机的数据,并发送给servre端或者proxy端;

Zabbix Server、Proxy、Agent都有自己的配置文件以及log文件,重要的参数需要在这里配置,后面会详细说明。

八、zabbix源码安装及部署

一、服务端安装

1.1 安装zabbix5.0储存库(二进制安装方式)

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

  

zabbix-server 内存至少 2G,推荐 4G;

systemctl disable --now firewalld setenforce 0 hostnamectl set-hostname zbx-server

//获取 zabbix 的下载源 rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

 

 

 

这时候你查看一下你的库里面会有一个zabbix库

 

 

 

1.2 安装zabbix软件包

 

 

 可选配置:如果官方仓库无法连接,可将仓库地址改为清华大学,下边是清华大学仓库地址 

//更换 zabbix.repo 为阿里源 cd /etc/yum.repos.d sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo

 

 

 

 

 //安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。

yum install -y centos-release-scl

 

 

 //修改 zabbix-front 前端源,

安装 zabbix 前端环境到 scl 环境下 vim zabbix.repo

[zabbix-frontend] ...... enabled=1 #开启安装源 ......

 

 

 yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

 

 

//安装 zabbix 所需的数据库 yum install -y mariadb-server mariadb

systemctl enable --now mariadb

 

 

 

mysql_secure_installation #初始化数据库,并设置密码,如 abc123

//添加数据库用户,以及 zabbix 所需的数据库信息 mysql -u root -pabc123

 

 

 

CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix'; flush privileges;

//导入数据库信息

 

 

 

rpm -ql zabbix-server-mysql #查询 sql 文件的位置

zcat /usr/share/doc/zabbix-server-mysql-5.0.24/create.sql.gz | mysql -uroot -pabc123 zabbix

 

 

 

 //修改 zabbix server 配置文件,修改数据库的密码 vim /etc/zabbix/zabbix_server.conf

 

 

 

 //修改 zabbix 的 php 配置文件

 

 

 //启动 zabbix 相关服务 

 

 

 浏览器访问:http://192.168.217.104/zabbix 点击下一步,设置数据库的密码 zabbix 设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更 安装完成后,默认的登录账号和密码为:Admin/zabbix新。

 

 

 

 

 

 

 

 

 

 

 

 

 

web界面登陆

zabbix前端已经安装完成!超级用户名是Admin,密码是zabbix

为了防止暴力破解和词典攻击,如果发生连续五次尝试登陆失败,Zabbix接口将暂停30秒。

在下次成功登陆后,将会在界面上显示登录尝试失败的IP地址。

 

 

 

web界面概览

侧边栏的垂直菜单可访问Zabbix前端各个部分。

菜单默认使用深蓝主题。

菜单可以整个折叠或隐藏:

折叠, 单击Zabbix logo旁边的

隐藏, 单击Zabbix logo旁边的

 

 

 

 

//解决 zabbix-server Web页面中文乱码问题 yum install -y wqy-microhei-fonts

\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

 

 

 

 

 

标签:架构,部署,Zabbix,server,zabbix,proxy,监控,讲解
From: https://www.cnblogs.com/yanjing998/p/17306350.html

相关文章

  • 日志管理系统EFK部署
    1. EFK简介Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。Beats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可......
  • 使用netbeans部署到jboss4.2时的问题
    使用netbeans部署到jboss4.2时,虽然jboss已经启动,但有可能造成部署不成功.因为netbeans会在项目的WEB-INF下自动生成jboss-web.xml,应该将其中的<context-root/>删除.不知道这个xml文件是做什么用的?jboss-web.xml<?xmlversion="1.0"encoding="UTF-8"?><jboss-web><securit......
  • GPFS 文件系统部署步骤
    GPFS文件系统部署步骤参考文档:简书网友提供:https://www.jianshu.com/p/a0ecc0838b3b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation编程圈网友提供:https://www.bianchengquan.com/article/131965......
  • Rocky Linux 9 Wazuh 部署
    1、DockerCE安装参考:https://www.cnblogs.com/a120608yby/p/9883175.html2、DockerCompose安装参考:https://www.cnblogs.com/a120608yby/p/14582853.html3、主机参数优化#编辑/etc/sysctl.conf#vim/etc/sysctl.conf...vm.max_map_count=262144...#使配置......
  • 数据库:Redis哨兵及cluster集群部署
    1、什么是哨兵模式哨兵模式:可以自动切换解决单点故障,但是不能负载均衡,存储能力受限制。哨兵核心功能:在主从复制的基础上,实现了主节点的自动故障转移2、哨兵的作用监控:监控主节点和从节点是否在正常运行故障自动转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效......
  • Ambari+Bigtop大数据平台安装部署指南(Centos7)一
    前言安装部署分为以下五个大步骤1.资源准备2.操作系统配置3.数据库配置4.ambari配置5.bigtop组件安装必要说明all表示全部主机都要执行server表示ambari-server安装的主机执行${key}表示需要根据实际情况修改的变量,例如{server.ip}应替换成server所在主机的ip资源准备需要准备3......
  • docker 部署 tomcat
    拉取tomcat镜像dockerpulltomcat:latest运行tomcatdockerrun-d-p8090:8080--nametomcat_doc-v/root/web/:/usr/local/tomcat/webappstomcat:latest......
  • odoo Docker Compose 部署
    1.docker-compose.yml配置version:'3.1'services:web: image:odoo:14 depends_on: -mydb ports: -"8069:8069" environment: -HOST=mydb -USER=odoo -PASSWORD=myodoo volumes: -odoo-web-data:/var/lib/odoo -./config......
  • 本地化部署呼叫中心系统是什么?
    自建型呼叫中心和租用型、SaaS型呼叫中心是相对应的,自建型呼叫中心是把呼叫中心系统部署在自己的服务器中,这里的服务器可以是实体与电脑机箱类似,也可以是虚拟的云服务器。而SaaS租用型的呼叫中心是将系统包部署在公有云服务器中,服务器并不是自己的而是供应商的,且与多家公司共同使......
  • 本地化部署呼叫中心系统是什么?
    自建型呼叫中心和租用型、SaaS型呼叫中心是相对应的,自建型呼叫中心是把呼叫中心系统部署在自己的服务器中,这里的服务器可以是实体与电脑机箱类似,也可以是虚拟的云服务器。而SaaS租用型的呼叫中心是将系统包部署在公有云服务器中,服务器并不是自己的而是供应商的,且与多家公司共同使......