电商数仓zabbix(代码片段)

周虽旧邦其命维新 周虽旧邦其命维新     2022-12-04     115

关键词:

1 Zabbix入门

1.1 Zabbix概述

Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快

速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。

1.2 Zabbix 基础架构

2 Zabbix部署

2.1 集群规划

进程h102节点h103节点h104节点
zabbix-agent
zabbix-server
MySQL
zabbix-web

2.2 准备工作

2.2.1 关闭集群

如果集群开启,先关闭集群。因为安装Zabbix前,需要重启虚拟机。

cluster.sh stop

2.2.2 关闭防火墙(3台节点,已关闭)

sudo service iptables stop
sudo chkconfig iptables off

sudo service iptables stop
sudo chkconfig iptables off

sudo service iptables stop
sudo chkconfig iptables off

2.2.3 关闭SELinux(hadoop102)

1)修改配置文件/etc/selinux/config

sudo vim /etc/selinux/config

修改如下内容

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

2)重启服务器

sudo reboot

2.3 配置Zabbix yum源(3台节点)

2.3.1 安装yum仓库

1)在h102、h103、h104安装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

2)安装Software Collections仓库

sudo yum install -y centos-release-scl

2.3.2 修改zabbix仓库配置文件

h102、h103、h104三台节点,依次执行如下步骤。

1)修改为阿里云镜像

(1)查看原始zabbix.repo文件

sudo cat /etc/yum.repos.d/zabbix.repo

查看内容如下

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

(2)执行以下命令完成全局替换

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

(3)查看修改之后的zabbix.repo文件

sudo cat /etc/yum.repos.d/zabbix.repo

2)启用zabbix-web仓库

在h102打开/etc/yum.repos.d/zabbix.repo文件,修改zabbix-frontend前端镜像配置

enabled=1

2.4 安装Zabbix

在h102、h103、h104三台节点分别执行以下安装命令

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

2.5 配置zabbix

2.5.1 创建zabbix数据库

2.5.2 导入Zabbix建表语句

zcat /usr/share/doc/zabbix-server-mysql-5.0.23/create.sql.gz | mysql -uroot -pxxx -h xx.xx zabbix

2.5.3 配置Zabbix_Server(h102)

修改zabbix-server配置文件

sudo vim /etc/zabbix/zabbix_server.conf
DBHost=h102
DBName=zabbix
DBUser=root
DBPassword=000000

2.5.4 配置Zabbix_Agent(三台节点)

修改zabbix-agent配置文件

sudo vim /etc/zabbix/zabbix_agentd.conf

修改如下内容:

Server=h102
#ServerActive=127.0.0.1
#Hostname=Zabbix server

2.5.5 配置Zabbix_Web时区

修改/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

2.6 启动停止Zabbix

2.6.1 启动Zabbix

zabbix-server所在服务器:

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 start zabbix-agent
sudo systemctl enable zabbix-agent

2.6.2 停止Zabbix

zabbix-server所在服务器:

sudo systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl disable zabbix-server zabbix-agent httpd rh-php72-php-fpm

监控服务器:

sudo systemctl stop zabbix-agent
sudo systemctl disable zabbix-agent

2.6.3 连接Zabbix_Web数据库

浏览器访问http://h102/zabbix/

在浏览器页面配置数据库连接信息、zabbix-server地址等。

2.6.4 登录Zabbix

1)用户名密码如下

用户名:Admin 密码:zabbix

2)点击User Settings,语言设成中文

3 Zabbix使用

3.1 Zabbix术语

3.1.1 主机(Host)

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

3.1.2 监控项(Item)

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

3.1.3 触发器(Trigger)

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

3.1.4 动作(Action)

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

3.2 Zabbix实战

3.2.1 创建Host

1)点击配置/主机/创建主机

2)配置主机(Host)

3.2.2 创建监控项(Items)

监控项中的键值配置官网文档,搜索zabbix agent key

3.2.3 创建触发器(Trigger)

点击配置/主机/触发器

3.2.4 创建动作(Action)

点击配置/动作/创建动作

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

点击user settings/报警媒介类型/添加

3.3 创建模板

1)点击配置/模板/创建模板

2)为模板配置监控项和触发器

3)为192.168.1.xxx应用模板

4)在动作中添加模板的触发器

4 集成Grafana

4.1 部署Grafana

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

2.将安装包上传到h102主机的/opt/software路径

3.使用rpm安装Grafana

sudo rpm -ivh grafana-7.4.3-1.x86_64.rpm

安装报错提示:

warning: grafana-7.4.3-1.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 24098cb6: NOKEY
error: Failed dependencies:
	urw-fonts is needed by grafana-7.4.3-1.x86_64

看着是少了一个字体依赖,使用yum安装

yum -y install urw-fonts

再次安装成功。

4.启动Grafana

sudo systemctl start grafana-server

5.访问Grafana页面

访问地址为:http://h102:3000/

首次登录用户名和密码均为 admin

4.2 快速入门

1.创建Dashboard

2.新建panel

3.选择数据源,此处选择Grafana提供的随机测试数据

4.3 集成Zabbix

4.3.1 配置数据源

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

1.点击下图所示按钮,增加数据源

2.选择所需数据源

3.如没有所需数据源,点击下图所示地址,获取更多数据源

4.搜索zabbix,并点击搜索结果

5.按照所需插件的说明进行部署

6.以下是插件部署步骤

1)安装插件

sudo grafana-cli plugins install alexanderzobnin-zabbix-app

2)重启Grafana

sudo systemctl restart grafana-server

3)启用插件

(1)点击设置/插件

7.配置zabbix数据源

1)新增数据源

2)搜索zabbix,并点击搜索结果

3)配置数据源

4.3.2 集成案例

1.为方便展示效果,在Zabbix中为h102主机应用一个Zabbix内置的Linux系统监控模板。

1)找到h102主机

2)配置要监控的zabbix数据源、zabbix群组,主机、Metrics等

可以看到还是显示no data,检查服务器时间,发现服务器时间是格林乔治时间,但是又不能重启服务器,等明早再看了。

离开后可以从edit回到配置页面

早上起来看已经有监控指标数据了

电商数仓数仓环境搭建(代码片段)

1、hive环境搭建1.1、hive引擎简介Hive引擎包括:默认MR、tez、sparkHiveonSpark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。SparkonHive:Hive只作为存储元数据&... 查看详情

电商数仓hbase(代码片段)

1hbase解压安装首先保证Zookeeper集群的正常部署,并启动,Hadoop集群正常部署并启动解压Hbase到指定目录:tar-zxvfhbase-2.0.5-bin.tar.gz-C/opt/module2修改hbase配置文件1.hbase-env.sh修改内容:exportHBASE_MANAGES_ZK=false2.h 查看详情

尚硅谷电商数仓flume写入hdfs报错(代码片段)

使用Flume消费kafka中数据,sink到hdfs中出现数据压缩格式支持错误;java.lang.IllegalArgumentException:Unsupportedcompressioncodeclzop.Pleasechoosefrom:[None,BZip2Codec,DefaultCodec,DeflateCodec,GzipCodec,Lz4Codec 查看详情

尚硅谷电商数仓flume写入hdfs报错(代码片段)

使用Flume消费kafka中数据,sink到hdfs中出现数据压缩格式支持错误;java.lang.IllegalArgumentException:Unsupportedcompressioncodeclzop.Pleasechoosefrom:[None,BZip2Codec,DefaultCodec,DeflateCodec,GzipCodec,Lz4Codec 查看详情

尚硅谷电商数仓flume写入hdfs报错(代码片段)

使用Flume消费kafka中数据,sink到hdfs中出现数据压缩格式支持错误;java.lang.IllegalArgumentException:Unsupportedcompressioncodeclzop.Pleasechoosefrom:[None,BZip2Codec,DefaultCodec,DeflateCodec,GzipCodec,Lz4Codec 查看详情

电商数仓——(师承尚硅谷)大数据实战项目(代码片段)

数仓实战1.概念技术选型:搭建环境三台ECS创建wts用户:useraddwtspasswdwts输入两边密码cd/home有无wts?让wts有sudoer权力:[root@hadoop100~]#vim/etc/sudoers修改/etc/sudoers文件,在%wheel这行下面添加一行,如下所示&# 查看详情

大数据项目之电商数仓-业务数据仓库(代码片段)

电商业务流程简介电商术语SKU,库存量单位,即库存进出计量的基本单元,可以是以件,盒,托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。现在已经被引申为产... 查看详情

电商数仓笔记1(数据仓库概念,项目需求及架构设计,数据生成模块)(代码片段)

电商数仓一、数据仓库概念二、项目需求及架构设计1、项目需求分析2、项目框架(1)技术选型(2)系统数据流程设计(3)框架版本选型(4)服务器选型(5)集群规模(6)集群资... 查看详情

数据仓库之电商数仓--1用户行为数据采集(代码片段)

目录一、数据仓库概念二、项目需求及架构设计2.1项目需求分析2.2项目框架2.2.1技术选型2.2.2系统数据流程设计2.2.3框架版本选型2.2.4服务器选型2.2.5集群规模2.2.6集群资源规划设计三、数据生成模块3.1目标数据3.1.1页面日志3.1.2事... 查看详情

大数据项目之电商数仓-用户行为数据采集(代码片段)

数据仓库简介数据仓库是为企业所有决策制定过程,提供所有系统数据支持的战略集合,通过数据仓库中的数据的分析,可以帮助企业改进业务流程、控制成本、提高产品质量等。项目需求实时采集买点的用户行为数... 查看详情

大数据项目之电商数仓-用户行为数据仓库(代码片段)

数据仓库分层把复杂问题简单化,把一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解清晰的数据结构,每一层都有它的作用域,这样我们在使用表的时候能更方便的定... 查看详情

电商数仓hbase(代码片段)

1hbase解压安装首先保证Zookeeper集群的正常部署,并启动,Hadoop集群正常部署并启动解压Hbase到指定目录:tar-zxvfhbase-2.0.5-bin.tar.gz-C/opt/module2修改hbase配置文件1.hbase-env.sh修改内容:exportHBASE_MANAGES_ZK=false2.hbase-site.xm... 查看详情

大数据项目之电商数仓-用户行为数据采集(代码片段)

数据仓库简介数据仓库是为企业所有决策制定过程,提供所有系统数据支持的战略集合,通过数据仓库中的数据的分析,可以帮助企业改进业务流程、控制成本、提高产品质量等。项目需求实时采集买点的用户行为数... 查看详情

电商数仓azkaban(代码片段)

1、azkaban概论1.1为什么需要工作流调度系统1)一个完整的数据分析系统通常都是由大量任务单元组成:Shell脚本程序,Java程序,MapReduce程序、Hive脚本等2)各任务单元之间存在时间先后及前后依赖关系3)为... 查看详情

大数据项目之电商数仓-业务数据仓库(代码片段)

电商业务流程简介电商术语SKU,库存量单位,即库存进出计量的基本单元,可以是以件,盒,托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。现在已经被引申为产... 查看详情

数仓埋点体系与归因实践(代码片段)

...5.未来展望导读:当今是流量为王时代,严选作为电商,流量建设就显得尤为重要。流量数据建设比业务数据困难,因为其数据源本身是一 查看详情

数仓埋点体系与归因实践(代码片段)

...5.未来展望导读:当今是流量为王时代,严选作为电商,流量建设就显得尤为重要。流量数据建设比业务数据困难,因为其数据源本身是一 查看详情

大数据项目之电商数仓数据仓库概念项目需求及架构设计(代码片段)

...1a;就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站后台数据库进行增删改查交互,产生的数据就是业务数据。业务数据通常存储在MySQL、Oracle等数据库中。  用... 查看详情