Zabbix基本介绍

文章目录

  • 一、监控
    • 为什么需要监控
    • 需要监控什么
    • Zabbix使用场景及系统概述
      • zabbix介绍
      • Zabbix功能
      • Zabbix架构
      • Zabbix术语
  • 二、部署安装
    • 编译安装


一、监控

为什么需要监控

监控功能

  • 在需要的时刻,提前预警即将出问题,避免故障发生。
  • 实时监控系统和业务,当出问题之后,通过发出告警,提醒相关人员,快速可以找到问题的根源,从而及时处理问题。
  • 可以实现网站,应用或者服务器的故障自愈, 保证高可用性。
  • 以图形或易观察的方式呈现当前以及过往的状态,便于分析和预测系统发展趋势。

需要监控什么

监控一切需要监控的资源,包括服务器、网络设备、业务应用、云服务等。

分类实例内容
硬件监控通过远程控制卡: DeLL的iDRAC,HP的ILO和IBM的IMM等 使用IPMI来完成物理设备的监控工作。通常必须要监控包括温度、硬盘故障等 路由器,交换机(端口,光衰,日志),打印机等
系统监控cpu, 内存, 硬盘使用率, 硬盘IO, 系统负载,进程数
服务监控nginx,apache, php-fpm,mysql.memcache,redis ,tomcat,JVM,TCP连接数
性能监控网站性能,服务器性能,数据库性能,存储性能
日志监控系统会产生系统日志,应用程序会有应用的访问日志、错误日志,服务有运行日志等, 可以使用ELK来进行日志监控
安全监控用户登录数,passwd文件变化,本地所有文件改动 Nginx+Lua编写一个WAF通过kibana可以图形化的展示不同的攻击类型的统计。
网络监控IP,端口,URL,DB,ping包,IDC带宽网络流量,网络流出速率,网络入流量, 网络出流是.网络使用率,SMTP.POP3

Zabbix使用场景及系统概述

zabbix介绍

Zabbix是一个企业级解决方案,支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标,适用于任何IT基础架构、服务、应用程序和资源的解决方案。

Zabbix功能

Zabbix 是一个高度成熟完善的网络监控解决方案,包含了多种功能。
在这里插入图片描述
数据收集:

  • 历史数据, 即记录每个监控项采集到的每个监控值
  • 趋势数据, 主要保留某个监控项一个小时内历史数据的最大值、最小值和平均值以及该监控项一个小时内所采集到的数据个数
  • 可用性和性能检查;
  • 支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控; agent
  • 自定义检查;
  • 按照自定义的时间间隔采集需要的数据;
  • 通过 Server/Proxy 和 Agents 来执行数据采集。

灵活的阈值定义

  • 您可以参考后端数据库定义非常灵活的告警阈值,即触发器

高度可配置化的告警

  • 可以根据递增计划、接收者、媒介类型自定义发送告警通知;
  • 使用宏变量可以使告警通知变得更加高效有用;
  • 自动操作包含远程执行命令。

实时图形

  • 使用内置图形功能可以将监控项实时绘制成图形。

Web 监控功能

  • Zabbix可以追踪模拟鼠标在 Web 网站上的点击操作,来检查 Web 网站的功能和响应时间。

丰富的可视化选项

  • 可以组合多个监控项到单个视图中,创建自定义图表;
  • 网络拓扑图;
  • 以仪表盘样式展示自定义聚合图形和幻灯片演示;报表;
  • 监控资源的更高层次展示视图(业务视图)。

历史数据存储

  • 存储在数据库中的数据;
  • 历史配置;内置数据管理机制

配置简单

  • 将被监控设备添加为主机;
  • 主机一旦添加到数据库中,就会采集数据用于监控;
  • 将模板用于监控设备。

使用模板

  • 模板中分组检查;
  • 模板可以关联模板,继承已关联模板的属性。

网络发现客户端

  • 自动发现网络设备;
  • Zabbix Agent 发现设备后自动注册;
  • 自动发现文件系统、网络接口

快捷的 Web 界面

  • 基于 PHP 的 Web 前端;
  • 可以从任何地方访问;
  • 您可以定制自己的操作方式;
  • 您可以通过审计日志来查看你的操作

Zabbix API

  • Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途

权限管理系统

  • 安全的用户身份验证;
  • 指定的用户只能查看指定的权限范围内的视图

功能强大且易于扩展的 Zabbix Agent

  • 部署于被监控对象上;
  • 支持 Linux 和 Windows ;

二进制守护进程

  • 为了更好的性能和更少的内存占用,采用 C 语言编写;
  • 便于移植。

适应更复杂的环境

  • 使用 Zabbix Proxy 代理,可以轻松实现分布式远程监控

Zabbix架构

在这里插入图片描述

  • SERVER

    • Zabbix server 是 Zabbix 软件的核心组件
    • Zabbix Agent 向其报告可用性、系统完整性信息和统计信息。
    • Zabbix server也是存储所有配置信息、统计信息和操作信息的核心存储库。
    • Zabbix server也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。
  • 基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。
    Zabbix 的所有配置信息都存储在 Server和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

  • 数据库

    • 所有配置信息以及 Zabbix 采集到的数据都被持久存储在数据库中
    • 可以支持MySQL,PostgreSQL,Oracle 等多种数据库
  • WEB 界面

    • WEB 界面是 Zabbix server 的一部分,用于实现展示和配置的界面通常(但不一定)和 Zabbix server 运行在同一台物理机器上基于 Apache(Nginx)+PHP 实现,早期只支持LAMP架构,从Zabbix5.0开始支持LNMP
  • AGENT

    • Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给Zabbix server。从Zabbix5.0开始支技Zabbix Agent2
  • PROXY

    • Zabbix Proxy 可以代替 Zabbix Server 采集性能和可用性数据
    • Zabbix Proxy 在 Zabbix 的部署是可选部分
    • Zabbix Proxy 的部署可以很好的分担单个Zabbix server的负载
  • Java 网关

    • Zabbix 要监控 tomcat 服务器和其它JAVA程序,需要使用 Java gateway 做为代理,才能从JAVA程序中获取数据。

Zabbix术语

在这里插入图片描述

  • 被监控: 即 Zabbix 监控的主机或设备

  • 监控项item:即 Zabbix 监控的相关指标,比如:CPU利用率,内存使用率,TCP连接数等

    • 监控内容
  • 应用集Application:为方便管理众多的监控项,可将多个同类型的监控项进行归类,纳入一个集合中,即应用集

  • 触发器Trigger:是一个表达式,或者说一个条件,如磁盘利用率超过80%等,当触发条件后,会导致一个触发事件,这个事件会执行一个或多个动作

  • 告警:当触发器和动作二者结合起来时,就构成了的告警机制,比如cpu的使用率达到80%以上,触发了报警动作,系统将自动发送一封邮件到指定的邮箱。然后运维可以及时的去处理此错误 host—> items—> triggers --> action

  • Web 监测:对WEB服务进行检测,比如:访问指定网站是否可正常访问

  • 模板 Template: 可以方便地应用于多个主机的一组实体的集合。而这些实体包括:

    • items(监控项)
    • applications(应用集)
    • triggers(触发器)
    • graphs(图形)
    • screens (聚合图形,自Zabbix 2.0起)
      使用模板是减少工作量,并简化Zabbix配置的好方法,模版分为内置模板和自定义模板

二、部署安装

编译安装

解决依赖关系

yum install gcc libxml2-devel   net-snmp net-snmp-devel   curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel    libevent-devel    java-1.8.0-openjdk-devel  -y 

编译安装

./configure --help
#可以查看帮助
./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-javamake 
make install

安装数据库

yum install mariadb-server.x86_64  -y
systemctl start mariadb

数据库可以安装在本地,也可以分离。

还可以使用安全加固脚本。
/usr/bin/mysql_secure_installation
mysql_secure_installation 是 MySQL 提供的一个安全加固脚本,用于提高 MySQL 数据库的基本安全性。这个脚本引导用户完成一系列步骤,以加强 MySQL 安装的安全性。

mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
创建数据库zabbix
create user zabbix@localhost identified by 'zabbix';创建本地登录账户
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
是用于 MySQL 数据库的配置命令。它设置了一个全局系统变量,影响存储函数和触发器的创建行为。
quit;

导入zabbix数据库文件

 cd /opt/zabbix-4.0.30/database/mysqlmysql -uzabbix -pzabbix zabbix < schema.sql mysql -uzabbix -pzabbix zabbix < images.sqlmysql -uzabbix -pzabbix zabbix < data.sql 必须最后导入  data.sql

安装web

yum install httpd -y
systemctl start httpd
cp -a /opt/zabbix-4.0.30/frontends/php/   /var/www/html/zabbix/
将前端页面拷贝过去

修改zabbix配置

LogFile=/tmp/zabbix_server.log
DBName=zabbix_server
DBUser=zabbix
DBPassword=zabbix
LogSlowQueries=3000

在这里插入图片描述

升级php版本
在这里插入图片描述
有告警,需要升级PHP版本。

yum  install php-gettext php-xml php-net-socket php-gd php-mysql  -yvim /etc/php.ini
384 max_execution_time = 300
394max_input_time = 600
672 post_max_size = 16M
878 date.timezone = Asia/Shanghai

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下载配置文件
在这里插入图片描述
在这里插入图片描述

cp zabbix.conf.php   /var/www/html/zabbix/conf/ -a
复制完毕,直接刷新页面

在这里插入图片描述
默认密码:Admin
密码:zabbix
在这里插入图片描述
准备service文件

pkill zabbix_agentd 
vim /usr/lib/systemd/system/zabbix-server.service [Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=apps/zabbix_server/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.targetchown zabbix:zabbix  /apps/zabbix_server/ -R
systemctl daemon-reload
systemctl start zabbix-server.service
systemctl status zabbix-server.service

在这里插入图片描述
修改中文
在这里插入图片描述
有乱码!
在这里插入图片描述
去wim主机的c盘,C:\Windows\Fonts
在这里插入图片描述

/var/www/html/zabbix/assets/fonts 
上传字体文件到这里
chown zabbix.zabbix ./* 
更改权限为zabbix用户和组
后缀必须小写ttf
cd /var/www/html/zabbix
vim include/defines.inc.php
更改72行
更改111行
如图所示

在这里插入图片描述
在这里插入图片描述
刷新即可。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库安全:MySQL安全配置,MySQL安全基线检查加固

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 这一章节我们需…

配置Linux客户端免密登录服务端Linux主机的root用户

1.安装shh服务 首先安装shh服务&#xff0c;redhat端通过下面代码进行安装服务 sudo yum install sshd sudo yum install openssh-server 2.生成密钥&#xff08;公钥&#xff0b;私钥&#xff09; 执行ssh-keygen命令&#xff0c;会生成id_rsa&#xff08;私钥&#xff0…

并发编程--synchronized介绍

1.初步认识synchronized 先来看下利用 synchronized 实现 同步的基 础 &#xff1a; Java 中的每一个 对 象都可以作 为锁 。具体表 现 为 以下 3 种形式。 &#xff1a; 对于普通同步方法&#xff0c; 锁 是当前 实 例 对 象。 对于静 态 同步方法&#xff0c; 锁 是当前 类…

python-首字母移位(PythonTip)

[题目描述] 编写一个程序&#xff0c;将句子中每个单词的首字母移位到下一个单词。定义函数shift_first_letter()&#xff0c;参数为sentence&#xff08;字符串&#xff09;。在函数内&#xff0c;将句子中每个单词的首字母移位到下一个单词。最后一个单词的首字母移位到句子的…

SQL 注入漏洞详解 - Union 注入

1)漏洞简介 SQL 注入简介 SQL 注入 即是指 Web 应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在 Web 应用程序中事先定义好的查询语句的结尾上添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,…

记录|C#+winform创建扁平化风格界面

本项目的C#内容是自己跟做的&#xff0c;自己做的内容已经打包&#xff0c;可以通过自己跟做写的Dashboard界面&#xff0c;C#下的winform模式下载获得&#xff0c;但是需要花费3个积分 目录 前言一、左边设置和步骤界面步骤Step1.Step2.Step3.Step4Step5 二、右边属性和步骤属…

【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘

ModuleNotFoundError: No module named ‘requests‘ 目录 ModuleNotFoundError: No module named ‘requests‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&a…

Python怎样读取URL生成PDF

1. 安装依赖的exe 需要在这个网址&#xff0c;安装一个exe包&#xff0c;地址&#xff1a;https://wkhtmltopdf.org/ 进入网址后&#xff0c;点这个位置&#xff1a; 选择一个你的操作系统的下载链接&#xff1a; 安装后的exe文件&#xff1a; C:\Program Files\wkhtmltopdf…

记录解决springboot项目上传图片到本地,在html里不能回显的问题

项目场景&#xff1a; 项目场景&#xff1a;在我的博客系统里&#xff1a;有个相册模块&#xff1a;需要把图片上传到项目里&#xff0c;在html页面上显示 解决方案 1.建一个文件夹 例如在windows系统下。可以在项目根目录下建个photos文件夹&#xff0c;把上传的图片文件…

华为OD2024D卷机试题汇总,含D量50%+,按算法分类刷题,事半功倍

目录 专栏导读华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如何刷题更有效率呢&#xff1f; 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵 三、算法1、基础算法① 贪心思维② 二分查…

SAP 贷项销售订单简介

SAP 贷项销售订单简介 1. 什么是销售贷方销售订单?2. 创建销售贷方销售订单的场景3. 销售贷方销售订单的创建流程直接创建发票---VF01将会计凭证过账到会计核算查看贷项销售订单凭证流查看客户明细---FBL5N贷项后台配置SAP销售贷方销售订单(Sales Credit Memo Request)是销售…

Windows定时任务实现关闭和开启声音

目录 1. 下载并放置 nircmd.exe1.1 下载 NirCmd&#xff1a;1.2 放置 nircmd.exe&#xff1a; 2. 定时关闭声音2.1 打开任务计划程序&#xff1a;2.2 创建基本任务&#xff1a;2.3 设置任务名称和描述&#xff1a;2.4 触发器&#xff1a;2.5 操作&#xff1a;2.6 设置程序或脚本…

面试官问:Django、Flask、FastAPI,你选哪个?为什么?

如果你是python Web方向的开发工程师&#xff0c;那么在面试中&#xff0c;会经常遇到面试官问这个问题&#xff1a; “在Python的三个流行Web框架&#xff1a;Django、Flask和FastAPI&#xff0c;说说它们的异同&#xff0c;以及你是怎么选择合适的框架&#xff1f;” 异同对…

AndroidStudio 编辑xml布局文件卡死问题解决

之前项目编写的都是正常&#xff0c;升级AndroidStudio后编辑布局文件就卡死&#xff0c;还以为是AndroidStudio文件。 其实不然&#xff0c;我给整个项目增加了版权声明。所以全部跟新后&#xff0c;布局文件也增加了版权声明。估计AndroidStudio在 解析布局文件时候因为有版…

【目标检测】Anaconda+PyTorch(GPU)+PyCharm(Yolo5)配置

前言 本文主要介绍在windows系统上的Anaconda、PyTorch、PyCharm、Yolov5关键步骤安装&#xff0c;为使用yolo所需的环境配置完善。同时也算是记录下我的配置流程&#xff0c;为以后用到的时候能笔记查阅。 Anaconda 软件安装 Anaconda官网&#xff1a;https://www.anaconda…

ubuntu源码安装Odoo

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo具有非常多的安装方式&#xff0c;除了我最爱用的 apt-get install&#xff0c;我们还可以使用git拉取Odoo源码进行安装。 本次示例于ubuntu20.04 Desktop上进行操作&#xff0c;理论上在ubuntu14.04之后都可以用此操作。 …

OpenWrt 配置 Tailscale 内网穿透

前言 Openwrt 安装 zerotier 内网穿透. Tailscale 在 OpenWrt 下配置教程参考 GXNAS 博客 的 OpenWrt安装Tailscale设置内网穿透科学出国外网互访局域网设备。啥都不会难搞 的 【傻呱呱】OpenWrt安装Tailscale。阿髙 的 openwrt设置开机自启 tailscale为例。 Tailscale 安…

【算法】一致性哈希

一、引言 在分布式系统中&#xff0c;数据存储和访问的均匀性、高可用性以及可扩展性一直是核心问题。一致性哈希算法&#xff08;Consistent Hashing&#xff09;是一种分布式算法&#xff0c;因其出色的分布式数据存储特性&#xff0c;被广泛应用于缓存、负载均衡、数据库分片…

在浏览器中测试JavaScript代码方法简要介绍

在浏览器中测试JavaScript代码方法简要介绍 在浏览器中测试JavaScript代码是前端开发中的一个重要技能。方法如下&#xff1a; 1. 浏览器控制台 最简单和直接的方法是使用浏览器的开发者工具中的控制台&#xff08;Console&#xff09;。 步骤&#xff1a; 在大多数浏览器…

iOS ------ weak的基本原理

1.weak的基本概念 weak弱引用&#xff0c;所引用的对象的引用计数不会加一&#xff0c;引用对象被释放的时候会自动设置为nil多用于解决对象间的相互引用造成内存泄露的循环引用的问题 2.实现原理 Person *object [[Person alloc] init]; id __weak objc object;Runtime维…