性能监控工具Zabbix学习笔记

文章目录

  • 理论介绍
    • 基础架构
    • 和Prometheus的对比
  • Zabbix安装
    • 准备工作
    • 配置yum源
    • 安装Zabbix
    • 配置Zabbix
    • 启动Zabbix
  • 基础功能使用
    • 新增主机
    • 创建监控项
    • 创建触发器
    • 创建动作
    • 配置邮箱
    • 测试
  • 模板的创建和使用
    • 创建模板
    • 主机应用模板
  • 集成Grafana
    • 安装Zabbix插件并启用
    • 添加数据源

理论介绍

Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警,这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix 提供了出色的报告和数据可视化功能。Zabbix 支持轮询和被动捕获。基于 Web 的前端页面确保您的网络状态和服务器健康状况可以从任何地方进行评估。在经过适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于拥有少量服务器的小型组织,还是拥有大量服务器的大型公司而言,同样适用。

基础架构

性能监控工具Zabbix学习笔记_第1张图片
核心组件主要是 Agent 和 Server,其中 Agent 主要负责采集数据并通过主动或者被动的方式采集数据发送到 Server/Proxy,除此之外,为了扩展监控项,Agent 还支持执行自定义脚本。Server 主要负责接收 Agent 发送的监控息,并进行汇总存储,触发告警等。ZabbixServer 将收集的监控数据存储到 Zabbix Database 中。Zabbix Database 支持常用的关系型数据库,如果 MySQL、PostgreSQL、Oracle 等,默认是 MySQL,并提供 Zabbix Web页面(PHP 编写)数据查询。

和Prometheus的对比

性能监控工具Zabbix学习笔记_第2张图片

Zabbix安装

准备工作

关闭防火墙:

[root@scentos szc]# systemctl stop firewalld.service
[root@scentos szc]# systemctl disable firewalld.service

关闭selinux:

[root@scentos szc]# 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 three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

重启

配置yum源

[root@scentos szc]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
Retrieving https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.7oDWaF: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-5.0-1.el7         ################################# [100%]

安装centos-release-scl:

[root@scentos szc]#  yum install -y centos-release-scl
base                                                                                                                                                      | 3.6 kB  00:00:00     
http://repo.clickhouse.tech/rpm/stable/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: repo.clickhouse.tech; Unknown error"
Trying other mirror.
extras                                                                                                                                                    | 2.9 kB  00:00:00     
mongodb-org-3.4                                                                                                                                           | 2.5 kB  00:00:00     
mysql-connectors-community                                                                                                                                | 2.6 kB  00:00:00     
mysql-tools-community                                                                                                                                     | 2.6 kB  00:00:00     
mysql57-community                                                                                                                                         | 2.6 kB  00:00:00     
updates                                                                                                                                                   | 2.9 kB  00:00:00     
zabbix                                                                                                                                                    | 2.9 kB  00:00:00     
zabbix-non-supported                                                                                                                                      | 2.9 kB  00:00:00     
(1/7): extras/7/x86_64/primary_db                                                                                                                         | 246 kB  00:00:05     
(2/7): mysql-connectors-community/x86_64/primary_db                                                                                                       |  90 kB  00:00:06     
(3/7): mysql-tools-community/x86_64/primary_db                                                                                                            |  94 kB  00:00:06     
(4/7): mysql57-community/x86_64/primary_db                                                                                                                | 298 kB  00:00:07     
(5/7): zabbix-non-supported/x86_64/primary_db                                                                                                             | 3.7 kB  00:00:06     
(6/7): zabbix/x86_64/primary_db                                                                                                                           | 146 kB  00:00:06     
(7/7): updates/7/x86_64/primary_db                                                                                                                        |  14 MB  00:00:34     
Resolving Dependencies
--> Running transaction check
---> Package centos-release-scl.noarch 0:2-3.el7.centos will be installed
--> Processing Dependency: centos-release-scl-rh for package: centos-release-scl-2-3.el7.centos.noarch
--> Running transaction check
---> Package centos-release-scl-rh.noarch 0:2-3.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================================================
Package                                            Arch                                Version                                        Repository                           Size
=================================================================================================================================================================================
Installing:
centos-release-scl                                 noarch                              2-3.el7.centos                                 extras                               12 k
Installing for dependencies:
centos-release-scl-rh                              noarch                              2-3.el7.centos                                 extras                               12 k

Transaction Summary
=================================================================================================================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 24 k
Installed size: 39 k
Downloading packages:
(1/2): centos-release-scl-rh-2-3.el7.centos.noarch.rpm                                                                                                    |  12 kB  00:00:06     
(2/2): centos-release-scl-2-3.el7.centos.noarch.rpm                                                                                                       |  12 kB  00:00:06     
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                            3.5 kB/s |  24 kB  00:00:06     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
PackageKit-1.1.10-2.el7.centos.x86_64 has missing requires of PackageKit-backend
yajl-devel-2.0.4-4.el7.i686 has missing requires of libyajl.so.2
  Installing : centos-release-scl-rh-2-3.el7.centos.noarch                                                                                                                   1/2
  Installing : centos-release-scl-2-3.el7.centos.noarch                                                                                                                      2/2
  Verifying  : centos-release-scl-2-3.el7.centos.noarch                                                                                                                      1/2
  Verifying  : centos-release-scl-rh-2-3.el7.centos.noarch                                                                                                                   2/2
Installed:
  centos-release-scl.noarch 0:2-3.el7.centos                                                                                                                          
Dependency Installed:
  centos-release-scl-rh.noarch 0:2-3.el7.centos                                                                                                                                  
Complete!

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

安装Zabbix

[root@scentos szc]# sudo yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl

安装截图:
性能监控工具Zabbix学习笔记_第3张图片

配置Zabbix

主要是通过MySQL配置Zabbix的,首先创建zabbix数据库:

[root@scentos szc]# mysql -uroot -proot -e "create database zabbix character set utf8 collate utf8_bin"
mysql: [Warning] Using a password on the command line interface can be insecure.

然后导入建表语句,使用到的压缩包在安装Zabbix时会自动下载到指定位置:

[root@scentos szc]# zcat /usr/share/doc/zabbix-server-mysql-5.0.21/create.sql.gz | mysql -uroot -proot zabbix
mysql: [Warning] Using a password on the command line interface can be insecure.

修改/etc/zabbix/zabbix_server.conf文件:

[root@scentos szc]# vim /etc/zabbix/zabbix_server.conf

打开以下行的注释并修改,配置主机名、数据库名、数据库用户名和密码:

DBHost=scentos
DBName=zabbix
DBUser=root
DBPassword=root

修改/etc/zabbix/zabbix_agentd.conf文件:

[root@scentos szc]# vim /etc/zabbix/zabbix_agentd.conf

修改Server行为服务器域名或IP,注释掉ServerActive和Hostname行:

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

修改/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf文件:

[root@scentos szc]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

修改时区为东八区:

php_value[date.timezone] = Asia/Shanghai

启动Zabbix

[root@scentos szc]# systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm

如果需要开机自启,则再运行以下命令:

[root@scentos szc]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

在windows浏览器中输入http://scentos(虚拟机IP或域名)/zabbix,看见以下界面,则Zabbix安装配置启动成功:
性能监控工具Zabbix学习笔记_第4张图片
点击下一步,查看配置,全部ok即可下一步:
性能监控工具Zabbix学习笔记_第5张图片
配置数据库,修改端口、用户名和密码,然后下一步:
性能监控工具Zabbix学习笔记_第6张图片
配置zabbixServer,修改主机或域名即可:
性能监控工具Zabbix学习笔记_第7张图片
查看预安装小结,然后安装即可:
性能监控工具Zabbix学习笔记_第8张图片
性能监控工具Zabbix学习笔记_第9张图片
点击完成后,即可登录Zabbix,用户名Admin,密码zabbix:
性能监控工具Zabbix学习笔记_第10张图片
设置语言为中文,点击左侧用户设置:
性能监控工具Zabbix学习笔记_第11张图片
设置语言,然后更新即可:
性能监控工具Zabbix学习笔记_第12张图片
结果如下:
性能监控工具Zabbix学习笔记_第13张图片
默认监控的是ZabbixServer,地址使用的是127.0.0.1,需要我们后续配置。

基础功能使用

Zabbix术语:
性能监控工具Zabbix学习笔记_第14张图片
以检测Zabbix服务器上Hadoop的DataNode停止为例,对Zabbix的基本使用方法进行说明

新增主机

点击配置->主机->创建主机:
性能监控工具Zabbix学习笔记_第15张图片
配置主机名(任意填)、群组(点击右侧选择,任意选)和IP地址,然后点击添加:
性能监控工具Zabbix学习笔记_第16张图片
查看新增结果:
性能监控工具Zabbix学习笔记_第17张图片

创建监控项

点击新建的主机里的监控项:
性能监控工具Zabbix学习笔记_第18张图片
点击创建监控项:
性能监控工具Zabbix学习笔记_第19张图片
配置监控项名称(随便写)和键值:proc.num[,all,datanode],如下所示:
性能监控工具Zabbix学习笔记_第20张图片
点击下面的添加后,查看结果:
性能监控工具Zabbix学习笔记_第21张图片
启动Hadoop的yarn和hdfs后,点击监测->最新数据,查看最新数据:
性能监控工具Zabbix学习笔记_第22张图片

创建触发器

点击配置->主机->触发器:
性能监控工具Zabbix学习笔记_第23张图片
点击创建触发器:
性能监控工具Zabbix学习笔记_第24张图片
取名、设置严重性、添加表达式:
性能监控工具Zabbix学习笔记_第25张图片
在添加表达式界面里,选择监控项和结果,然后点击插入:
性能监控工具Zabbix学习笔记_第26张图片
然后,回到创建触发器界面,点击添加,查看添加结果:
性能监控工具Zabbix学习笔记_第27张图片
性能监控工具Zabbix学习笔记_第28张图片

创建动作

点击配置->动作->创建动作:
性能监控工具Zabbix学习笔记_第29张图片
起名,添加条件,然后设置操作:
性能监控工具Zabbix学习笔记_第30张图片
添加的条件就是刚才创建的触发器:
性能监控工具Zabbix学习笔记_第31张图片
添加好触发器后的界面如下:
性能监控工具Zabbix学习笔记_第32张图片
点击操作,进入操作添加界面:
性能监控工具Zabbix学习笔记_第33张图片
在设置发送的用户群组和用户中,添加Zabbix administrators和Admin,然后点击添加即可:
性能监控工具Zabbix学习笔记_第34张图片
查看操作的添加结果,并点击添加:性能监控工具Zabbix学习笔记_第35张图片
查看动作的添加结果:性能监控工具Zabbix学习笔记_第36张图片

配置邮箱

点击管理->报警媒介类型->Email:性能监控工具Zabbix学习笔记_第37张图片
修改SMTP服务器、SMTP HELO、SMTP电邮和用户名密码:性能监控工具Zabbix学习笔记_第38张图片
其中密码是QQ邮箱的SMTP授权码,要在QQ邮箱的邮箱设置->账户->POP3…服务中开启SMTP服务,并且点击生成授权码,再按照指定步骤获取:性能监控工具Zabbix学习笔记_第39张图片
配置好Zabbix邮箱后,点击更新,查看更新结果,并进行测试:性能监控工具Zabbix学习笔记_第40张图片
填写好收件人和消息后,点击测试,看到测试成功即可:性能监控工具Zabbix学习笔记_第41张图片
在QQ邮箱中,也能看到发过来的测试邮件:性能监控工具Zabbix学习笔记_第42张图片
然后,在Zabbix中配置用户邮箱,点击管理->用户->Admin:性能监控工具Zabbix学习笔记_第43张图片
点击报警媒介->添加:性能监控工具Zabbix学习笔记_第44张图片
在收件人一栏中选择刚配置的邮箱用户名即可:性能监控工具Zabbix学习笔记_第45张图片
添加结果,最后点击更新:性能监控工具Zabbix学习笔记_第46张图片

测试

在服务器上关闭yarn和hdfs,会有以下效果:
首先在监测->仪表板上看到出现的问题:性能监控工具Zabbix学习笔记_第47张图片
然后QQ邮箱收到报警邮件:性能监控工具Zabbix学习笔记_第48张图片

模板的创建和使用

模板的作用是将相同的配置应用于多个主机监控上,以此减少工作量并简化Zabbix配置。
同样,以检测Zabbix服务器上Hadoop的DataNode停止为例,对Zabbix模板的创建和使用方法进行说明

创建模板

点击配置->模板->创建模板:性能监控工具Zabbix学习笔记_第49张图片
起名、配置群组,这俩随便写或选,点击添加:性能监控工具Zabbix学习笔记_第50张图片
然后通过主机群组找到新建的模板,配置监控项和触发器:性能监控工具Zabbix学习笔记_第51张图片
点击创建监控项:性能监控工具Zabbix学习笔记_第52张图片
起名,设置键值:性能监控工具Zabbix学习笔记_第53张图片
点击添加后,查看结果:性能监控工具Zabbix学习笔记_第54张图片
点击触发器->创建触发器:性能监控工具Zabbix学习笔记_第55张图片
起名、设置严重程度、添加条件:性能监控工具Zabbix学习笔记_第56张图片
点击添加或更新:性能监控工具Zabbix学习笔记_第57张图片
查看结果:性能监控工具Zabbix学习笔记_第58张图片
然后为新建的触发器配置动作,点击配置->动作->发送邮件的动作:性能监控工具Zabbix学习笔记_第59张图片
点击添加,为该动作添加触发条件:性能监控工具Zabbix学习笔记_第60张图片
选择触发器:
性能监控工具Zabbix学习笔记_第61张图片
选中新建的触发器:性能监控工具Zabbix学习笔记_第62张图片
点击添加:
性能监控工具Zabbix学习笔记_第63张图片
查看添加结果,并更新动作:性能监控工具Zabbix学习笔记_第64张图片
查看更新结果:性能监控工具Zabbix学习笔记_第65张图片

主机应用模板

点击配置->主机->目标主机:性能监控工具Zabbix学习笔记_第66张图片
点击模板->链接新模板->选择->通过主机群组搜索模板->选择:性能监控工具Zabbix学习笔记_第67张图片
点击更新:性能监控工具Zabbix学习笔记_第68张图片
然后再停止Hadoop的hdfs和yarn进行测试即可。

集成Grafana

Grafana是一个用Go语言编写的开源应用,用于大规模指标数据的可视化展示,是网络架构和应用分析中最流行的时许数据展示工具,目前已经支持绝大部分常用的时序数据库。
5.1、Grafana安装和启动
下载安装:

[root@scentos szc]# wget https://dl.grafana.com/enterprise/release/grafana-enterprise-7.5.2-1.x86_64.rpm
[root@scentos szc]# yum install grafana-enterprise-7.5.2-1.x86_64.rpm

直接启动:

[root@scentos szc]# service grafana-server start

访问ip:3000,用户名密码都是admin:性能监控工具Zabbix学习笔记_第69张图片
第一次访问要修改密码,不过可以点击下面的skip跳过这一步,就进入grafana的主界面:性能监控工具Zabbix学习笔记_第70张图片
至此,grafana安装启动成功。

安装Zabbix插件并启用

插件安装:

[root@scentos szc]# grafana-cli plugins install alexanderzobnin-zabbix-app
installing alexanderzobnin-zabbix-app @ 4.1.5
from: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/4.1.5/download
into: /var/lib/grafana/plugins

✔ Installed alexanderzobnin-zabbix-app successfully

Restart grafana after installing plugins . <service grafana-server restart>

重启Grafana:

[root@scentos szc]# systemctl restart grafana-server

刷新Grafana界面,点击配置->插件:性能监控工具Zabbix学习笔记_第71张图片
找到Zabbix,点击:性能监控工具Zabbix学习笔记_第72张图片
然后点击使能:性能监控工具Zabbix学习笔记_第73张图片
结果如下:性能监控工具Zabbix学习笔记_第74张图片

添加数据源

点击配置->数据源:性能监控工具Zabbix学习笔记_第75张图片
点击添加数据源:性能监控工具Zabbix学习笔记_第76张图片
搜索Zabbix,并点击:性能监控工具Zabbix学习笔记_第77张图片
配置Zabbix数据源,包括URL(http://scentos/zabbix/api_jsonrpc.php,把scentos改成自己服务器IP或域名)、开启基础验证、填写基础验证和ZPI验证的用户名和密码(默认分别为Admin和zabbix):性能监控工具Zabbix学习笔记_第78张图片
然后点击下面的保存并测试:性能监控工具Zabbix学习笔记_第79张图片
出现以下结果,即说明配置成功:
性能监控工具Zabbix学习笔记_第80张图片
然后返回Zabbix界面,为scentos主机链接模板Template OS Linux By Zabbix Agent:性能监控工具Zabbix学习笔记_第81张图片
点击更新后,回到Grafana界面,新增看板:性能监控工具Zabbix学习笔记_第82张图片
新增一个空白看板:性能监控工具Zabbix学习笔记_第83张图片
然后配置看板数据即可,比如要看的是CPU使用率:性能监控工具Zabbix学习笔记_第84张图片
还可以在右侧选择合适的图表类型:性能监控工具Zabbix学习笔记_第85张图片
最后点击应用:性能监控工具Zabbix学习笔记_第86张图片
生成的结果如下所示:性能监控工具Zabbix学习笔记_第87张图片

你可能感兴趣的:(大数据组件,Zabbix,Grafana)