集群监控Zabbix和Prometheus

一、Zabbix入门概述

1、Zabbix概述

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

2、Zabbix 基础架构

3、Zabbix部署

官网:https://www.zabbix.com/cn/download

3.1 前提环境准备

# 如果集群开启,先关闭集群。因为安装Zabbix前,需要重启虚拟机。如果之前弄过了就不需要了
cluster.sh stop
# 关闭防火墙(3台节点,已关闭)
sudo service iptables stop
sudo chkconfig iptables off

# 关闭SELinux(hadoop102)
# 修改配置文件/etc/selinux/config
sudo vim /etc/selinux/config
# 修改
SELINUX=disabled
# 重启服务器

# ================配置Zabbix yum源(3台节点)==========
# 安装yum仓库,安装zabbix的yum仓库,三台机器都要运行
sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 安装Software Collections仓库
sudo yum install -y centos-release-scl


# =============修改zabbix仓库配置文件(三台节点)===========
# 修改为阿里云镜像
# 查看原始zabbix.repo文件
sudo cat /etc/yum.repos.d/zabbix.repo
# 执行以下命令完成全局替换
sudo sed -i 's/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
# 查看修改之后的zabbix.repo文件
sudo cat /etc/yum.repos.d/zabbix.repo

# 启用zabbix-web仓库,仅在102机器进行修改
# 打开/etc/yum.repos.d/zabbix.repo文件,做如下修改
[zabbix-frontend]
...
enabled=1
...

3.2 安装Zabbix

# 在hadoop102、hadoop103、hadoop104三台节点分别执行以下安装命令
sudo yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl
# hadoop103
sudo yum install -y zabbix-agent
# hadoop104
sudo yum install -y zabbix-agent

3.3 配置Zabbix

# 创建zabbix数据库
mysql -uroot -p123456 -e"create database zabbix character set utf8 collate utf8_bin"
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p123456 zabbix

# 配置Zabbix_Server(hadoop102)
# 修改zabbix-server配置文件
sudo vim /etc/zabbix/zabbix_server.conf
DBHost=hadoop102
DBName=zabbix
DBUser=root
DBPassword=123456

# 配置Zabbix_Agent(三台节点),server都写hadoop102
# 修改zabbix-agent配置文件
sudo vim /etc/zabbix/zabbix_agentd.conf
# 修改如下内容:使用被动模式,等待proxy查询,而不是主动发送
Server=hadoop102
#ServerActive=127.0.0.1
#Hostname=Zabbix server

# 配置Zabbix_Web时区,102
# 修改/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf文件
sudo vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 最后一行改
php_value[date.timezone] = Asia/Shanghai

3.4 启动停止Zabbix

# 102启动与停止
sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl disable zabbix-server zabbix-agent httpd rh-php72-php-fpm
# 103,104启动与停止
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
sudo systemctl stop zabbix-agent
sudo systemctl disable zabbix-agent

然后连接Zabbix_Web数据库,浏览器访问http://hadoop102/zabbix/,然后按照步骤填写

最后登陆,用户名:Admin 密码:zabbix

二、Zabbix的使用与集成

1、Zabbix常用术语

  • 主机(Host)

    一台你想监控的网络设备,用IP或域名表示

  • 监控项(Item)

    你想要接收的主机的特定数据,一个度量数据

  • 触发器(Trigger)

    一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式

  • 动作(Action)

    一个对事件做出反应的预定义的操作,比如邮件通知

2、Zabbix实战

2.1 创建Host

  • 进入UI界面点击配置/主机/创建主机
  • 配置主机(Host),主机名称填写hadoop102,群组填写hadoop(自动新增),填写agent所在ip,保存,重复以上步骤,再创建hadoop103、hadoop104主机

2.2 创建监控项(Items)

文档资料:https://www.zabbix.com/documentation/5.0/zh/manual/config/items/itemtypes/zabbix_agent

在一台主机(例如hadoop102)点击监控项(Items),点击创建监控项(Create Item)配置监控项(Item)这里我以查询datanode的进程数为例,配置完成后即可查看监控项最新数据

2.3 创建触发器(Trigger)

  • 点击配置/主机/触发器
  • 点击创建触发器,编辑触发器

2.4 创建报警媒介类型(Media type)

点击管理/报警媒介类型/Email,编辑Email

然后在用户设置里Email绑定收件人

2.5 创建动作(Action)

点击配置/动作/创建动作,编辑动作(Action)

2.6 测试

# 关闭集群中的HDFS,会有如下效果
sbin/stop-dfs.sh
# 查看仪表盘与邮件

2.7 Zabbix模板创建

里面可以发现有很多已经内置好的模板,可以直接拿来使用。如果要自己创建,点击配置/模板/创建模板,配置模板名称/群组,配置监控项,配置触发器;然后配置动作,将这几个触发器连接到动作。最后去主机为hadoop103应用模板

3、集成Grafana入门

3.1 部署Grafana

官方仓库:https://dl.grafana.com/oss/release/grafana-7.4.3-1.x86_64.rpm

国内镜像:https://repo.huaweicloud.com/grafana/7.4.3/grafana-7.4.3-1.x86_64.rpm

wget https://repo.huaweicloud.com/grafana/7.4.3/grafana-7.4.3-1.x86_64.rpm
# 使用rpm安装Grafana
sudo rpm -ivh grafana-7.4.3-1.x86_64.rpm
# 启动Grafana
sudo systemctl start grafana-server
# 访问地址为:http://hadoop102:3000/
# 首次登录用户名和密码均为 admin

3.2 集成Zabbix

使用Grafana与其他系统集成时,需要配置对应的DataSource

# 搜索无法找到,需要先自行下载zabbix插件
# 拉到最下面或者访问:https://grafana.com/grafana/plugins/?utm_source=grafana_add_ds
# 按照所需插件的说明进行部署
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
sudo systemctl restart grafana-server

# 然后点击plungin选择启动zabbix插件,之后数据源就可以找到该zabbix了

下面举例一个集成案例,在Zabbix中为hadoop102主机应用一个Zabbix内置的Linux系统监控模板,选择主机hadoop102,点击模板,搜索linux,并选择Template OS Linux by Zabbix agent;下一步集成Grafana,展示模板中的系统监控项,选择要展示的监控项

相关推荐

  1. Linux上的监控工具:ZabbixPrometheus、APMELK

    2023-12-14 05:38:04       6 阅读
  2. K8s: Prometheus 监控主机 K8s

    2023-12-14 05:38:04       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-14 05:38:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-14 05:38:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-14 05:38:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-14 05:38:04       18 阅读

热门阅读

  1. 数据可视化设计:让数据故事更有说服力

    2023-12-14 05:38:04       36 阅读
  2. http各个状态码含义

    2023-12-14 05:38:04       42 阅读
  3. django--分页功能

    2023-12-14 05:38:04       39 阅读
  4. TS中断言、转换的应用

    2023-12-14 05:38:04       32 阅读
  5. Django之侧边栏抽取(inclusion_tag)

    2023-12-14 05:38:04       36 阅读
  6. Kubernetes集群Pod介绍

    2023-12-14 05:38:04       33 阅读
  7. MySQL_10.MySQL体系架构

    2023-12-14 05:38:04       34 阅读
  8. Windows系统使用wsl执行shell脚本报错解决

    2023-12-14 05:38:04       51 阅读
  9. 在ajax中如何使用jquery循环。

    2023-12-14 05:38:04       40 阅读