大数据集群资源监控Zabbix

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据集群资源监控Zabbix相关的知识,希望对你有一定的参考价值。

文章目录

概述

  • 大数据集群监控,包括资源监控进程监控
    监控的资源如:内存、CPU、硬盘、硬盘IO…
    监控的进程如:NameNodeDataNode
监控项示例命令
内存free
CPUtop
硬盘dfdu
进程topps
硬盘IOiotop
YARN资源yarn top
HDFS硬盘使用hadoop fs -dfhadoop fs -du -s
  • 使用命令不能满足需求,我们需要报警功能以及友好的用户界面,于是引入Zabbix

  • Zabbix是企业级开源监控解决方案
    支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标

Zabbix架构简图

Zabbix部署

部署规划hadoop105hadoop106hadoop107
zabbix-agent111
zabbix-server1
zabbix-web1

下述操作使用root,非root用户需要sudo

1、安全相关配置

关闭防火墙(所有节点)

systemctl disable firewalld
systemctl stop firewalld

关闭 SELinuxzabbix-server所在节点)

vim /etc/selinux/config
SELINUX=disabled

关闭 SELinux 后,按需重启

reboot

2、安装Zabbix

配置Zabbix的yum源(所有节点)

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

安装Software Collections仓库(所有节点)

yum install -y centos-release-scl

修改Zabbix的yum源配置,使用阿里云镜像(所有节点)(可选)

sed -i 's/http:\\/\\/repo.zabbix.com/https:\\/\\/mirrors.aliyun.com\\/zabbix/g' /etc/yum.repos.d/zabbix.repo

修改Zabbix的yum源配置,批准Zabbix前端(zabbix-web所在节点)

vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
enabled=1

安装zabbix-serverzabbix-web、web容器(hadoop105

yum install -y zabbix-server-mysql zabbix-web-mysql-scl zabbix-apache-conf-scl

安装zabbix-agent(所有节点)

yum install -y zabbix-agent

3、配置Zabbix

在MySQL建库,用于存储Zabbix的数据(数据库所在节点,本文为hadoop105

mysql -uroot -p123456 -e'create database zabbix character set utf8 collate utf8_bin'

导入Zabbix建表语句

zcat /usr/share/doc/zabbix-server-mysql-5.0.*/create.sql.gz | mysql -uroot -p密码 zabbix

配置Zabbix-Server的数据库连接参数(hadoop105

vim /etc/zabbix/zabbix_server.conf
DBHost=hadoop105
DBName=zabbix
DBUser=root
DBPassword=123456

配置Zabbix-Web时区(hadoop105

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

配置Zabbix-Agent地址(所有节点)

vim /etc/zabbix/zabbix_agentd.conf
Server=hadoop105

Zabbix-Web的数据库连接配置等下去页面配

4、启动Zabbix

启动zabbix-server和Zabbix前端(hadoop105

systemctl start zabbix-server httpd rh-php72-php-fpm

启动zabbix-agent(所有节点)

systemctl start zabbix-agent

5、首次访问前端用户界面

  1. 浏览器访问http://hadoop105/zabbix/(没写端口是因为它默认80
  2. 配置数据库连接参数,和上面一致
  3. Zabbix server,Hosthadoop105
  4. 初始用户名Admin密码zabbix
  5. 页面左下角User settings设置中文和修改密码

Zabbix使用

主要内容外文名说明
主机Host需要监控的网络设备,用IP或域名表示
监控项Item例如:内存、CPU、硬盘、进程…
触发器Trigger一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式
动作Action一个对事件做出反应的预定义的操作,例如:邮件通知

1、创建主机

  1. 配置->主机群组->创建主机群组
  2. 配置->主机->创建主机
    IP地址写内网地址
    绑定主机群组
  3. 配置->主机->Zabbix server
    修改IP地址

2、创建监控项

配置->主机

监控硬盘

监控内存

常用内存参数说明
total总物理内存
free可用内存
active内存当前使用或最近使用,所以它在RAM中
inactive未使用内存
wired被标记为始终驻留在RAM中的内存,不会移动到磁盘
buffers缓存文件系统元数据
cached缓存为不同事情
shared可以同时被多个进程访问的内存
used a c t i v e + w i r e d active + wired active+wired
pused ( a c t i v e + w i r e d ) / t o t a l × 100 % (active + wired) / total \\times 100 \\% (active+wired)/total×100%
available i n a c t i v e + c a c h e d + f r e e inactive + cached + free inactive+cached+free
pavailable ( i n a c t i v e + c a c h e d + f r e e ) / t o t a l × 100 % (inactive + cached + free) / total \\times 100 \\% (inactive+cached+free)/total×100%

监控CPU

监控进程

以监控NameNode为例,先查看NameNode的命令行

ps -ef | grep datanode


再去页面配置proc.num[<name>,<user>,<state>,<cmdline>],条件越多匹配越精准

3、触发器

配置->主机

触发规则示例:最后一次NameNode监测值<1

4、动作

Zabbix仪表盘

监测 仪表盘 创建仪表盘 添加构件 类型 图形 选择主机及其监控项


Appendix

  • RPM软件包管理器Red-Hat Package Manager)
    红帽软件包管理器
    一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件
  • YUMYellow dog Updater, Modified)
    一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器
    基于RPM包管理,能够从指定的服务器自动下载RPM包以及安装,并可以自动处理依赖关系
  • YUM源
    源,是指软件安装包的来源,也称软件仓库
    YUM源:使用YUM时,这个软件安装包的来源
  • .repo文件
    是Fedora中YUM源的配置文件
    定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包

以上是关于大数据集群资源监控Zabbix的主要内容,如果未能解决你的问题,请参考以下文章

两种监控软件ganglia与zabbix各自的搭建

一篇运维老司机的大数据平台监控宝典-联通大数据集群平台监控体系进程详解

大数据集群硬盘资源监控

大数据集群硬盘资源监控

大数据资源监控—— IDC机房集群指标获取

zabbix监控redis集群状态