企业级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监控服务搭建 的相关文章

  • 如何从脚本编辑 /etc/sudoers?

    我需要编辑 etc sudoers从脚本中添加 删除白名单中的内容 假设我有一个可以处理普通文件的命令 我如何将其应用到 etc sudoers 我可以复制并修改它 然后有visudo用修改后的副本替换原始版本 通过提供我自己的脚本 EDI
  • 如何告诉 mex 链接到 /usr/lib 中的 libstdc++.so.6 而不是 MATLAB 目录中的 libstdc++.so.6?

    现在 MATLAB 2012a 中的 mex 仅正式支持 gcc 4 4 6 但我想使用 gcc 4 7 风险自负 现在如果我直接用 mex 编译一些东西 它会抱怨 usr lib gcc i686 linux gnu 4 7 cc1plu
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何在Linux上用C/C++编写Web服务器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在考虑在 Linux 平台上开发一个小型 阅读 初级 Web 服务器 但我不知道从哪里开始 我希望它能够做的是 监听特定端口 接受
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • Linux 内核使用的设备树文件 (dtb) 可视化工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以图形化表示Linux内核中使用的硬件设备树的工具 我正在尝试了解特定 Arm 芯片组
  • 对于任何真实数据集,数据压缩比的最小可能值是多少

    我在写信ZLIB类似于嵌入式硬件压缩器的 API 它使用 deflate 算法来压缩给定的输入流 在进一步讨论之前 我想解释一下数据压缩率 数据压缩率定义为未压缩大小与压缩大小之间的比率 压缩比通常大于一 这意味着压缩数据通常比未压缩数据小
  • 使用脚本检查 git 分支是否领先于另一个分支

    I have branch1 and branch2我想要某种 git branch1 isahead branch2 这将显示如果branch1已承诺branch2没有 也可能指定这些提交 我无法检查差异原因branch2 is在之前br
  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 如何从 Bash 命令行在后台 Vim 打开另一个文件?

    我正在从使用 Gvim 过渡到使用控制台 Vim 我在 Vim 中打开一个文件 然后暂停 Vim 在命令行上运行一些命令 然后想返回到 Vim Ctrl Z 在正常模式下 暂停 Vim 并返回到控制台 fg可用于将焦点返回到 Vim job
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu

随机推荐

  • 驱动程序之_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