ELK 与 Zabbix

ELK 与 Zabbix 系统部署及核心信息总结(增强版)

一、ELK 企业日志分析系统

(一)核心概述

ELK 是 Elastic 技术栈的核心组合(Elasticsearch + Logstash + Kibana),后续演进为 Elastic Stack(新增 Beats 轻量数据采集器),提供日志采集 - 处理 - 存储 - 分析 - 可视化的全链路解决方案,支持 PB 级日志实时处理,广泛应用于互联网、金融、政务等行业的日志审计、故障排查、业务监控等场景。

  • Elasticsearch(ES):基于 Lucene 的分布式搜索分析引擎,采用分片(Shard)与副本(Replica)机制保证高可用,支持横向扩展,核心特性包括:

    • 倒排索引:实现全文检索,支持模糊匹配、短语查询、范围查询等。

    • 聚合分析:提供桶聚合、指标聚合、管道聚合,支持多维度数据统计。

    • 高并发:默认支持数千 QPS,通过集群扩容可支撑万级 QPS。

  • Logstash :开源数据处理管道,支持 200+ 输入插件(File、Syslog、Kafka 等)、100+ 过滤插件(Grok、Date、GeoIP 等)、50+ 输出插件(ES、Redis、File 等),核心优势是数据清洗能力强,可将非结构化日志(如 Apache 原始日志)转换为结构化 JSON 格式。

  • Kibana:ES 的可视化前端工具,提供五大核心模块:

    • Discover:日志实时检索与筛选,支持多索引模式切换。

    • Visualize:拖拽式生成图表(柱状图、折线图、饼图、热力图等)。

    • Dashboard:自定义仪表盘,支持多图表联动与定时刷新。

    • Timelion:时间序列数据分析,支持复杂数学运算与趋势预测。

    • Dev Tools:ES 命令行工具,支持直接执行 DSL 语句调试。

  • Beats(补充组件):轻量级数据采集器(Filebeat、Metricbeat、Packetbeat 等),占用资源低(CPU 使用率 %),适合部署在边缘节点,替代 Logstash 完成数据采集,再通过 Logstash 或直接向 ES 传输数据,优化采集链路性能。

(二)部署环境与硬件要求

主机 操作系统 主机名 IP 地址 主要软件 硬件配置建议 网络要求
服务器 Centos7.9 node1 192.168.108.41 Elasticsearch、Kibana 8C16G、500G SSD(日志存储) 千兆网卡,集群内通信带宽 ≥1Gbps
服务器 Centos7.9 node2 192.168.108.42 Elasticsearch 8C16G、500G SSD 同节点 1
服务器 Centos7.9 apache 192.168.108.43 Logstash、Apache、Filebeat 4C8G、200G HDD 可访问 node1/node2 的 9200 端口
可选服务器 Centos7.9 beats-node 192.168.108.44 Filebeat、Metricbeat 2C4G、100G HDD 可访问 ES 集群与 Logstash

(三)关键部署步骤(细化版)

  1. Elasticsearch 集群配置
  • 环境预处理:

    • 关闭防火墙(systemctl stop firewalld && systemctl disable firewalld)与 SELinux(setenforce 0,修改 /etc/selinux/config 永久关闭)。

    • 配置内核参数:echo "vm.max_map_count=262144" >> /etc/sysctl.conf(ES 内存映射需求),sysctl -p 生效。

    • 配置文件描述符:echo "* soft nofile 65535" >> /etc/security/limits.confecho "* hard nofile 65535" >> /etc/security/limits.conf

  • 安装配置:

    • 导入 Elastic 官方 GPG 密钥:rpm --import ``https://artifacts.elastic.co/GPG-KEY-elasticsearch

    • 配置 YUM 源:创建 /etc/yum.repos.d/elastic.repo,添加 ES 与 Kibana 源(版本建议 7.x 稳定版)。

    • 安装 ES:yum install elasticsearch-7.17.0 -y,修改配置文件 /etc/elasticsearch/elasticsearch.yml

      cluster.name: elk-cluster # 集群名称,所有节点需一致

      node.name: node1 # 节点名称,唯一

      path.data: /var/lib/elasticsearch # 数据目录

      path.logs: /var/log/elasticsearch # 日志目录

      network.host: 0.0.0.0 # 绑定所有网卡

      http.port: 9200 # HTTP 端口

      discovery.seed_hosts: ["192.168.108.41", "192.168.108.42"] # 集群节点IP

      cluster.initial_master_nodes: ["node1", "node2"] # 初始主节点候选

  • 授权目录:chown -R elasticsearch:elasticsearch /var/lib/elasticsearch /var/log/elasticsearch

  • 启动服务:systemctl daemon-reload && systemctl start elasticsearch && systemctl enable elasticsearch

  • 验证集群:curl -X GET ``http://192.168.108.41:9200/_cluster/health,状态为 green 表示集群健康。

  • 插件安装:

    • elasticsearch-head:npm install -g grunt-cli && git clone ``https://github.com/mobz/elasticsearch-head.git`` && cd elasticsearch-head && npm install && grunt server,访问 http://node1:9100 查看集群状态。

    • IK 分词器(中文支持):./bin/elasticsearch-plugin install ``https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.0/elasticsearch-analysis-ik-7.17.0.zip,重启 ES 生效。

  1. Logstash 部署与配置
  • 安装:yum install logstash-7.17.0 -y,建立软连接:ln -s /usr/share/logstash/bin/logstash /usr/bin/

  • 基础配置(Apache 日志采集示例):

    • 创建配置文件 /etc/logstash/conf.d/apache.conf
bash 复制代码
input {

 file {

   path => "/var/log/httpd/access\_log"  # Apache 访问日志路径

   start\_position => "beginning"  # 从文件开头读取

   sincedb\_path => "/dev/null"  # 禁用 sincedb,每次重启重新读取

   type => "apache-access"  # 日志类型标识

 }

 file {

   path => "/var/log/httpd/error\_log"

   start\_position => "beginning"

   sincedb\_path => "/dev/null"

   type => "apache-error"

 }

}

filter {

 if \[type] == "apache-access" {

   grok {

     match => { "message" => '%{IPORHOST:client\_ip} %{USER:ident} %{USER:auth} \\\[%{HTTPDATE:timestamp}\\] "%{WORD:method} %{URIPATH:uri\_path}(?:%{URIPARAM:uri\_param})? %{HTTPVERSION:http\_version}" %{NUMBER:status} %{NUMBER:body\_bytes\_sent} "%{DATA:referrer}" "%{DATA:user\_agent}"' }

   }

   date {

     match => \[ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]  # 解析时间戳

     target => "@timestamp"  # 覆盖默认时间字段

   }

   mutate {

     convert => { "status" => "integer" }  # 转换字段类型

     convert => { "body\_bytes\_sent" => "integer" }

   }

 }

}

output {

 elasticsearch {

   hosts => \["http://192.168.108.41:9200", "http://192.168.108.42:9200"]

   index => "apache-access-%{+YYYY.MM.dd}"  # 按日期生成索引

 }

 stdout { codec => rubydebug }  # 控制台输出调试(可选)

}
  • 启动与验证:systemctl start logstash && systemctl enable logstash,查看日志 tail -f /var/log/logstash/logstash-plain.log,无报错则正常运行。
  1. Kibana 部署与可视化配置
  • 安装:yum install kibana-7.17.0 -y,修改配置文件 /etc/kibana/kibana.yml
bash 复制代码
server.port: 5601

server.host: "0.0.0.0"  # 允许外部访问

elasticsearch.hosts: \["http://192.168.108.41:9200", "http://192.168.108.42:9200"]

kibana.index: ".kibana"  # Kibana 自身数据存储索引

i18n.locale: "zh-CN"  # 中文界面(7.x 版本支持)
  • 启动服务:systemctl start kibana && systemctl enable kibana,访问 http://node1:5601 进入界面。

  • 进阶配置:

    • 创建索引模式:Management → Index Patterns → Create index pattern,输入 apache-access-*,选择时间字段 @timestamp,完成创建。

    • 制作仪表盘:Visualize → Create visualization → 选择图表类型(如柱状图),配置 X 轴为 status(HTTP 状态码),Y 轴为 count(数量),保存后添加到 Dashboard,设置自动刷新周期(如 10s)。

    • 配置告警:通过 Watcher 插件(需 ES 商业版或基础版),设置日志异常阈值(如 5xx 状态码占比 >10% 时告警),对接邮件、Slack 等渠道。

(四)核心功能与实战场景

  • 日志故障排查 :通过 Kibana Discover 检索关键字(如 errortimeout),结合时间范围筛选,快速定位应用报错日志,示例 DSL 查询:
bash 复制代码
{

 "query": {

   "bool": {

     "must": \[

       { "match": { "message": "error" } },

       { "range": { "@timestamp": { "gte": "now-1h", "lte": "now" } } }

     ]

   }

 }

}
  • 业务数据分析:统计 Apache 访问 Top10 IP、热门接口、用户终端分布,通过饼图、条形图可视化,辅助业务决策。

  • 安全审计:收集系统日志(/var/log/secure),监控 SSH 登录失败、sudo 操作等行为,生成安全审计报表。

  • 常见问题排查

    • ES 启动失败:检查内存是否充足(默认占用 1G 堆内存,可修改 /etc/elasticsearch/jvm.options 调整 -Xms/-Xmx)、内核参数 vm.max_map_count 是否配置。

    • Logstash 采集延迟:优化配置(如增加 workers 线程数)、使用 Filebeat 替代直接采集、开启 Logstash 持久化队列。

    • Kibana 无法连接 ES:检查网络连通性、ES 集群状态、Kibana 配置文件中的 ES 地址是否正确。

二、Zabbix 监控系统

(一)核心概述

Zabbix 是一款开源企业级监控系统(最新稳定版 6.4),支持分布式监控自动化发现灵活告警,可监控对象包括:网络设备(交换机、路由器)、服务器(CPU、内存、磁盘)、应用程序(MySQL、Nginx、Java)、云资源(AWS、阿里云)等,适用于 IT 基础设施全栈监控,支持百万级监控指标采集。

(二)架构组件与工作流程

1. 核心组件
  • Zabbix Server:核心中枢,负责接收 Agent 数据、处理监控逻辑、触发告警、存储数据,支持集群部署(Zabbix Server Cluster)提升可用性。

  • Database:存储监控数据(历史数据、趋势数据)、配置信息(主机、模板、触发器),推荐使用 MariaDB 10.6+ 或 PostgreSQL 14+,支持分区表(按时间分区)优化查询性能。

  • Zabbix Web 界面:基于 PHP + Nginx/Apache 开发,提供可视化管理界面,支持角色权限控制(RBAC)、自定义仪表盘。

  • Zabbix Proxy:代理服务器,分担 Server 负载,适用于跨机房、大规模监控场景,支持主动模式(Proxy 主动向 Server 上报数据)和被动模式(Server 主动从 Proxy 拉取数据)。

  • Zabbix Agent/Agent2:部署在被监控主机,Agent 基于 C 语言开发(轻量),Agent2 基于 Go 语言开发(支持更多插件、性能更优),支持主动监控(Agent 主动推送数据)和被动监控(Server 主动查询数据)。

  • Zabbix Sender:用于主动发送数据到 Server/Proxy,适用于脚本监控场景(如自定义业务指标采集)。

  • Zabbix Get:用于从 Server/Proxy 主动获取 Agent 数据,适用于调试。

2. 工作流程
  1. 管理员通过 Web 界面配置监控主机、关联模板(包含监控项、触发器、图形)。

  2. Agent 按配置周期采集监控数据,通过主动 / 被动模式发送给 Server/Proxy。

  3. Server 接收数据后,存储到 Database,并检查是否满足触发器条件(如 CPU 使用率 >80% 持续 5 分钟)。

  4. 若满足触发条件,Server 按配置的告警媒介(邮件、短信、钉钉)发送告警通知。

  5. 管理员通过 Web 界面查看监控数据、处理告警、生成报表。

(三)部署环境与硬件要求

主机名 IP 地址 功能 操作系统 主要软件 硬件配置建议 网络要求
zabbix-server 192.168.108.50 Zabbix Server + Web 界面 Centos7.9 Zabbix Server 6.4、Nginx 1.20、MariaDB 10.6、PHP 7.4 8C16G、1TB SSD(监控数据存储) 开放 80(Web)、10051(Server 端口)
mysql001 192.168.108.51 被监控主机(MySQL) Centos7.9 Zabbix Agent2 6.4、MySQL 8.0 4C8G、500G HDD 开放 10050(Agent 端口),可访问 Server 10051 端口
zabbix-proxy(可选) 192.168.108.52 Zabbix Proxy Centos7.9 Zabbix Proxy 6.4、SQLite3(小型环境) 4C8G、200G SSD 可访问 Server 10051 端口、被监控主机 10050 端口

(四)关键部署步骤(细化版)

  1. LNMP 架构搭建(Zabbix Server 依赖)
bash 复制代码
curl -sS https://downloads.mariadb.com/MariaDB/mariadb\_repo\_setup | sudo bash

yum install MariaDB-server MariaDB-client -y

systemctl start mariadb && systemctl enable mariadb

\# 初始化数据库(设置root密码、删除空用户、禁用远程root登录)

mysql\_secure\_installation

\# 创建Zabbix数据库并授权

mysql -u root -p

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4\_unicode\_ci;

CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Zabbix@123';

GRANT ALL PRIVILEGES ON zabbix.\* TO 'zabbix'@'localhost';

FLUSH PRIVILEGES;

exit
  • 安装 PHP:
bash 复制代码
yum install epel-release -y

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install php74w php74w-fpm php74w-mysql php74w-gd php74w-xml php74w-json php74w-mbstring php74w-bcmath php74w-zip -y

\# 配置PHP

sed -i 's/short\_open\_tag = Off/short\_open\_tag = On/' /etc/php.ini

sed -i 's/max\_execution\_time = 30/max\_execution\_time = 300/' /etc/php.ini

sed -i 's/memory\_limit = 128M/memory\_limit = 512M/' /etc/php.ini

sed -i 's/post\_max\_size = 8M/post\_max\_size = 16M/' /etc/php.ini

sed -i 's/upload\_max\_filesize = 2M/upload\_max\_filesize = 8M/' /etc/php.ini

sed -i 's/;date.timezone =/date.timezone = Asia/Shanghai/' /etc/php.ini

systemctl start php-fpm && systemctl enable php-fpm
  • 配置 Nginx 对接 PHP:

    创建 /etc/nginx/conf.d/zabbix.conf

bash 复制代码
server {

   listen 80;

   server\_name zabbix-server;

   root /usr/share/zabbix;

   index index.php;

   access\_log /var/log/nginx/zabbix-access.log;

   error\_log /var/log/nginx/zabbix-error.log;

   location / {

       try\_files \$uri \$uri/ =404;

   }

   location \~ \\.php\$ {

       fastcgi\_pass 127.0.0.1:9000;

       fastcgi\_index index.php;

       fastcgi\_param SCRIPT\_FILENAME \$document\_root\$fastcgi\_script\_name;

       include fastcgi\_params;

   }

}

重启 Nginx:systemctl restart nginx

  1. Zabbix Server 部署
  • 安装 Zabbix 源与依赖:
bash 复制代码
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/7/x86\_64/zabbix-release-6.4-1.el7.noarch.rpm

yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf -y
  • 导入数据库脚本:
bash 复制代码
zcat /usr/share/doc/zabbix-server-mysql\*/create.sql.gz | mysql -u zabbix -p zabbix
  • 配置 Zabbix Server:

    修改 /etc/zabbix/zabbix_server.conf

bash 复制代码
DBName=zabbix

DBUser=zabbix

DBPassword=Zabbix@123  # 对应数据库授权密码

LogFile=/var/log/zabbix/zabbix\_server.log

PidFile=/var/run/zabbix/zabbix\_server.pid

SocketDir=/var/run/zabbix
  • 启动服务:
bash 复制代码
systemctl start zabbix-server && systemctl enable zabbix-server
  • Web 界面初始化:

    访问 http://192.168.108.50,按向导完成配置:

  1. 检查依赖(全部通过)→ 输入数据库信息(用户 zabbix,密码 Zabbix@123)→ 配置 Server 名称与端口 → 完成安装。

  2. 登录:默认账号 Admin,密码 zabbix(建议登录后修改密码)。

  1. Agent2 部署与主机监控配置
  • 在被监控主机(mysql001)安装 Agent2:
bash 复制代码
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/7/x86\_64/zabbix-release-6.4-1.el7.noarch.rpm

yum install zabbix-agent2 zabbix-agent2-plugin-mysql -y
  • 配置 Agent2:

    修改 /etc/zabbix/zabbix_agent2.conf

bash 复制代码
Server=192.168.108.50  # Zabbix Server IP

ServerActive=192.168.108.50  # 主动模式下的 Server IP

Hostname=mysql001  # 必须与 Web 界面配置的主机名一致

LogFile=/var/log/zabbix/zabbix\_agent2.log

PidFile=/var/run/zabbix/zabbix\_agent2.pid
  • 启动服务:
bash 复制代码
systemctl start zabbix-agent2 && systemctl enable zabbix-agent2

firewall-cmd --permanent --add-port=10050/tcp && firewall-cmd --reload
  • Web 界面添加主机:
  1. 配置 → 主机 → 创建主机:输入主机名(mysql001)、可见名称、IP 地址(192.168.108.51)。

  2. 模板 → 链接模板:搜索并添加 Template DB MySQL(MySQL 监控模板)、Template OS Linux(Linux 系统监控模板)。

  3. 点击添加,等待 1-2 分钟,查看主机状态为 "已启用"、可用性为 "绿色",表示监控正常。

  1. 告警配置(进阶版)
  • 配置邮件告警(基于 QQ 邮箱):
  1. 安装 mailx:yum install mailx -y

  2. 配置邮箱:vi /etc/mail.rc,添加末尾:

bash 复制代码
set from=xxx@qq.com

set smtp=smtp.qq.com

set smtp-auth-user=xxx@qq.com

set smtp-auth-password=xxx  # QQ 邮箱 SMTP 授权码

set smtp-auth=login

set ssl-verify=ignore
  1. 测试邮件发送:echo "Zabbix 测试邮件" | mailx -s "Zabbix Alarm Test" ``recipient@xxx.com
  • Zabbix 告警媒介配置:
  1. 管理 → 报警媒介类型 → 创建媒体类型:
  • 名称:QQ 邮件告警

  • 类型:脚本

  • 脚本名称:sendmail.sh

  • 脚本参数:{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}

  1. 编写脚本:vi /usr/lib/zabbix/alertscripts/``sendmail.sh,添加:
bash 复制代码
\#!/bin/bash

TO=\$1

SUBJECT=\$2

MESSAGE=\$3

echo "\$MESSAGE" | mailx -s "\$SUBJECT" \$TO

授权:chmod +x /usr/lib/zabbix/alertscripts/``sendmail.shchown zabbix:zabbix /usr/lib/zabbix/alertscripts/``sendmail.sh

  • 配置触发器与动作:
  1. 配置 → 主机 → mysql001 → 触发器 → 创建触发器:
  • 名称:MySQL 服务下线

  • 表达式:{mysql001:net.tcp.service[mysql,3306].last()}<>1(3306 端口未监听)

  • 严重级别:灾难

  1. 配置 → 动作 → 创建动作:
  • 名称:MySQL 服务告警动作

  • 条件:触发器 = MySQL 服务下线

  • 操作:发送到用户(添加 Admin 用户,选择 QQ 邮件告警媒介),设置告警内容(包含主机名、触发器名称、告警时间)。

  • 恢复操作:发送恢复通知(包含恢复时间、持续时长)。

(五)核心功能与实战场景

  • 多维度监控

    • 系统监控:CPU 使用率、内存使用率、磁盘空间、磁盘 I/O、网络带宽。

    • 应用监控:MySQL 连接数、QPS、慢查询数;Nginx 并发连接数、请求数;Java 堆内存、线程数(基于 JMX)。

    • 自定义监控:通过脚本采集业务指标(如订单量、接口响应时间),通过 Zabbix Sender 上报,示例脚本:

bash 复制代码
\#!/bin/bash

\# 采集接口响应时间

RESPONSE\_TIME=\$(curl -o /dev/null -s -w "%{time\_total}" http://api.xxx.com/health)

\# 上报到 Zabbix Server

zabbix\_sender -z 192.168.108.50 -s "mysql001" -k "api.response.time" -o "\$RESPONSE\_TIME"
  • 自动化运维

    • 自动发现:配置网络发现规则(基于 IP 段),自动发现新主机并关联模板。

    • 自动注册:Agent 启动后主动向 Server 注册,自动完成主机添加(适用于批量部署场景)。

    • 动作执行:触发告警时自动执行脚本(如 MySQL 服务下线时自动重启),配置动作的 "操作"→"远程命令":systemctl restart mysqld

  • 报表与可视化

    • 内置报表:可用性报表、响应时间报表、告警统计报表,支持导出 PDF。

    • 自定义仪表盘:添加监控图形(如 CPU 趋势图、MySQL QPS 图)、拓扑图(展示主机与网络设备连接关系)。

    • 大屏展示:通过 Zabbix Screen 或第三方工具(如 Grafana)制作监控大屏。

  • 常见问题排查

    • Agent 无法连接 Server:检查防火墙端口(10050/10051)、Agent 配置文件中的 Server IP 是否正确、SELinux 是否关闭。

    • 监控项无数据:检查 Agent 服务是否运行、监控项键值是否正确(如 net.tcp.service[mysql,3306])、Server 日志(/var/log/zabbix/zabbix_server.log)是否有报错。

    • 告警未触发:检查触发器表达式是否正确、动作条件是否匹配、告警媒介是否配置正常、邮件 / 短信是否发送成功。

三、两者对比与集成方案

(一)详细对比表

特性 ELK(Elastic Stack) Zabbix
核心用途 日志分析、数据检索、业务数据分析 基础设施监控、告警通知、自动化运维
数据类型 非结构化 / 半结构化数据(日志、日志) 结构化数据(监控指标、状态值)
数据处理能力 支持 PB 级日志存储与检索,处理延迟低(秒级) 支持百万级监控指标采集,处理延迟(毫秒级)
可视化能力 强(拖拽式图表、多维度聚合、自定义仪表盘) 中(内置图形、拓扑图、基础报表,可集成 Grafana 增强)
告警功能 依赖 Watcher 插件(商业版 / 基础版),告警规则配置复杂 原生支持灵活告警(多级别、多渠道、动作执行),配置简单
部署复杂度 中高(需配置 ES 集群、Logstash 管道、Kibana 可视化) 中等(LNMP 架构 + Server/Agent 部署,文档完善)
资源占用 高(ES 集群需较多 CPU / 内存 / 磁盘) 低(Agent 轻量,Server 资源占用适中)
扩展性 强(支持横向扩展 ES 集群、添加 Beats 采集器) 强(支持 Proxy 分布式部署、集群模式)
学习成本 中高(需掌握 DSL 查询、Logstash 配置、ES 集群管理) 中等(需掌握模板配置、触发器表达式、告警动作)
典型场景 日志故障排查、安全审计、业务数据分析(如用户行为分析) 服务器 / 应用可用性监控、资源告警、自动化运维(如自动重启服务)
开源版本限制 基础版功能足够,商业版提供 Watcher、机器学习等高级功能 完全开源,无核心功能限制,商业支持可选

(二)ELK 与 Zabbix 集成方案

ELK 与 Zabbix 并非竞争关系,而是互补关系,可通过以下方式集成,实现 "监控 + 日志" 联动:

  1. Zabbix 日志监控(通过 ELK 增强)
  • Zabbix 自带日志监控功能(通过 log[] 监控项),但检索与可视化能力弱,可将 Zabbix Server/Agent 日志发送到 ELK,通过 Kibana 分析 Zabbix 告警日志、Agent 运行日志,辅助排查 Zabbix 自身问题。

  • 配置:在 Zabbix Server 安装 Filebeat,采集 /var/log/zabbix/zabbix_server.log,发送到 ELK,创建 Zabbix 日志索引模式,制作日志分析仪表盘。

  1. ELK 告警联动 Zabbix
  • 通过 Logstash 输出插件将 ELK 中的日志异常(如应用报错日志)发送到 Zabbix,触发 Zabbix 告警,配置 Logstash 输出:
bash 复制代码
output {

 zabbix {

   zabbix\_host => "apache"  # Zabbix 中的主机名

   zabbix\_server\_host => "192.168.108.50"  # Zabbix Server IP

   zabbix\_server\_port => 10051

   key => "elk.log.error"  # Zabbix 中的监控项键值

   value => "%{message}"  # 日志内容

 }

}
  • 在 Zabbix 中创建监控项 elk.log.error(类型为字符型),配置触发器(如日志包含 Fatal 时告警)。
  1. Zabbix 监控数据导入 ELK 可视化
  • 通过 Zabbix API 导出监控数据(如 CPU 使用率、告警数据),导入到 ELK,结合日志数据制作统一仪表盘,实现 "监控指标 + 日志" 一体化可视化。

  • 示例:使用 Python 脚本调用 Zabbix API 获取主机监控数据,通过 Filebeat 发送到 ELK。

(注:文档部分内容可能由 AI 生成)

相关推荐
2301_767902646 小时前
Zabbix
运维·zabbix
神秘面具男0321 小时前
Zabbix 部署与监控
zabbix
神秘面具男031 天前
ELK 企业日志分析系统部署与使用指南
elk
2301_767902641 天前
ELK企业日志分析系统
elk
小马爱打代码1 天前
架构设计:搭建 ELK 日志系统
elk
你什么冠军?2 天前
ELK日志
elk
一心0922 天前
zabbix proxy 参数优化-配置缓存使用率(%)> 85%
缓存·zabbix·zabbix proxy
云和数据.ChenGuang2 天前
elk日志运维工程师技术之故障处理
运维·数据库·elk·jenkins·运维工程师
管理大亨4 天前
电商零售ELK应用:五大核心场景解析
大数据·elk·零售