大数据集群资源监控Zabbix
Posted 小基基o_O
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据集群资源监控Zabbix相关的知识,希望对你有一定的参考价值。
文章目录
概述
- 大数据集群监控,包括资源监控和进程监控
监控的资源如:内存、CPU、硬盘、硬盘IO…
监控的进程如:NameNode
、DataNode
…
监控项 | 示例命令 |
---|---|
内存 | free |
CPU | top |
硬盘 | df 、du |
进程 | top 、ps |
硬盘IO | iotop |
YARN资源 | yarn top |
HDFS硬盘使用 | hadoop fs -df 、hadoop fs -du -s |
-
使用命令不能满足需求,我们需要报警功能以及友好的用户界面,于是引入Zabbix
-
Zabbix是企业级开源监控解决方案
支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标
Zabbix架构简图
Zabbix部署
部署规划 | hadoop105 | hadoop106 | hadoop107 |
---|---|---|---|
zabbix-agent | 1 | 1 | 1 |
zabbix-server | 1 | ||
zabbix-web | 1 |
下述操作使用root,非root用户需要sudo
1、安全相关配置
关闭防火墙(所有节点)
systemctl disable firewalld
systemctl stop firewalld
关闭 SELinux(zabbix-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-server
、zabbix-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、首次访问前端用户界面
- 浏览器访问
http://hadoop105/zabbix/
(没写端口是因为它默认80
) - 配置数据库连接参数,和上面一致
- Zabbix server,
Host
填hadoop105
- 初始用户名
Admin
密码zabbix
- 页面左下角
User settings
设置中文和修改密码
Zabbix使用
主要内容 | 外文名 | 说明 |
---|---|---|
主机 | Host | 需要监控的网络设备,用IP或域名表示 |
监控项 | Item | 例如:内存、CPU、硬盘、进程… |
触发器 | Trigger | 一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式 |
动作 | Action | 一个对事件做出反应的预定义的操作,例如:邮件通知 |
1、创建主机
- 配置->主机群组->创建主机群组
- 配置->主机->创建主机
IP地址写内网地址
绑定主机群组 - 配置->主机->
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扩展名的文件 - YUM(Yellow dog Updater, Modified)
一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器
基于RPM包管理,能够从指定的服务器自动下载RPM包以及安装,并可以自动处理依赖关系 - YUM源
源,是指软件安装包的来源,也称软件仓库
YUM源:使用YUM时,这个软件安装包的来源 .repo
文件
是Fedora中YUM源的配置文件
定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包
以上是关于大数据集群资源监控Zabbix的主要内容,如果未能解决你的问题,请参考以下文章