重庆网站开发建设新强生产建设兵团网站
2026/4/18 12:32:34 网站建设 项目流程
重庆网站开发建设,新强生产建设兵团网站,中国做外贸网站,公司网站公司简介宣传夸大受处罚Zabbix 介绍 Zabbix 是一个开源的企业级监控解决方案#xff0c;它可以监控各种网络参数#xff0c;服务器健康状态#xff0c;应用程序性能等#xff0c;并提供灵活的告警机制和丰富的报表功能。 1、Zabbix Server 核心组件#xff0c;负责接收和处理所有监控数据它可以监控各种网络参数服务器健康状态应用程序性能等并提供灵活的告警机制和丰富的报表功能。1、Zabbix Server核心组件负责接收和处理所有监控数据生成报警和报表。需要一个数据库来存储所有配置和监控数据。2、Zabbix Agent部署在被监控的设备上负责收集本地资源和应用数据并发送给 Zabbix Server。支持多种操作系统包括 Linux、Windows 和 Unix。其中 Agent 分为 Zabbix Agent 和 Zabbix Agent 2后者是增强版 Agent支持插件适合大规模监控。3、Zabbix Proxy用于分担 Zabbix Server 的负载尤其适用于大规模分布式监控。可以在远程网络中收集数据并转发给 Zabbix Server。4、Zabbix Web Interface基于 PHP 的 Web 界面用于配置、管理和查看监控数据。提供用户管理、权限控制、仪表盘和报表等功能。5、数据库存储所有的配置、监控数据、历史记录等。支持多种数据库如 MySQL、PostgreSQL、Oracle、SQLite。观测云观测云是一款专为 IT 工程师打造的全链路可观测产品它集成了基础设施监控、应用程序性能监控和日志管理为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪了解应用内函数的每一次调用以及全面监控云时代的基础设施。此外观测云还具备快速发现系统安全风险的能力为数字化时代提供安全保障。部署 DataKitDataKit 是一个开源的、跨平台的数据收集和监控工具由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源如日志、指标和事件以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式可以轻松集成到现有的监控系统中。注意请安装完整版 DataKitLite 版本 DataKit 没有 Zabbix 相关采集器。登录观测云控制台在「集成」 - 「DataKit」选择对应安装方式。这里使用主机方式安装。复制一键安装命令登陆到目标服务器执行该命令即可实现一键安装。执行datakit monitor命令查看 DataKit 运行状态。指标数据采集Zabbix API 方式zabbix 5.0)DataKit 方式1、配置 pythond 配置文件进入 DataKit 的配置文件目录conf.d进入 pythond 目录复制pythond.conf.sample为pythond.conf, 修改如下配置[[inputs.pythond]] # Python input name name zabbix_collect # required # System environments to run Python #envs [LD_LIBRARY_PATH/path/to/lib:$LD_LIBRARY_PATH,] envs [ZABBIX_HOSThttp://127.0.0.1/zabbix, ZABBIX_USERAdmin, ZABBIX_PASSWDzabbix, ZABBIX_VERSION7.0, COLLECT_TYPEapi] # Python path(recomment abstract Python path) cmd python3 # required. python3 is recommended. # Python scripts relative path dirs [zabbix]其中ZABBIX_HOSTZABBIX_USERZABBIX_PASSWDZABBIX_VERSION填写实际 Zabbix 的地址用户名密码和版本。保存并退出。2、复制脚本进入 DataKit 目录进入python.d目录创建 zabbix 目录点击下方链接下载脚本到 zabbix 目录下https://static.guance.com/integrations/zabbix/zabbix-collector.py3、重启 DataKitdatakit service -R4、检查采集任务出现 zabbix_collect 任务则说明采集任务开启成功datakit monitorFunc 方式1、安装采集脚本登录 Func点击「脚本市场」选择预装脚本市场点击管理按钮进入预装脚本市场的脚本列表页。在过滤搜索框中输入 过滤出 zabbix 采集脚本。点击安装按钮并在弹出的确认框点击确认按钮。点击确认后在弹出的部署对话框中输入 zabbix 的地址用户名密码以及版本号。确认信息无误后点击部署启动脚本即可完成脚本的部署以及采集任务的创建。2、查看采集结果登录观测云点击「指标」 - 「指标管理」查找 zabbix 指标看是否采集到。Streaming 方式zabbix 6.4该方式类似于 Prometheus 的 Remote Write由 zabbix server 主动将数据打给 DataKit有较高的时效性。HTTP ServerDataKit 方式1、配置 pythond 配置文件进入 DataKit 的配置文件目录conf.d进入python.d目录复制pythond.conf.sample为pythond.conf修改如下配置[[inputs.pythond]] # Python input name name zabbix_collect # required # System environments to run Python #envs [LD_LIBRARY_PATH/path/to/lib:$LD_LIBRARY_PATH,] envs [ZABBIX_HOSThttp://127.0.0.1/zabbix, ZABBIX_USERAdmin, ZABBIX_PASSWDzabbix, ZABBIX_VERSION7.0, COLLECT_TYPEstream, STREAM_LISTENER_PORT8000] # Python path(recomment abstract Python path) cmd python3 # required. python3 is recommended. # Python scripts relative path dirs [zabbix]其中ZABBIX_HOSTZABBIX_USERZABBIX_PASSWDZABBIX_VERSION填写实际 Zabbix 的地址用户名密码和版本。注意COLLECT_TYPE 必须为 stream 可根据需要调整 STREAM_LISTENER_PORT 的值。保存并退出。2、复制脚本进入 DataKit 目录进入 pythond 目录创建 zabbix 目录点击下方链接下载脚本到 zabbix 目录下https://static.guance.com/integrations/zabbix/zabbix-collector.py3、重启 DataKitdatakit service -R4、检查采集任务出现 zabbix_collect 任务则说明采集任务开启成功datakit monitor5、创建 Zabbix 连接器登录 Zabbix点击管理 - 常规 - 连接器点击创建连接器URL处输入 DataKit 的地址以及zabbix stream的监听端口默认8000信息类型选择数字和浮点数点击添加。6、修改zabbix_server.conf修改StartConnectors为10保存并重启zabbix-server服务7、验证指标采集结果Func 方式1、安装采集脚本登录 Func点击「脚本市场」选择预装脚本市场点击管理按钮进入预装脚本市场的脚本列表页。在过滤搜索框中输入zabbix Stream 过滤出zabbix Stream采集脚本。点击安装即可。2、创建URL登录 Func点击「管理」 - 「同步 API」建议使用异步API- 「新建」 执行一栏选择刚导入脚本中的Zabbix Receiver方法在参数指定中配置采集任务相关的配置需要指定zabbix_hostzabbix_userzabbix_passwdzabbix_version为实际的值base64为 Zabbix 入参此处填INPUT_BY_CALLER点击保存并复制 url。3、创建 Zabbix 连接器登录 Zabbix 点击管理 - 常规 - 连接器点击创建连接器URL 处输入上一步创建的 url信息类型选择数字和浮点数点击添加。4、修改zabbix_server.conf修改StartConnectors为10保存并重启zabbix-server服务5、验证指标采集结果Kafka该方式原理同 HTTP 方式消费指标数据区别在于该方法引入了 Kafka 组件需部署一个 HTTP 服务用于接收 Zabbix 的 stream 输出并将消息发送到 Kafka 中详见https://git.zabbix.com/projects/ZT/repos/kafka-connector/browse再由消费者订阅 Kafka进行数据消费。指标治理Zabbix 指标数据结构Zabbix 以主机为维度统计指标和告警。所以所有的指标必然包含主机信息。主机往往绑定一个或多个接口。Zabbix 的指标item key 的形式为key[param1,param2,param3]。其中params分为静态值和变量两种。如vfs.fs.size[{#FSNAME},pused]。其中key为vfs.fs.size{#FSNAME}是动态参数指实际文件系统名pused为静态参数指使用量。上述采集方式中zabbix apiStreamingZabbix Agent 2三种采集方式均默认使用该规则进行指标映射。建议的指标治理规则由于 Zabbix 的数据结构跟观测云存在较大差异为方便指标的使用与管理结合实际企业用户的部署经验对于 API 和 Streaming 的采集方式我们建议 Zabbix 指标数据上传到观测云时按如下规则进行转换measurement (指标集)zabbix key第一个 . 前的内容。fields (指标)zabbix key 所有静态参数。如vfs.fs.size[{#FSNAME},pused]就会变成vfs.fs.size.pusedsystem.cpu.load[all,avg1]就会变成system.cpu.load.all.avg1。tags (标签)zabbix item key中的所有动态参数小写。同时会添加hostip以及item的tags。如vfs.fs.size[{#FSNAME},pused]的tag为fsname。ExampleZabbix item keymeasurementFieldtagsvfs.dev.queue_size[{#DEVNAME}]vfsvfs.dev.queue_sizedevnamevfs.dev.read.await[{#DEVNAME}]vfsvfs.dev.read.awaitdevnamevfs.dev.read.rate[{#DEVNAME}]vfsvfs.dev.read.ratedevnamevfs.file.contents[/sys/block/{#DEVNAME}/stat]vfsvfs.file.contents._sys_blck__statdevnamevfs.file.contents[/sys/class/net/{#IFNAME}/type]vfsvfs.file.contents._sys_class_net__typeifnamevfs.fs.inode[{#FSNAME},pfree]vfsvfs.fs.inode.pfreefsnamevfs.fs.size[{#FSNAME},pused]vfsvfs.fs.size.pusedfsnamenet.if.in[{#IFNAME},dropped]vfsnet.if.in.droppedifnamenet.if.in[{#IFNAME}]vfsnet.if.inifname使用 Pipeline 的 reference table 实现自定义 Tag场景对于已有 CMDB 的客户希望将主机的一些字段富足到指标 Tag 中。如应用、负责人信息等。方式使用 Pipeline 的 refertable 功能。具体步骤1、使用 Func 创建一个脚本用于组装 reference table 数据并发布。数据结构类似于{ table_name: zabbix-refer-table, column_name: [itemid, host, ip, itemkey], column_type: [string, string, string, string], row_data: [[1001, host-1, 10.0.0.1, vfs.fs.size], [1002, host-2, 10.0.0.2, vfs.fs.size.pused], [1003, host-3, 10.0.0.3, vfs.fs.size.pfree]] }更多 reference table 用法可参考https://docs.guance.com/datakit/datakit-refer-table/2、创建同步 API登录 Func点击「管理」 - 「同步 API」点击 新建在添加同步 API 对话框执行一栏中选择 zabbix-reference-table 获取脚本点击确定保存脚本并点击示例获取请求 API。3、编辑 DataKit 的配置文件登录 DataKit 所在服务器容器部署DataKit 参考官方文档进入 DataKit 配置目录/user/local/datakit/conf.d编辑datakit.conf文件修改[pipeline]选项下的refer_table_url的值为上一步复制的 Func 接口地址。DataKit 会将 refertable 数据预先加载到本地的 sqllite 中可以根据 refer table 大小灵活选择是否使用内存模式的 sqllite。保存后重启 DataKit 生效。4、编辑 Pipeline登录观测云点击「管理」 - 「Pipelines」- 「新建 Pipeline」这里给到一个参考 Pipeline可根据实际业务情况和 refertable 数据结构灵活调整。5、查看指标 Tag超大数据量采集优化策略对于 Export Directory 方式可以增加独立的高速 SSD 磁盘增加单独的 zabbix server 用于数据导出由于需要访问 zabbix API 和数据库DataKit 采集 ExportDirectory 会比较占用 zabbix 资源。调低 ExportFileSize 大小。API 采集方式可以通过分页查询减少查询关联表多线程查询等方式。HTTP stream 方式可以引入队列进行异步消费或使用异步方法。支持采样收集等方式。指标治理应先将映射关系生成后存入缓存或内存中方便快速匹配。为减少 redis 读写压力可以考虑分片缓存或缓存压缩等方法。各采集方式对比采集方式采集原理优势劣势Zabbix APIfunc/datakit使用python代码通过zabbix api获取指标数据。进行指标治理和映射后上传到观测云。可分布式采集采集过程高可用便于灵活调整采集所需资源。便于指标的灵活治理和映射时效性不高最大时延可达1minzabbix到func区间数据无法压缩对该区间网路压力较大。通常需要在func维护采集代码对采集代码质量要求较高否则在进行大数据量采集时速度较慢导致时效变差或丢失数据严重时会影响zabbix性能。Streaming与zabbix建立网络长连接HTTP server/Kafka消费zabbix产生的history和event数据时效性高可分布式采集采集过程高可用便于灵活调整采集所需资源。便于指标的灵活治理和映射zabbix到func区间数据无法压缩对该区间网路压力较大。Zabbix 转 Prometheus部署独立服务通过调用zabbix api将zabbix指标数据暴露成Prometheus metric接口供datakit采集集成简单可以使用datakit现有能力。需要维护独立的转换服务。转换服务与zabbix间网络转发无压缩对网络压力较大。无法灵活进行指标治理和映射。总结监控数据的集成是一个复杂的综合性工作本文所展示方案所适用场景需相关运维工程师根据实际情况进行调整。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询