性能监控工具Zabbix学习笔记

理论介绍

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

基础架构

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

和Prometheus的对比

在这里插入图片描述

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

主要是通过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安装配置启动成功:
在这里插入图片描述
点击下一步,查看配置,全部ok即可下一步:
在这里插入图片描述
配置数据库,修改端口、用户名和密码,然后下一步:
在这里插入图片描述
配置zabbixServer,修改主机或域名即可:
在这里插入图片描述
查看预安装小结,然后安装即可:
在这里插入图片描述
在这里插入图片描述
点击完成后,即可登录Zabbix,用户名Admin,密码zabbix:
在这里插入图片描述
设置语言为中文,点击左侧用户设置:
在这里插入图片描述
设置语言,然后更新即可:
在这里插入图片描述
结果如下:
在这里插入图片描述
默认监控的是ZabbixServer,地址使用的是127.0.0.1,需要我们后续配置。

基础功能使用

Zabbix术语:
在这里插入图片描述
以检测Zabbix服务器上Hadoop的DataNode停止为例,对Zabbix的基本使用方法进行说明

新增主机

点击配置->主机->创建主机:
在这里插入图片描述
配置主机名(任意填)、群组(点击右侧选择,任意选)和IP地址,然后点击添加:
在这里插入图片描述
查看新增结果:
在这里插入图片描述

创建监控项

点击新建的主机里的监控项:
在这里插入图片描述
点击创建监控项:
在这里插入图片描述
配置监控项名称(随便写)和键值:proc.num[,all,datanode],如下所示:
在这里插入图片描述
点击下面的添加后,查看结果:
在这里插入图片描述
启动Hadoop的yarn和hdfs后,点击监测->最新数据,查看最新数据:
在这里插入图片描述

创建触发器

点击配置->主机->触发器:
在这里插入图片描述
点击创建触发器:
在这里插入图片描述
取名、设置严重性、添加表达式:
在这里插入图片描述
在添加表达式界面里,选择监控项和结果,然后点击插入:
在这里插入图片描述
然后,回到创建触发器界面,点击添加,查看添加结果:
在这里插入图片描述
在这里插入图片描述

创建动作

点击配置->动作->创建动作:
在这里插入图片描述
起名,添加条件,然后设置操作:
在这里插入图片描述
添加的条件就是刚才创建的触发器:
在这里插入图片描述
添加好触发器后的界面如下:
在这里插入图片描述
点击操作,进入操作添加界面:
在这里插入图片描述
在设置发送的用户群组和用户中,添加Zabbix administrators和Admin,然后点击添加即可:
在这里插入图片描述
查看操作的添加结果,并点击添加:在这里插入图片描述
查看动作的添加结果:在这里插入图片描述

配置邮箱

点击管理->报警媒介类型->Email:在这里插入图片描述
修改SMTP服务器、SMTP HELO、SMTP电邮和用户名密码:在这里插入图片描述
其中密码是QQ邮箱的SMTP授权码,要在QQ邮箱的邮箱设置->账户->POP3…服务中开启SMTP服务,并且点击生成授权码,再按照指定步骤获取:在这里插入图片描述
配置好Zabbix邮箱后,点击更新,查看更新结果,并进行测试:在这里插入图片描述
填写好收件人和消息后,点击测试,看到测试成功即可:在这里插入图片描述
在QQ邮箱中,也能看到发过来的测试邮件:在这里插入图片描述
然后,在Zabbix中配置用户邮箱,点击管理->用户->Admin:在这里插入图片描述
点击报警媒介->添加:在这里插入图片描述
在收件人一栏中选择刚配置的邮箱用户名即可:在这里插入图片描述
添加结果,最后点击更新:在这里插入图片描述

测试

在服务器上关闭yarn和hdfs,会有以下效果:
首先在监测->仪表板上看到出现的问题:在这里插入图片描述
然后QQ邮箱收到报警邮件:在这里插入图片描述

模板的创建和使用

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

创建模板

点击配置->模板->创建模板:在这里插入图片描述
起名、配置群组,这俩随便写或选,点击添加:在这里插入图片描述
然后通过主机群组找到新建的模板,配置监控项和触发器:在这里插入图片描述
点击创建监控项:在这里插入图片描述
起名,设置键值:在这里插入图片描述
点击添加后,查看结果:在这里插入图片描述
点击触发器->创建触发器:在这里插入图片描述
起名、设置严重程度、添加条件:在这里插入图片描述
点击添加或更新:在这里插入图片描述
查看结果:在这里插入图片描述
然后为新建的触发器配置动作,点击配置->动作->发送邮件的动作:在这里插入图片描述
点击添加,为该动作添加触发条件:在这里插入图片描述
选择触发器:
在这里插入图片描述
选中新建的触发器:在这里插入图片描述
点击添加:
在这里插入图片描述
查看添加结果,并更新动作:在这里插入图片描述
查看更新结果:在这里插入图片描述

主机应用模板

点击配置->主机->目标主机:在这里插入图片描述
点击模板->链接新模板->选择->通过主机群组搜索模板->选择:在这里插入图片描述
点击更新:在这里插入图片描述
然后再停止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:在这里插入图片描述
第一次访问要修改密码,不过可以点击下面的skip跳过这一步,就进入grafana的主界面:在这里插入图片描述
至此,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,点击:在这里插入图片描述
然后点击使能:在这里插入图片描述
结果如下:在这里插入图片描述

添加数据源

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值