首页
  • 监控

    • grafana
    • prometheus
  • 学习笔记

    • 《核心系统命令实战》
    • 《MySQL 是怎样运行的:从根儿上理解 MySQL》
    • 《Ansible权威指南》
  • 博客搭建
  • git
  • python
  • 友情链接
  • 文档编写规范
  • 我用过的电脑
  • 喷涂相关
  • 每日一溜
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

小刘说

砥砺前行
首页
  • 监控

    • grafana
    • prometheus
  • 学习笔记

    • 《核心系统命令实战》
    • 《MySQL 是怎样运行的:从根儿上理解 MySQL》
    • 《Ansible权威指南》
  • 博客搭建
  • git
  • python
  • 友情链接
  • 文档编写规范
  • 我用过的电脑
  • 喷涂相关
  • 每日一溜
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • zabbix

    • zabbix简介&安装
      • 1.1 Zabbix简介
        • 1.1.1 Zabbix概述
        • 1.1.2 zabbix特性
        • 1.1.2.1 数据收集
        • 1.1.2.2 灵活的阈值定义
        • 1.1.2.3 高度可配置化告警
        • 1.1.2.4 实时绘图
        • 1.1.2.5 WEB监控功能
        • 1.1.2.6 丰富的可视化选项
        • 1.1.2.7 历史数据存储
        • 1.1.2.8 易配置
        • 1.1.2.9 模板功能
        • 1.1.2.10 网络发现
        • 1.1.2.11 页面展示
        • 1.1.2.12 zabbix api
        • 1.1.2.13 权限系统
        • 1.1.2.14 易扩展
        • 1.1.2.15 二进制守护进程
        • 1.1.2.16 适用复杂网络环境
        • 官方给的硬件资源配置参考
      • 1.2 Zabbix 基础架构
        • 1.2.1 zabbix server
        • 1.2.2 Zabbix agent
      • 1.3 Zabbix部署
        • docker-crompose 部署
        • web页面解决中文乱码问题
  • docker

  • kubernetes

  • harbor

  • mysql

  • nexus

  • jenkins

  • elasticsearch

  • 学习笔记

  • apache2.2升级2.4
  • heredoc(cat EOF)
  • Rocky linux 9 初始化
  • 运维
  • zabbix
小刘
2022-07-12
目录

zabbix简介&安装

# 1.1 Zabbix简介

# 1.1.1 Zabbix概述

Zabbix 是一款可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康状况和完整性。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。这允许对服务器问题做出快速反应。Zabbix 基于存储的数据提供报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。

Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。

# 1.1.2 zabbix特性

# 1.1.2.1 数据收集

  • 可用性和性能采集;
  • 支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控;
  • 自定义检查;
  • 按照自定义的时间间隔采集需要的数据;
  • 通过 Server/Proxy 和 Agents 来执行数据采集。

# 1.1.2.2 灵活的阈值定义

你可以定义非常灵活的告警阈值,称之为触发器,触发器从后端数据库获得参考值。

# 1.1.2.3 高度可配置化告警

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

# 1.1.2.4 实时绘图

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

# 1.1.2.5 WEB监控功能

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

# 1.1.2.6 丰富的可视化选项

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

# 1.1.2.7 历史数据存储

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

# 1.1.2.8 易配置

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

# 1.1.2.9 模板功能

  • 在模板中分组检查;
  • 模板可以关联其他模板,获得继承。

# 1.1.2.10 网络发现

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

# 1.1.2.11 页面展示

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

# 1.1.2.12 zabbix api

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

# 1.1.2.13 权限系统

  • 安全的用户身份验证;
  • 将特定用户限制于访问特定的视图。

# 1.1.2.14 易扩展

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

# 1.1.2.15 二进制守护进程

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

# 1.1.2.16 适用复杂网络环境

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

# 官方给的硬件资源配置参考

下表提供了几个硬件配置参考:

规模 平台 CPU/内存 数据库 受监控的主机数量
小型 CentOS Virtual Appliance MySQL InnoDB 100
中型 CentOS 2 CPU cores/2GB MySQL InnoDB 500
大型 RedHat Enterprise Linux 4 CPU cores/8GB RAID10 MySQL InnoDB 或 PostgreSQL >1000
极大型 RedHat Enterprise Linux 8 CPU cores/16GB Fast RAID10 MySQL InnoDB 或 PostgreSQL >10000

实际上,Zabbix 环境的配置非常依赖于监控项(主动)和更新间隔。 如果是进行大规模部署,强烈建议将数据库独立部署。

# 1.2 Zabbix 基础架构

img

# 1.2.1 zabbix server

zabbix server 是整个 Zabbix 软件的核心程序。

Zabbix Server 负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。它是 Zabbix Agent 和 Proxy 报告系统可用性和完整性数据的核心组件。Server 自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务器)。

Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将被发出通知给管理员。

基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

Zabbix 的所有配置信息都存储在 Server 和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

# 1.2.2 Zabbix agent

Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序(硬盘、内存、处理器统计信息等)。

Zabbix agent 收集本地的操作信息并将数据报告给 Zabbix server 用于进一步处理。一旦出现异常 (例如硬盘空间已满或者有崩溃的服务进程),Zabbix server 会主动警告管理员指定机器上的异常。

Zabbix agents 的极高效率缘于它可以利用本地系统调用来完成统计数据的采集。

# 1.3 Zabbix部署

# docker-crompose 部署

参考zabbix-docker (opens new window)仓库进行编写。

zabbix官方采用了几种基础的镜像进行构建zabbix镜像:

  • alpine (opens new window)
  • centos (opens new window)
  • oracle linux (opens new window) from Zabbix 5.0
  • ubuntu (opens new window)

不同的基础镜像内部自带的命令,构建完成的大小也不相同,根据版本选择即可。

docker-compose 文件也分为两种:

*_latest.yaml :从 hub.docker.com 下载官方已经打包好的镜像进行部署。

*_local.yaml :采用本地的 Dockerfile 进行构建新的镜像。

看情况进行选择需要用哪种镜像。我这里使用的是 alpine_mysql_latest 版本的 yaml 进行部署。

# 拉取 zabbix-docker 项目
git clone https://github.com/zabbix/zabbix-docker.git
cd zabbix-docker
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d
1
2
3
4

等待镜像拉取完成后,访问 http://ip地址 进行登录,用户名Admin,密码zabbix。

更新语言时区即可。

image-20220712174623771

# web页面解决中文乱码问题

# 安装字符集
yum -y install wqy-microhei-fonts
# 新建 fonts 文件夹
mkdir -p zbx_env/usr/share/zabbix/assets/fonts/
# 拷贝字体到目录下
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc zbx_env/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
1
2
3
4
5
6

在 zabbix-web-nginx-mysql: 的 volumes: 里添加:

# 修复zabbix中文字体乱码
   - ./zbx_env/usr/share/zabbix/assets/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf:ro
1
2

image-20220712175336932

重启zabbix后即可发现中文正常显示了。

image-20220712175528446

上次更新: 2024/05/11, 03:55:33

docker离线安装+升级→

最近更新
01
kubernetes控制器-Service
08-18
02
kubernetes控制器-Deployment
08-08
03
kubernetes调度基础
07-27
更多文章>
Theme by Vdoing | Copyright © 2023-2024 本站支持IPv6访问 本站支持SSL安全访问
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式