• 【电商数仓】数仓BI工具集成之Zabbix入门、部署、配置、启停、使用


    一 Kylin BI工具集成

    可以与Kylin结合使用的可视化工具很多,例如:

    ODBC:与Tableau、Excel、PowerBI等工具集成

    JDBC:与Saiku、BIRT等Java工具集成

    RestAPI:与JavaScript、Web网页集成

    Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。

    1 JDBC

    新建项目并导入依赖

        
            
                org.apache.kylin
                kylin-jdbc
                3.0.2
            
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    编码

    public class TestKylin {
    
        public static void main(String[] args) throws Exception {
    
            //Kylin_JDBC 驱动
            String KYLIN_DRIVER = "org.apache.kylin.jdbc.Driver";
    
            //Kylin_URL
            String KYLIN_URL = "jdbc:kylin://hadoop101:7070/FirstProject";
    
            //Kylin的用户名
            String KYLIN_USER = "ADMIN";
    
            //Kylin的密码
            String KYLIN_PASSWD = "KYLIN";
    
            //添加驱动信息
            Class.forName(KYLIN_DRIVER);
    
            //获取连接
            Connection connection = DriverManager.getConnection(KYLIN_URL, KYLIN_USER, KYLIN_PASSWD);
    
            //预编译SQL
            PreparedStatement ps = connection.prepareStatement("SELECT sku_id,sum(split_final_amount) FROM dwd_order_detail group by sku_id");
    
            //执行查询
            ResultSet resultSet = ps.executeQuery();
    
            //遍历打印
            while (resultSet.next()) {
                System.out.println(resultSet.getString(1));
                System.out.println(resultSet.getDouble(1));
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    2 Zepplin

    (1)Zepplin安装与启动

    # 将zeppelin-0.8.0-bin-all.tgz上传至Linux
    # 解压zeppelin-0.8.0-bin-all.tgz之/opt/module
    [hzy@hadoop101 sorfware]$ tar -zxvf zeppelin-0.8.0-bin-all.tgz -C /opt/module/
    # 修改名称
    [hzy@hadoop101 module]$ mv zeppelin-0.8.0-bin-all/ zeppelin
    # 启动
    [hzy@hadoop101 zeppelin]$ bin/zeppelin-daemon.sh start
    # 可登录网页查看,web默认端口号为8080
    # 端口可以在conf目录下进行修改,解决端口冲突
    cp zeppelin-site.xml.template zeppelin-site.xml
    http://hadoop101:8080
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    (2)配置Zepplin支持Kylin

    点击右上角anonymous选择Interpreter

    在这里插入图片描述

    搜索Kylin插件并修改相应的配置
    在这里插入图片描述

    修改完成点击Save完成
    在这里插入图片描述

    点击Notebook创建新的note
    在这里插入图片描述

    填写Note Name点击Create
    在这里插入图片描述

    执行查询
    在这里插入图片描述

    二 Zabbix入门

    1 Zabbix概述

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

    监控的作用

    • 收集集群的运行状态
    • 如果集群状态出现了异常,能够进行报警

    2 Zabbix 基础架构

    在这里插入图片描述

    三 Zabbix部署

    1 集群规划

    进程hadoop101节点hadoop102节点hadoop103节点
    zabbix-agent
    zabbix-server
    MySQL
    zabbix-web

    2 准备工作

    (1)关闭集群

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

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

    [hzy@hadoop101 ~]$ sudo service iptables stop
    [hzy@hadoop101 ~]$ sudo chkconfig iptables off
    
    [hzy@hadoop102 ~]$ sudo service iptables stop
    [hzy@hadoop102 ~]$ sudo chkconfig iptables off
    
    [hzy@hadoop103 ~]$ sudo service iptables stop
    [hzy@hadoop103 ~]$ sudo chkconfig iptables off
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    (3)关闭SELinux(hadoop101)

    SELinux是linux一项安全措施,能够将权限收紧

    # 修改配置文件/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
    
    # 重启服务器
    sudo reboot
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

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

    (1)安装yum仓库

    # 安装zabbix的yum仓库
    [hzy@hadoop101 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    [hzy@hadoop102 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    [hzy@hadoop103 ~]$ 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仓库
    [hzy@hadoop101 ~]$ sudo yum install -y centos-release-scl
    [hzy@hadoop102 ~]$ sudo yum install -y centos-release-scl
    [hzy@hadoop103 ~]$ sudo yum install -y centos-release-scl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    (2)修改zabbix仓库配置文件

    hadoop101、hadoop102、hadoop103三台节点,依次执行如下步骤。

    修改为阿里云镜像

    # 查看原始zabbix.repo文件
    [hzy@hadoop101 ~]$ 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
    
    # 执行以下命令完成全局替换
    [hzy@hadoop101 ~]$ sudo sed -i 's/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
    
    # 查看修改之后的zabbix.repo文件
    [hzy@hadoop101 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo
    
    # 查看内容如下
    [zabbix]
    name=Zabbix Official Repository - $basearch
    baseurl=https://mirrors.aliyun.com/zabbix/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=https://mirrors.aliyun.com/zabbix/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=https://mirrors.aliyun.com/zabbix/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=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    gpgcheck=1
    
    # 启用zabbix-web仓库
    # 打开/etc/yum.repos.d/zabbix.repo文件,做如下修改
    [zabbix]
    name=Zabbix Official Repository - $basearch
    baseurl=https://mirrors.aliyun.com/zabbix/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=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
    
    [zabbix-debuginfo]
    name=Zabbix Official Repository debuginfo - $basearch
    baseurl=https://mirrors.aliyun.com/zabbix/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=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    gpgcheck=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96

    4 安装Zabbix

    # 在hadoop101、hadoop102、hadoop103三台节点分别执行以下安装命令
    [hzy@hadoop101 ~]$ sudo yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl
    [hzy@hadoop102 ~]$ sudo yum install -y zabbix-agent
    [hzy@hadoop103 ~]$ sudo yum install -y zabbix-agent
    
    • 1
    • 2
    • 3
    • 4

    四 配置Zabbix

    # 创建zabbix数据库
    [hzy@hadoop101 ~]$ mysql -uroot -p000000 -e"create database zabbix character set utf8 collate utf8_bin"
    # 进入数据库,查看zabbix是否存在
    mysql -uroot -p000000
    show databases;
    
    # 导入Zabbix建表语句
    # zcat:查看gz包下的程序
    [hzy@hadoop101 ~]$ zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz | mysql -uroot -p000000 zabbix
    use zabbix
    show tables;
    # 已经创建166张表
    
    # 配置Zabbix_Server(hadoop101)
    # 修改zabbix-server配置文件
    [hzy@hadoop101 ~]$ sudo vim /etc/zabbix/zabbix_server.conf
    
    DBHost=hadoop101
    DBName=zabbix
    DBUser=root
    DBPassword=000000
    
    # 配置Zabbix_Agent(三台节点)
    # 修改zabbix-agent配置文件
    [hzy@hadoop101 ~]$ sudo vim /etc/zabbix/zabbix_agentd.conf
    # 修改如下内容:Server:后台被动发现的Server,ServerActive:将来如果触发了主动操作的插件,agent会主动查找这个ServerActive注册自己,为了减小Server端被动发现的负载,如果一个集群有很多机器,Server主动找agent需要找很多台机器,反之,让agent主动注册就很方便
    Server=hadoop101
    ServerActive= hadoop101
    #Hostname=Zabbix server   将此项注释掉
    
    # 配置Zabbix_Web时区
    # 修改/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf文件
    [hzy@hadoop101 ~]$ sudo vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    # 修改如下内容:
    [zabbix]
    user = apache
    group = apache
    
    listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
    listen.acl_users = apache
    listen.allowed_clients = 127.0.0.1
    
    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 5
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35
    
    php_value[session.save_handler] = files
    php_value[session.save_path]    = /var/opt/rh/rh-php72/lib/php/session/
    
    php_value[max_execution_time] = 300
    php_value[memory_limit] = 128M
    php_value[post_max_size] = 16M
    php_value[upload_max_filesize] = 2M
    php_value[max_input_time] = 300
    php_value[max_input_vars] = 10000
    php_value[date.timezone] = Asia/Shanghai
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    五 启动停止Zabbix

    1 启动Zabbix

    [hzy@hadoop101 ~]$ sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
    [hzy@hadoop101 ~]$ sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
    
    [hzy@hadoop102 ~]$ sudo systemctl start zabbix-agent
    [hzy@hadoop102 ~]$ sudo systemctl enable zabbix-agent
    
    [hzy@hadoop103 ~]$ sudo systemctl start zabbix-agent
    [hzy@hadoop103 ~]$ sudo systemctl enable zabbix-agent
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2 停止Zabbix

    [hzy@hadoop101 ~]$ sudo systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm
    [hzy@hadoop101 ~]$ sudo systemctl disable zabbix-server zabbix-agent httpd rh-php72-php-fpm
    
    [hzy@hadoop102 ~]$ sudo systemctl stop zabbix-agent
    [hzy@hadoop102 ~]$ sudo systemctl disable zabbix-agent
    
    [hzy@hadoop103 ~]$ sudo systemctl stop zabbix-agent
    [hzy@hadoop104 ~]$ sudo systemctl disable zabbix-agent
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3 连接Zabbix_Web数据库

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

    在这里插入图片描述

    检查配置 – next step

    配置数据库 – 依次为 MySQL + hadoop101 + 0 + zabbix + root + 000000 将TLS加密去掉 – next step

    配置zabbix-server – 依次为 hadoop101 + 10051 + name可以不填 一路next

    4 登录Zabbix

    用户名:Admin 密码:zabbix

    在这里插入图片描述

    点击User Settings,语言设成中文

    六 Zabbix使用

    1 Zabbix术语

    • 主机(Host):一台你想监控的网络设备,用IP或域名表示。
    • 监控项(Item):你想要接收的主机的特定数据,一个度量数据。
    • 触发器(Trigger):一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式。
    • 动作(Action):一个对事件做出反应的预定义的操作,比如邮件通知。

    2 创建Host

    点击配置/主机/创建主机、配置主机(Host)、查看新增(Host)

    • 主机名称:要配置机器的ip地址
    • 群组:Linux Servers 选择哪个都可以,可以多选
    • DNS名称:要配置机器的ip地址,连接到【DNS】,端口默认10050,点击添加

    稍等一下,可用性中的ZBX会高亮,表示此台机器配置成功

    3 创建监控项(Items)

    • 目前没有监控机器的任何指标,点击监控项 – 创建监控项(监控NN)
      • 名称:监控NN
      • 类型:选择Zabbix客户端
        • Zabbix客户端、Zabbix客户端主动式:通过这个节点上的Zabbix agent来监控机器上的进程
        • 简单检查:通过Server使用一些简单的手段去监控机器上的信息,能够做的事情非常少,主要是一些网络的操作,如检查tcp、udp是否活动、某个端口是否开启等
        • Zabbix内部:检查Zabbix内部的一些信息
        • 数据库监控:通过odbc协议连接各种支持此协议的数据库,存在bug,使用不方便
        • SSH客户端:通过运行一条SSH命令,查看命令的返回结果进行监控,如监控一个文件夹是否存在,可以运行ssh test -d 文件夹名
      • 健值:proc.num[,all,namenode]
      • 主机接口:hadoop101:10050
      • 信息类型:命令返回的结果,选择数字(无正负)
      • 单位:自定义
      • 更新间隔:5s,5s种检查一次端口是否正常运行
      • 自定义时间间隔:自定义
      • 历史数据保留时长、趋势存储时间:选择第二个

    点击测试,get value and test 显示结果为1,说明端口正常运行,点击添加,成功获取第一个监控项

    点击监测 – 主机 – 点击已经添加的主机 – 最新数据 – 可以查看到监控项及结果

    4 创建触发器(Trigger)

    点击配置 – 主机 – 触发器

    • 主机群组:Linux Servers
    • 主机:hadoop101
    • 右上角点击【创建触发器】
    • 名称:进行停止则触发
    • 严重性:触发之后,报告的级别,选择【严重】
    • 表达式:点击【添加】
      • 监控项 – 【选择】,选择想要监控的监控项
      • 最后的结果=0:表示=0则触发这个触发器
    • 其余选项默认,点击添加后,可看到状态为【已启用】

    这时,在仪表盘中,如果NN出现问题,在【问题】一栏会出现配置的触发器

    5 创建动作(Action)

    点击配置 – 动作 – 左上角选择【trigger actions】 – 右上角创建动作

    • 动作:
      • 名称:一般严重及以上级别信息发送邮件
      • 条件:触发器示警度 大于等于 一般严重
    • 操作:
      • 操作 – 添加
        • 操作类型:发送消息
        • send to users:Admin
        • 仅送到:Email
        • 其余选项自定义,add
      • 其余选项自定义,添加

    6 设置发送邮件邮箱

    邮件报警,可以采用126、163、qq等邮箱。

    点击邮箱账号 – 账号管理 – 开启SMTP服务 – 一定要记住授权码

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

    点击 管理 – 用户 – Admin – 报警媒介 – 添加

    • 类型:Email
    • 收件人:邮箱地址
    • 当启用时:何时发送邮件
    • 其余默认设置

    点击 – 管理 – 报警媒介类型 – Email

    • 名称:Email
    • 类型:电子邮件
    • SMTP服务器:服务器地址,如smtp.126.com
    • 服务端口
      • 25:非加密端口,一般不使用
      • 465:SSL加密端口,使用最多
      • 587:STARTTLS加密端口
    • 安全链接:SSL/TLS,有些邮件运行商不提供SSL服务,灵活修改
    • SMTP HELO:smtp.126.com
    • SMTP电邮:邮箱地址
    • 用户名:邮箱地址
    • 密码:授权码
    • 更新

    点击 测试 收件人填写邮箱地址,测试成功可在邮箱收到一封测试邮件

    总结:新建主机 – 主机内新建一个监控项 – 监控项能触发警报 – 触发后给用户发邮件

    8 测试

    关闭NN,仪表盘会触发警报,邮箱中会收到邮件

    9 创建模板

    模板:提前做好了监控项和触发器

    点击配置 – 模板 – 选择现有模板【Template App Hadoop By HTTP】 新建模板也可以

    点击【宏】可以自定义

    • 第二项:想要监控的机器地址,如localhost
    • 第五项:localhost
    • 查看端口是否正确
    • 点击更新

    现在就有了一个监控hadoop的模板

    配置 – 主机 – 选择主机 – 模板 – 选择模板 – 主机群组 – 选择 – Tempaltes/Application – Template App Hadoop By HTTP – 更新

    监控主机即可,会通过主机自动查找从机

    监控 – 主机 – 选择主机 – 会发现很多监控项

  • 相关阅读:
    搭建hadoop集群
    CF——Technical Support
    python之pyQt5实例:几何绘图界面
    a标签下载文件与解决浏览器默认打开某些格式文件的问题
    分析 java.util.LinkedHashMap
    【教学类-12-05】20221107《连连看横版8*4(1套模板+1套幼儿自绘)适合中班大班)(大班主题《我们的城市》)
    android Binder安全性、Unix Socket安全性研究
    VS中修改解决方案名称和项目名称
    网站优化之favicon.ico
    Tomcat部署、优化、以及操作练习
  • 原文地址:https://blog.csdn.net/weixin_43923463/article/details/127401648