企业级zabbix监控服务搭建

2023-11-11

一、什么是zabbix;zabbix可以干什么的;为什么我们要使用zabbix。

  1. 什么是zabbix:zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
  2. zabbix可以干什么:zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

  3. 我们为什么要使用zabbix:对于运维人员来说,监控是非常重要的,因为如果想要保证公司的线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等操作,当被监控主机出现异常时,能够及时报警、通知管理员,并且需要记录这些异常,以便我们分析这些数据,查漏补缺,那么,一个监控工具就应该具备采集信息、存储信息、展示信息、报警通知等功能,而zabbix就可以做到这些。


二、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监控服务

  1. 本次我们采用VMware虚拟机进行实验实验环境为。
    主机名 系统 配置
    zabbix-server IP地址:192.168.200.100 centos7 4G+40G;双核
    zabbix-agent IP地址:192.168.200.200 centos7 2G+20G; 双核
  2. 选择你所需要下载的zabbix版本与选择其他组件下载地址为https://www.zabbix.com/cn/download本次实验选择zabbix5.0其他配置如图所示:

  3. Install Zabbix repository安装zabbix的仓库并清除缓存。

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

     4. 安装Zabbix server,Web前端,agent

yum install zabbix-server-mysql zabbix-agent -y

    5.  Install Zabbix frontend安装zabbix前端

yum install centos-release-scl -y

6.修改zabbix的repo库文件将enabled都改为1

 

7. 安装zabbix前端包

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

8创建并初始化数据库

安装数据库yum install mariadb mariadb-server -y

systemctl start mariadb

# mysql -uroot -p#没有设置密码直接回车
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';(密码可以换成自己想要设置的密码)
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

systemctl  enabled mariadb

 导入初始架构和数据,系统将提示您输入新创建的密码。

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

9为Zabbix server配置数据库。编辑配置文件 /etc/zabbix/zabbix_server.conf

password更改为你刚才设置的密码wq保存退出。

 10为Zabbix前端配置PHP。编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 

更改时区为亚洲上海(注意大写)

11启动Zabbix server和agent进程

注意:在重启动时修改/etc/selinux/conf为disabled如果没有修改可能导致server服务启动失败。

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

 12登录网页进行配置。建议关闭防火墙服务

systemctl  stop firewalld

 点击Next Stop

password使用你在数据库时设置的密码,端口默认即可 

 

 我们在这里可以给你的zabbix取一个名字然后一直默认下一步

 Finsh后即可登录你的管理界面密码默认为用户:Admin 密码:zabbix

 

 

 

进入zabbix的dashboard页面我们可以更改语言为中文,让我们可以更好的来使用选择左下角的user setting将语言更改为中文并update

 到这里我们的zabbix-server端基本搭建完毕我们可以在监控选项中查看一些目前的监控项,zabbix为用户提供了大量的模板,我们可以根据不同的需求与设备来选择不同的模板。

但是我们发现了一个问题我们的界面出现了中文乱码的现象,这个问题我们在下一篇文章中解决,我们继续搭建我们的被控主机zabbix-agent

四、下载zabbix-agent端包,我们可以在官网地址下载也可以自己去他的仓库地址下载http://repo.zabbix.com/zabbix/5.0/rhel/仓库地址如下安装版本根据你的zabbix而定。我们直接使用官网提示下载。

1获取zabbix的仓库

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

2安装zabbix-agent

yum install zabbix-agent -y

 3修改zabbix-agent的配置文件

vi /etc/zabbix/zabbix_agentd.conf 
 

 

4启动zabbix-agent端

systemctl restart zabbix-agent

  systemctl enable zabbix-agent

五、添加被控主机

1回到zabbix-server dashboard页面选择配置》主机》创建主机

2添加主机

 

3选择模板单击zabbix-agent名字选择模板应用更新(模板是可以导入的也可以根据实际需要监控项编写模板导入)

 

 

 当下方的图标变绿则当前被控主机成功被监控

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

企业级zabbix监控服务搭建 的相关文章

  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 内核模式下的线程(和进程)与用户模式下的线程(和进程)有什么区别?

    我的问题 1 书中现代操作系统 它说线程和进程可以处于内核模式或用户模式 但没有明确说明它们之间有什么区别 2 为什么内核态线程和进程的切换比用户态线程和进程的切换花费更多 3 现在 我正在学习Linux 我想知道如何在LINUX系统中分别
  • 如何在基于 Linux 的系统上的 C 程序中使用 mqueue?

    如何在基于 Linux 的系统上的 C 程序中使用 mqueue 消息队列 我正在寻找一些好的代码示例 可以展示如何以正确且正确的方式完成此操作 也许是一个操作指南 下面是一个服务器的简单示例 该服务器接收来自客户端的消息 直到收到告诉其停
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 在 Mac OSX 上交叉编译 x86_64-unknown-linux-gnu 失败

    我尝试将我的 Rust 项目之一编译到 x86 64 unknown linux gnu 目标 cargo build target x86 64 unknown linux gnu Compiling deployer v0 1 0 fi
  • 在 C++ linux 中将 STRINGS 写入串口

    我知道这个问题遍布互联网 但仍然没有任何东西能让我完全解决这个问题 我想用 C linux 将数据写入 Propeller 板的串行端口 从控制台获取输入时程序运行良好 但是当我向它写入字符串时总是返回 ERROR Invalid comm
  • 捕获实时流量时如何开启纳秒精度?

    如何告诉 libpcap v1 6 2 将纳秒值存储在struct pcap pkthdr ts tv usec 而不是微秒值 捕获实时数据包时 Note This question is similar to How to enable
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • 无法在 Perl 中找到 DBI.pm 模块

    我使用的是 CentOS 并且已经安装了 Perl 5 20 并且默认情况下存在 Perl 5 10 我正在使用 Perl 5 20 版本来执行 Perl 代码 我尝试使用 DBI 模块并收到此错误 root localhost perl
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • 如何从 C 程序中获取 NIC 详细信息?

    我想要获取连接到我的计算机的所有 NIC 的以下详细信息 1 接口名称 例如eth0 2 接口编号 如Windows http answers yahoo com question index qid 20080517041705AAOmJ
  • Raspberry 交叉编译 - 执行程序以“分段错误”结束

    我有一个自己编写的程序 我想从我的 x86 机器上为 Raspberry Pi 构建它 我正在使用 eclipse 生成的 makefile 并且无法更改此内容 我已经阅读了 CC for raspi 的教程 Hackaday 链接 htt
  • 捕获数据包后会发生什么?

    我一直在阅读关于网卡捕获数据包后会发生什么的内容 我读得越多 我就越困惑 首先 我读过传统上 在网卡捕获数据包后 它会被复制到内核空间中的一个内存块 然后复制到用户空间 供随后处理数据包数据的任何应用程序使用 然后我读到了 DMA 其中 N
  • C:如果文件描述符被删除,阻塞读取应该返回

    我正在以阻塞的方式从设备 文件描述符中读取 可能会发生这样的情况 在不同的线程中 设备被关闭并且文件描述符被删除 不幸的是 读取没有返回或注意到并且一直阻塞 作为一种解决方法 我可以使用 select 作为超时来执行 while 循环 如果
  • pprof 和 ps 之间的内存使用差异

    我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况 这pprof工具显示如下 Flat Flat Sum Cum Cum Name Inlined 1 58GB 49 98 49 98 1 58GB 49 98 os Read
  • C - 为什么我无法映射较小(256UL 或更小)的内存?

    请告诉我 为什么我的简单应用程序无法映射较小的内存 而且 为什么有这样一个特定的边界 257UL define MAP SIZE 256UL or below fail define MAP SIZE 257UL ok include
  • 推荐用于小型站点的 IRC 服务器 (ircd)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 情况 我想使用 IRC 机器人作为我正在研究的其他代码的通用通信接口 服务器硬件陈旧且内存不足 但运行在相对最新的 Debian GNU

随机推荐

  • 驱动程序之_1_字符设备_4_fasync机制

    驱动程序之 1 字符设备 4 fasync机制 fasync机制是异步通知机制 当驱动程序向应用程序发送信号量 触发应用程序的信号处理函数 以达到类似中断的效果 驱动程序中 1 在文件专属的fasync函数中 调用了fasync helpe
  • (五) 空间查询

    Chapter 5 Spatial Queries 译 章节5 空间查询 The raison d etre of spatial databases is to perform queries inside the database wh
  • 密码正确登入不了网络计算机,windows远程登录密码正确但登录不上

    1 第一种情况 安全策略问题 开始 gt 运行 gt gpedit msc gt 计算机配置 gt Windows设置 gt 安全设置 gt 本地策略 gt 安全选项 gt 网络访问 本地帐户的共享和安全模型 修改为使用经典模式 2 第二种
  • 目标检测——R-CNN网络基础

    目录 Overfeat模型 RCNN模型 算法流程 候选区域生成 CNN网络提取特征 目标分类 SVM 目标定位 预测过程 算法总结 Fast RCNN模型 算法流程 ROI Pooling 目标分类和回归 模型训练 模型总结 Overfe
  • vue 后台管理系统引入地图选点插件获取经纬度

    地图插件文档 https elemefe github io vue amap 下载引入插件 npm install save vue amap 在main全局引用插件 引入vue amap import VueAMap from vue
  • Anconda中创建了虚拟环境,安装了各种第三方库,但是pycharm中却不会使用的解决办法

    解决方法 打开Pycharm gt File gt Settings gt Project Interpreter gt 左键点击add 按照1 2 3的顺序进行点击 Conda executable不需要管 找到安装Anaconda的盘
  • IBM HR Analytics 员工流失 EDA 和可视化绩效分析

    IBM HR Analytics 员工流失与绩效分析 背景 导入库 输出前五行 数据清洗 检查空值 删除不必要的列 可视化 商务旅行直方图 离家的距离箱形图 教育与数字公司的关系 年龄和月收入散点图 按教育领域和工作角色划分的工作满意度 相
  • 使用 Ray 将 PyTorch 模型加载速度提高 340 倍

    导读 在应用中使用深度学习的挑战之一是管理加载模型进行推理的成本 在本文中 我们将展示如何利用 PyTorch 和 Ray 的功能将这一成本几乎降至零 Introduction 深度学习模型庞大而繁琐 由于它们的大小 它们需要很长时间才能加
  • 数据挖掘项目:银行信用评分卡建模分析(上篇)

    kaggle上的Give Me Some Credit一个8年前的老项目 网上的分析说明有很多 但本人通过阅读后 也发现了很多的问题 比如正常随着月薪越高 违约率会下降 但对于过低的月薪 违约率却为0等 因此 本人写这个项目的目的是按照自己
  • 使用docker搭建部署hadoop分布式集群

    http blog csdn net xu470438000 article details 50512442 使用docker搭建部署hadoop分布式集群 标签 dockerhadoop集群 2016 01 13 18 16 2005人
  • 单JS心跳网站初稿

    客户端定时向服务端请求数据 根据返回数据作出相应的处理 客户端按用户操作向服务端发送用户操作数据 服务端根据每个客户端生成数据集 保存到数据库 服务端根据客户端发送过来的用户操作数据生成操作列表 服务端根据操作列表逐个生成不同的心跳包返回给
  • C++中智能指针详解

    1 问题引入 在C 中 静态内存和栈内存外 还有一部分内存称为堆程序用堆来存储动态分配的对象即那些在程序运行时分配的对象 当动态对象不再使用时 我们的代码必须显式的销毁它们 在C 中一般使用 new 在动态内存中为对象分配一块空间并返回一个
  • 【猛地学】Vue2基础学习笔记(尚硅谷vue2)

    vue2基础 vue实例和容器
  • 数据库事务详解

    概述 事务 Transaction 是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元 ACID 事务具有4个基本特征 分别是 原子性 Atomicity 一致性 Consistency 隔离性 Isolation 持久
  • Android微信SDK API 调用教程

    最近一直在调用微信的API 却发现一直调用不成功 纠结了好久 各方面找教程 找官方 官方里的文档也只是写得很模糊 说是按三步走 1 申请App ID 2 填写包名3 获取程序签名的md5值 这三步只要你走对了就能调通 可是大家都不知道有时候
  • python坐标轴拉伸_python – matplotlib(mplot3d) – 如何在3D图中增加轴的大小(拉伸)?...

    下面的代码示例提供了一种相对于其他轴缩放每个轴的方法 但是 要做到这一点 您需要修改Axes3D get proj函数 下面是一个基于matplot lib http matplotlib org 1 4 0 mpl toolkits mp
  • QT信号槽原理(二)moc代码中的信号槽部分

    目录 前言 moc代码详解 原始代码 emit宏 moc后代码 moc出的信号函数 QMetaObject activate doactive 第一步 获取该信号的所有连接 第二步 遍历每一个连接 第三步 判断发送者和接收者是否在同一线程
  • Oracle导入指令

    打开sqlplus 创建用户 create user mingzi identified by 123456 用户授权 grant connect resource dba to mingzi 导入 imp mingzi 123456 or
  • C++实现树 - 02 二叉树

    数据结构与算法专栏 C 实现 写在前面 这一讲我们来看看二叉树的实现 还不清楚树的结构的小伙伴建议先看看上面一讲关于树的定义 二叉树的定义 二叉树是每个结点最多有两个子树的树结构 也就是说二叉树不允许存在度大于2的树 它有五种最基本的形态
  • 企业级zabbix监控服务搭建

    一 什么是zabbix zabbix可以干什么的 为什么我们要使用zabbix 什么是zabbix zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix由2部分构成 zabbix serv