zabbix监控平台部署(一)

目录

前言

一、zabbix的基本概述

(一)、zabbix的工作流程

(二)、zabbix的构成

(三)、zabbix的监控对象

(四)、zabbix的常用术语

(五)、zabbix进程详解

(六)、zabbix的监控框架

(七)、zabbix服务参数介绍

二、安装

(一)、配置环境

(二)、安装zabbix前端软件包

(三)、Zabbix服务器配置数据库

(四)、web页面设置

(五)、web页面添加虚拟主机

(六)、添加Windows主机

(七)、监控网络设备

总结




前言

Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。是一个企业级分布式开源监控解决方案,能够监控众多网络参数和服务器的健康度、完整性。

一、zabbix的基本概述

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

(一)、zabbix的工作流程

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

1、主动模式

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

2、被动模式

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

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

(二)、zabbix的构成

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的常用术语

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有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节点的正常工作。

(七)、zabbix服务参数介绍

zabbix server服务名zabbix-server 端口:10051
zabbix  agent服务名zabbix-agent端口:10050
zabbix server主配置文件/etc/zabbix/zabbix_server.conf
zabbix agent主配置文件/etc/zabbix/zabbix_agentd.conf
zabbix企业微信报警脚本路径/usr/lib/zabbix/alertscripts
zabbix自定义监控项路径/etc/zabbix/zabbix_agentd.d zabbix
日志文件路径/var/log/zabbix/

二、安装

(一)、配置环境

防火墙设置、宽容模式

192.168.238.146(服务端)

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

在/etc/yum.repos.d/里会生成个zabbix库

yum install -y zabbix-server-mysql zabbix-agent 
vim /etc/yum.repos.d/zabbix.repo

[zabbix-frontend]中修改enabled=1

(二)、安装zabbix前端软件包

zabbix-web-mysql-scl       用于连接数据库
zabbix-apache-conf-scl    用于连接apache 

yum install -y epel-release centos-release-scl
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

安装数据库软件

yum install -y mariadb-server mariadb
systemctl start mariadb

数据库设置

create database zabbix character set utf8 collate utf8_bin;
create user 'zabbix'@'localhost' identified by'123456';
grant all privileges on zabbix.* to 'zabbix'@'localhost';
show databases;
exit

Zabbix服务器主机上,导入初始架构和数据。系统将提示您输入新创建的密码(要先退出数据库)

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz |mysql -uzabbix -p zabbix

提示输入密码,按创建的输入即可

(三)、Zabbix服务器配置数据库

vim /etc/zabbix/zabbix_server.conf

储存监控数据的库名

连接数据库用户和用户密码

为Zabbix配置正确的时区

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

解开注释修改为上海

启动所有服务,设为开机自启

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
netstat -anptu |grep zabbix

(四)、web页面设置

访问本机IP

证明httpd服务正常

访问访问本机IP/zabbix

name自定义

用户Admin密码为zabbix

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

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

改为中文(第一项为修改密码)

修改超级用户密码(Admin)

用户的权限是由用户组决定的,此用户是要有只读访问Linux Server组的权限, 设置权限级别,然后添加到权限列表中。 在“用户组属性”表单中, 单击“更新。

在Zabbix中,主机的访问权限被分配给用户组, 而不是单独的用户。权限设置完成了!您可以尝试使用新用户的凭据登录。

192.168.238.147(客户端)

客户端配置后回web页面添加主机

安装zabbix,修改配置文件

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install -y zabbix-agent 
vim /etc/zabbix/zabbix_agentd.conf

启动服务

systemctl start zabbix-agent
netstat -anptu |grep zabbix

(五)、web页面添加虚拟主机

模板在链接模板中搜索LInuxTemplate OS Linux by Zabbix agent

(六)、添加Windows主机

简便方法直接到官网里下载加密版进行安装

注意

查看服务是否启动

添加主机和模版

过会刷新,注意关闭Windows防火墙

(七)、监控网络设备

安装GNS,默认都选(安装过程中有报错点取消就行,安装完成后不升级

第二个也要装,不然路由器会异常

配置路由

配置host,启动路由

修改路由配置

查看到后删除重新添加,修改console设置共团体的值

web页面

配置主机群主cisco

添加主机cisco_route和模板、宏

模版snmp的自行选择,部分模版没有图形需要自己进行添加

共团体为设置的名称

监视页面解决中文乱码问题

备份原有的DejaVuSerif.ttf

将拖进的字体覆盖DejaVuSerif.ttf

mv SIMHEI.TTF DejaVuSerif.ttf


总结

今天是简单的zabbix部署,也可以进行分布式部署,后续需要再web页面逐个添加主机来实现监视所有。注意进入页面的库名和用户必须要提前创建好并导入,zabbix服务为两个端口。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zabbix是一款开源的网络监控和管理系统,它可以帮助用户实时监控网络设备、服务器、应用程序等,并提供报警、数据分析和可视化等功能。下面是Zabbix监控部署的一般步骤: 1. 安装Zabbix服务器:首先需要在一台服务器上安装Zabbix服务器软件。可以根据操作系统的不同,选择适合的安装方式,例如使用包管理工具安装或者手动编译安装。 2. 配置数据库:Zabbix需要使用数据库来存储监控数据和配置信息。常用的数据库有MySQL、PostgreSQL等。在安装完数据库软件后,需要创建一个数据库和相应的用户,并将这些信息配置到Zabbix服务器的配置文件中。 3. 配置Zabbix服务器:在安装Zabbix服务器软件后,需要进行一些配置。主要包括修改配置文件,设置数据库连接信息、日志路径、报警脚本等。还可以根据需要配置邮件服务器、SNMP代理等。 4. 安装Zabbix代理:Zabbix代理是一个可选组件,用于收集被监控主机上的数据并发送给Zabbix服务器。如果需要监控远程主机,则需要在这些主机上安装代理,并将代理配置到Zabbix服务器中。 5. 创建监控项和触发器:在Zabbix中,监控项用于定义要收集的数据,触发器用于定义触发报警的条件。可以根据需要创建各种监控项和触发器,例如CPU利用率、内存使用量等。 6. 设置报警:Zabbix可以通过多种方式进行报警,例如发送邮件、发送短信、执行脚本等。需要根据实际情况配置报警媒介和触发器的报警动作。 7. 数据可视化:Zabbix提供了丰富的数据可视化功能,可以通过图表、仪表盘等方式展示监控数据。可以根据需要创建自定义的图表和仪表盘,以便更好地理解和分析监控数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值