Zabbix监控部署及MySQL监控

Zabbix监控部署及MySQL监控

  • Zabbix监控软件可以用来做什么?
  • zabbix 是什么?
  • zabbix 监控原理
  • zabbix监控部署在系统中的程序
  • 安装 zabbix 5.0
    • 需要准备的机器
  • 部署zabbix服务端 zabbix-server 20.0.0.100
      • 修改配置文件,安装SCL、数据库等软件
      • 修改zabbix中的数据库配置文件
      • 启动 zabbix 相关服务
      • 浏览器访问,配置信息
      • 解决 zabbix-server Web页面中文乱码问题
  • 部署 zabbix 客户端 zabbix-client 20.0.0.200
    • 配置准备环境
    • 服务端和客户端都配置时间同步
    • 客户端配置时区,与服务器保持一致
    • 设置 zabbix 的下载源,安装 zabbix-agent2
    • 修改 agent2 配置文件
    • 启动 zabbix-agent2
    • 在服务端验证 zabbix-agent2 的连通性
    • 浏览器访问,配置信息,在 Web 页面中添加 agent 主机
      • 点击左边菜单栏【配置】中的【主机】,点击【创建主机】
      • 输入配置信息
      • 再点击上方菜单栏【模板】
  • 自定义监控内容
    • 1.明确需要执行的 linux 命令
    • 2.创建 zabbix 的监控项配置文件,用于自定义 key
    • 3.在服务端验证新建的监控项
    • 在 Web 页面创建自定义监控项模板
    • 2.创建应用集(用于管理监控项的)
    • 3.创建监控项
    • 4.创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
    • 5.创建图形
    • 6.将主机与模板关联起来(一个主机可以关联多个模板)
    • 7.设置邮件报警
    • 8.测试邮件报警
    • 9.进行自动测试
  • zabbix 自动发现与自动注册
    • zabbix自动发现
      • 1.确保客户端上的 zabbix-agent2 服务状态正常
      • 2.在 Web 页面删除原有的客户端主机
      • 3.在服务端和客户端上配置 hosts 解析
      • 4. 在 Web 页面配置自动发现
      • 5.点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Discovery actions】,勾选 【Auto discovery. Linux servers.】,点击 【启用】
      • 6. 点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机(如若长时间不显示则重启一下客户端zabbix)
    • zabbix自动注册(对于 agent2 是主动模式)
      • 1.环境准备
      • 2.修改 zabbix-agent2 配置文件
      • 3.在 Web 页面配置自动注册
  • 部署 zabbix 代理服务器(proxy)
    • 部署proxy环境(关闭防火墙、配置下载源、安装数据库、添加用户及sql信息、web页面配置、启动、配置 hosts 解析)
    • 配置 agent 使用 proxy
      • 1.在客户端修改 agent2 配置文件
      • 2.在 Web 页面配置
      • 3.分别在客户端和代理服务器上重启服务
  • 配置zabbix-snmp 监控
    • 1.服务端安装 snmp 监控程序
    • 2.修改 snmp 的配置文件,并启动服务
    • 3.使用 snmp 命令测试
    • 4.在 Web 页面配置 snmp 方式监控
  • Zabbix监控MySQL
    • 1.登录mysql账户,创建监控用户及授权
    • 2.创建数据库免密登录文件(.my.cnf)
    • 3.创建自定义监控项
    • 4.需重启 zabbix-agent
    • 5.在web端配置模板以及设置自动刷新时间30s

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。

Zabbix监控软件可以用来做什么?

①.对系统不间断实时监控
②.实时反馈系统当前状态
③.保证服务可靠性安全性
④.保证业务持续稳定运行

zabbix 是什么?

●zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
●zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
●zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
●zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。
●zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

zabbix 监控原理

zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。

当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。

zabbix监控部署在系统中的程序

zabbix 监控部署在系统中,包含常见的五个程序: zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。

●zabbix server:zabbix 服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的数据最终都提交给 zabbix server;

●zabbix agent:客户端守护进程,负责收集客户端数据,例如:收集 CPU 负载、内存、硬盘使用情况等;

●zabbix proxy:zabbix 分布式代理守护进程,通常大于 500 台主机,需要进行分布式监控架构部署;

●zabbix get:zabbix 数据接收工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令;

●zabbix sender:zabbix 数据发送工具,用户发送数据给 server 或 proxy 端,通常用户耗时比较长的检查。

安装 zabbix 5.0

需要准备的机器

所需的机器 ip地址
zabbix服务端 zbx-server 20.0.0.100
zabbix客户端 zbx-agent01 20.0.0.200

部署zabbix服务端 zabbix-server 20.0.0.100

准备环境:zabbix-server 内存至少 2G,推荐 4G;

Zabbix监控部署及MySQL监控_第1张图片

修改配置文件,安装SCL、数据库等软件


[root@localhost ~]# systemctl disable --now firewalld && setenforce 0
##关闭防火墙

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@localhost ~]# hostnamectl set-hostname zbx-server
##修改主机名
[root@localhost ~]# su

Zabbix监控部署及MySQL监控_第2张图片

[root@zbx-server ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
## 获取 zabbix 的下载源

获取https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.mJVCKI: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-5.0-1.el7         ################################# [100%]


[root@zbx-server ~]# cd /etc/yum.repos.d
[root@zbx-server yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  zabbix.repo

[root@zbx-server yum.repos.d]# vim zabbix.repo 
## 修改图中圈出的所有的zabbix路径改为阿里云网址路径

Zabbix监控部署及MySQL监控_第3张图片

[root@zbx-server yum.repos.d]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
## 更换 zabbix.repo 为阿里源

Zabbix监控部署及MySQL监控_第4张图片

[root@zbx-server yum.repos.d]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: base extras updates zabbix zabbix-non-supported
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
base                                                       | 3.6 kB  00:00:00     
extras                                                     | 2.9 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/16): extras/7/x86_64/filelists_db                       | 276 kB  00:00:05     
(2/16): base/7/x86_64/other_db                             | 2.6 MB  00:00:05     
(3/16): extras/7/x86_64/primary_db                         | 249 kB  00:00:00     
(4/16): base/7/x86_64/primary_db                           | 6.1 MB  00:00:07     
(5/16): updates/7/x86_64/filelists_db                      |  11 MB  00:00:03     
(6/16): updates/7/x86_64/other_db                          | 1.3 MB  00:00:00     
(7/16): base/7/x86_64/group_gz                             | 153 kB  00:00:11     
(8/16): extras/7/x86_64/other_db                           | 149 kB  00:00:05     
(9/16): base/7/x86_64/filelists_db                         | 7.2 MB  00:00:14     
(10/16): zabbix/x86_64/filelists_db                        |  75 kB  00:00:05     
(11/16): zabbix/x86_64/other_db                            | 359 kB  00:00:00     
(12/16): updates/7/x86_64/primary_db                       |  20 MB  00:00:09     
(13/16): zabbix/x86_64/primary_db                          | 212 kB  00:00:05     
(14/16): zabbix-non-supported/x86_64/primary_db            | 3.7 kB  00:00:05     
(15/16): zabbix-non-supported/x86_64/other_db              | 3.3 kB  00:00:00     
(16/16): zabbix-non-supported/x86_64/filelists_db                                | 1.7 kB  00:00:10     
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.bfsu.edu.cn
 * updates: mirrors.bfsu.edu.cn
元数据缓存已建立

Zabbix监控部署及MySQL监控_第5张图片

[root@zbx-server yum.repos.d]# yum install -y zabbix-server-mysql zabbix-agent


[root@zbx-server yum.repos.d]# yum install -y centos-release-scl 
## 安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。


[root@zbx-server yum.repos.d]# vim zabbix.repo
## 修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下
[zabbix-frontend]
......
enabled=1          #开启安装源

Zabbix监控部署及MySQL监控_第6张图片

[root@zbx-server yum.repos.d]# yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl


[root@zbx-server yum.repos.d]# yum install -y mariadb-server mariadb
## 安装 zabbix 所需的数据库

[root@zbx-server yum.repos.d]# systemctl enable --now mariadb
## 数据库开启自启

Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

[root@zbx-server yum.repos.d]# lsof -i:3306
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  38095 mysql   14u  IPv4  77514      0t0  TCP *:mysql (LISTEN)

在这里插入图片描述

修改zabbix中的数据库配置文件

[root@zbx-server yum.repos.d]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Zabbix监控部署及MySQL监控_第7张图片

[root@zbx-server yum.repos.d]# mysql -u root -pabc123
## 添加数据库用户,以及 zabbix 所需的数据库信息

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

Zabbix监控部署及MySQL监控_第8张图片

MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

## 导入数据库信息
MariaDB [(none)]> exit
Bye

Zabbix监控部署及MySQL监控_第9张图片

[root@zbx-server yum.repos.d]# rpm -ql zabbix-server-mysql
## 查询 sql 文件的位置
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-5.0.33
/usr/share/doc/zabbix-server-mysql-5.0.33/AUTHORS
/usr/share/doc/zabbix-server-mysql-5.0.33/COPYING
/usr/share/doc/zabbix-server-mysql-5.0.33/ChangeLog
/usr/share/doc/zabbix-server-mysql-5.0.33/NEWS
/usr/share/doc/zabbix-server-mysql-5.0.33/README
/usr/share/doc/zabbix-server-mysql-5.0.33/create.sql.gz
/usr/share/doc/zabbix-server-mysql-5.0.33/double.sql
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix

Zabbix监控部署及MySQL监控_第10张图片

[root@zbx-server yum.repos.d]# zcat /usr/share/doc/zabbix-server-mysql-5.0.33/create.sql.gz |mysql -uroot -pabc123 zabbix


[root@zbx-server yum.repos.d]# vim /etc/zabbix/zabbix_server.conf
## 修改 zabbix server 配置文件,修改数据库的密码

124  DBPassword=zabbix
## 124行,指定 zabbix 数据库的密码

在这里插入图片描述

[root@zbx-server yum.repos.d]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
## 修改 zabbix 的 php 配置文件

 25 php_value[date.timezone] = Asia/Shanghai
## 25行,取消注释,修改时区

Zabbix监控部署及MySQL监控_第11张图片

启动 zabbix 相关服务


[root@zbx-server yum.repos.d]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@zbx-server yum.repos.d]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-php72-php-fpm.service to /usr/lib/systemd/system/rh-php72-php-fpm.service.

在这里插入图片描述

浏览器访问,配置信息

浏览器访问:http:/20.0.0.100/zabbix
根据自身虚拟机ip地址输入ip
Zabbix监控部署及MySQL监控_第12张图片
Zabbix监控部署及MySQL监控_第13张图片

设置数据库的密码 zabbix
Zabbix监控部署及MySQL监控_第14张图片
Zabbix监控部署及MySQL监控_第15张图片
Zabbix监控部署及MySQL监控_第16张图片
Zabbix监控部署及MySQL监控_第17张图片
登录账号密码为:Admin/zabbix
Zabbix监控部署及MySQL监控_第18张图片

修改页面显示文字
Zabbix监控部署及MySQL监控_第19张图片

解决 zabbix-server Web页面中文乱码问题

Zabbix监控部署及MySQL监控_第20张图片

[root@zbx-server yum.repos.d]# yum install -y wqy-microhei-fonts
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * centos-sclo-rh: mirrors.bfsu.edu.cn
 * centos-sclo-sclo: mirrors.nju.edu.cn
 * extras: mirrors.bfsu.edu.cn
 * updates: mirrors.bfsu.edu.cn
软件包 wqy-microhei-fonts-0.2.0-0.12.beta.el7.noarch 已安装并且是最新版本
无须任何处理


[root@zbx-server yum.repos.d]# \cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

## 在linux中   \cp默认是默认cp命令是有别名的,输入\cp命令,作用也是取消cp的别名
========================================================================================================================
[root@zbx-server yum.repos.d]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
========================================================================================================================

Zabbix监控部署及MySQL监控_第21张图片

部署 zabbix 客户端 zabbix-client 20.0.0.200

新开一台虚拟机作为客户端使用,

zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

配置准备环境

[root@zbx-client yum.repos.d]# hostnamectl set-hostname zbx-agent01
[root@zbx-client yum.repos.d]# su

## 修改主机名

[root@zbx-agent01 ~]# systemctl disable --now firewalld &&  setenforce 0
## 关闭防火墙

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

在这里插入图片描述

服务端和客户端都配置时间同步

zbx-agent01 20.0.0.200

[root@zbx-agent01 ~]# yum install -y ntpdate

Zabbix监控部署及MySQL监控_第22张图片

[root@zbx-agent01 ~]# ntpdate -u ntp.aliyun.com
12 Apr 16:02:28 ntpdate[4534]: adjust time server 203.107.6.88 offset 0.003124 sec

Zabbix监控部署及MySQL监控_第23张图片

zbx-server 20.0.0.100

[root@zbx-server yum.repos.d]# yum install -y ntpdate

Zabbix监控部署及MySQL监控_第24张图片

[root@zbx-server yum.repos.d]# ntpdate -u ntp.aliyun.com
12 Apr 16:02:27 ntpdate[43414]: adjust time server 203.107.6.88 offset -0.009533 sec

Zabbix监控部署及MySQL监控_第25张图片

客户端配置时区,与服务器保持一致

zbx-agent01 20.0.0.200

[root@zbx-agent01 ~]# mv /etc/localtime{,.bak}
[root@zbx-agent01 ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@zbx-agent01 ~]# date
20230412日 星期三 16:09:46 CST

在这里插入图片描述

设置 zabbix 的下载源,安装 zabbix-agent2

[root@zbx-agent01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
获取https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.Cd84Oz: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-5.0-1.el7         ################################# [100%]
   
[root@zbx-agent01 ~]# cd /etc/yum.repos.d

[root@zbx-agent01 yum.repos.d]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

[root@zbx-agent01 yum.repos.d]# yum install -y zabbix-agent2

Zabbix监控部署及MySQL监控_第26张图片

修改 agent2 配置文件

[root@zbx-agent01 yum.repos.d]# vim /etc/zabbix/zabbix_agent2.conf

Server=20.0.0.100			#80行,指定 zabbix 服务端的 IP 地址

在这里插入图片描述

ServerActive=192.168.10.22		#120行,指定 zabbix 服务端的 IP 地址

在这里插入图片描述

Hostname=zbx-agent01   #136行,指定当前 zabbix 客户端的主机名

在这里插入图片描述

启动 zabbix-agent2

[root@zbx-agent01 yum.repos.d]# systemctl start zabbix-agent2
[root@zbx-agent01 yum.repos.d]# systemctl enable zabbix-agent2
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service to /usr/lib/systemd/system/zabbix-agent2.service.

在这里插入图片描述

[root@zbx-agent01 yum.repos.d]# netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      39028/zabbix_agent2 

Zabbix监控部署及MySQL监控_第27张图片

在服务端验证 zabbix-agent2 的连通性

zbx-server 20.0.0.100

[root@zbx-server yum.repos.d]# yum install -y zabbix-get
## 安装 zabbix 主动获取数据的命令

[root@zbx-server yum.repos.d]# zabbix_get -s '20.0.0.200' -p 10050 -k 'agent.ping'
1
[root@zbx-server yum.repos.d]# zabbix_get -s '20.0.0.200' -p 10050 -k 'system.hostname'
zbx-agent01


Zabbix监控部署及MySQL监控_第28张图片

浏览器访问,配置信息,在 Web 页面中添加 agent 主机

浏览器访问:http:/20.0.0.100/zabbix
根据自身虚拟机ip地址输入ip

点击左边菜单栏【配置】中的【主机】,点击【创建主机】

Zabbix监控部署及MySQL监控_第29张图片

输入配置信息

【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01-20.0.0.100
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 20.0.0.100

Zabbix监控部署及MySQL监控_第30张图片

再点击上方菜单栏【模板】

【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent

点击 【添加】
Zabbix监控部署及MySQL监控_第31张图片

自定义监控内容

案列:自定义监控客户端服务器登录的人数
需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息

1.明确需要执行的 linux 命令

[root@zbx-agent01 yum.repos.d]# who|wc -l
2

2.创建 zabbix 的监控项配置文件,用于自定义 key

[root@zbx-agent01 yum.repos.d]# vim /etc/zabbix/zabbix_agent2.conf

## 可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中

Zabbix监控部署及MySQL监控_第32张图片

[root@zbx-agent01 yum.repos.d]# cd /etc/zabbix/zabbix_agent2.d/
[root@zbx-agent01 zabbix_agent2.d]# ls

[root@zbx-agent01 zabbix_agent2.d]# vim UserParameter_login.conf

UserParameter=login.user,who|wc -l

在这里插入图片描述

[root@zbx-agent01 zabbix_agent2.d]# systemctl restart zabbix-agent2.service 

3.在服务端验证新建的监控项

[root@zbx-server yum.repos.d]# zabbix_get -s '20.0.0.200' -p 10050 -k 'login.user'
2

Zabbix监控部署及MySQL监控_第33张图片

在 Web 页面创建自定义监控项模板

1.创建模板
点击左边菜单栏【配置】中的【模板】,点击【创建模板】

Zabbix监控部署及MySQL监控_第34张图片

【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义

Zabbix监控部署及MySQL监控_第35张图片

点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了

Zabbix监控部署及MySQL监控_第36张图片

2.创建应用集(用于管理监控项的)

Zabbix监控部署及MySQL监控_第37张图片

点击上方菜单栏【应用集】,点击【创建应用集】
Zabbix监控部署及MySQL监控_第38张图片

【名称】设置成 Login User
点击 【添加】

Zabbix监控部署及MySQL监控_第39张图片
Zabbix监控部署及MySQL监控_第40张图片

3.创建监控项

点击上方菜单栏【监控项】,点击【创建监控项】
Zabbix监控部署及MySQL监控_第41张图片

【名称】设置成 Number of login users
【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period 30d #保留时间可自定义设置
点击 【添加】

Zabbix监控部署及MySQL监控_第42张图片
Zabbix监控部署及MySQL监控_第43张图片

4.创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

点击上方菜单栏【触发器】,点击【创建触发器】
Zabbix监控部署及MySQL监控_第44张图片

【名称】设置成 Number of login users is greater than 3
Zabbix监控部署及MySQL监控_第45张图片

【严重性】设置成 一般严重

Zabbix监控部署及MySQL监控_第46张图片

【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
Zabbix监控部署及MySQL监控_第47张图片
Zabbix监控部署及MySQL监控_第48张图片

Zabbix监控部署及MySQL监控_第49张图片

Zabbix监控部署及MySQL监控_第50张图片

点击 【添加】

Zabbix监控部署及MySQL监控_第51张图片
Zabbix监控部署及MySQL监控_第52张图片

5.创建图形

点击上方菜单栏【图形】,点击【创建图形】

Zabbix监控部署及MySQL监控_第53张图片

【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值

Zabbix监控部署及MySQL监控_第54张图片

【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
Zabbix监控部署及MySQL监控_第55张图片
Zabbix监控部署及MySQL监控_第56张图片
Zabbix监控部署及MySQL监控_第57张图片

点击 【添加】
Zabbix监控部署及MySQL监控_第58张图片

Zabbix监控部署及MySQL监控_第59张图片

6.将主机与模板关联起来(一个主机可以关联多个模板)

点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
Zabbix监控部署及MySQL监控_第60张图片

点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】
Zabbix监控部署及MySQL监控_第61张图片

此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标
Zabbix监控部署及MySQL监控_第62张图片
Zabbix监控部署及MySQL监控_第63张图片

7.设置邮件报警

点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
Zabbix监控部署及MySQL监控_第64张图片

**【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 [email protected]
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 [email protected]
【描述】可自定义
**

Zabbix监控部署及MySQL监控_第65张图片

【密码】可登录QQ邮箱页面,点击【设置】–>【账户】中的【生成授权码】,通过短信获取授权码
Zabbix监控部署及MySQL监控_第66张图片
Zabbix监控部署及MySQL监控_第67张图片

点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
Zabbix监控部署及MySQL监控_第68张图片
Zabbix监控部署及MySQL监控_第69张图片
Zabbix监控部署及MySQL监控_第70张图片
点击 【添加】,并测试功能

Zabbix监控部署及MySQL监控_第71张图片

点击左边菜单栏【User settings】–>【报警媒介】,点击【添加】
Zabbix监控部署及MySQL监控_第72张图片

【类型】选择 qq_Email
【收件人】设置成 [email protected]
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】

Zabbix监控部署及MySQL监控_第73张图片

Zabbix监控部署及MySQL监控_第74张图片

点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】
Zabbix监控部署及MySQL监控_第75张图片
Zabbix监控部署及MySQL监控_第76张图片

8.测试邮件报警

增加测试客户端的用户登录数超过触发器预设的值,查看【监测】–>【仪表盘】,确认报警
Zabbix监控部署及MySQL监控_第77张图片
Zabbix监控部署及MySQL监控_第78张图片
Zabbix监控部署及MySQL监控_第79张图片
Zabbix监控部署及MySQL监控_第80张图片

9.进行自动测试

打开多个20.0.0.200客户端XShell,已监测到问题,并且会发信息给设置的邮箱进行提示
Zabbix监控部署及MySQL监控_第81张图片

zabbix 自动发现与自动注册

zabbix自动发现

zabbix 自动发现(对于 agent2 是被动模式)

zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。

缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

1.确保客户端上的 zabbix-agent2 服务状态正常

[root@zbx-agent01 zabbix_agent2.d]# systemctl is-active zabbix-agent2.service
active

Zabbix监控部署及MySQL监控_第82张图片

2.在 Web 页面删除原有的客户端主机

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
Zabbix监控部署及MySQL监控_第83张图片

Zabbix监控部署及MySQL监控_第84张图片
Zabbix监控部署及MySQL监控_第85张图片

3.在服务端和客户端上配置 hosts 解析

zbx-agent01 20.0.0.200

[root@zbx-agent01 zabbix_agent2.d]# vim /etc/hosts

20.0.0.100 zbx-server
20.0.0.200 zbx-agent01

Zabbix监控部署及MySQL监控_第86张图片
zbx-agent01 20.0.0.100


[root@zbx-server yum.repos.d]# vim /etc/hosts


20.0.0.100 zbx-server
20.0.0.200 zbx-agent01

Zabbix监控部署及MySQL监控_第87张图片

4. 在 Web 页面配置自动发现

点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
在这里插入图片描述

【名称】设置成 mynetwork
【IP范围】设置成 20.0.0.1-254(根据自身的ip地址配置 192.168.10.1-254)

【更新间隔】设置成 30s
Zabbix监控部署及MySQL监控_第88张图片
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址

Zabbix监控部署及MySQL监控_第89张图片
Zabbix监控部署及MySQL监控_第90张图片

【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】

Zabbix监控部署及MySQL监控_第91张图片
Zabbix监控部署及MySQL监控_第92张图片

5.点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Discovery actions】,勾选 【Auto discovery. Linux servers.】,点击 【启用】

Zabbix监控部署及MySQL监控_第93张图片

Zabbix监控部署及MySQL监控_第94张图片
Zabbix监控部署及MySQL监控_第95张图片
Zabbix监控部署及MySQL监控_第96张图片

6. 点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机(如若长时间不显示则重启一下客户端zabbix)

[root@zbx-agent01 zabbix_agent2.d]# systemctl restart zabbix-agent2.service 

Zabbix监控部署及MySQL监控_第97张图片

也可在服务端查看 zabbix 日志

[root@zbx-server ~]# tail -f /var/log/zabbix/zabbix_server.log
 38827:20230412:221725.591 Zabbix agent item "system.uptime" on host "Zabbix server" failed: first network error, wait for 15 seconds
 38832:20230412:221740.741 resuming Zabbix agent checks on host "Zabbix server": connection restored
 38832:20230412:221740.745 resuming Zabbix agent checks on host "zbx-agent01": connection restored
 38841:20230412:221852.271 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38836:20230412:222053.237 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38836:20230412:222254.266 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38836:20230412:222455.264 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38840:20230412:222656.268 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38841:20230412:222856.869 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38827:20230412:223044.894 enabling Zabbix agent checks on host "zbx-agent01": host became available

在这里插入图片描述

zabbix自动注册(对于 agent2 是主动模式)

zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

1.环境准备

点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用

Zabbix监控部署及MySQL监控_第98张图片

Zabbix监控部署及MySQL监控_第99张图片

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
Zabbix监控部署及MySQL监控_第100张图片

2.修改 zabbix-agent2 配置文件

[root@zbx-agent01 ~]# vim /etc/zabbix/zabbix_agent2.conf


HostnameItem=system.hostname		#144行,取消注释


Zabbix监控部署及MySQL监控_第101张图片


[root@zbx-agent01 ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf 
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=20.0.0.100
ServerActive=20.0.0.100
Hostname=zbx-agent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

Zabbix监控部署及MySQL监控_第102张图片

3.在 Web 页面配置自动注册

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Autoregistration actions】,点击【创建动作】

Zabbix监控部署及MySQL监控_第103张图片

【名称】设置成 Auto registration

Zabbix监控部署及MySQL监控_第104张图片
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent01

Zabbix监控部署及MySQL监控_第105张图片
Zabbix监控部署及MySQL监控_第106张图片

点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】

Zabbix监控部署及MySQL监控_第107张图片

再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】
Zabbix监控部署及MySQL监控_第108张图片

再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】

Zabbix监控部署及MySQL监控_第109张图片

点击下方的【添加】

Zabbix监控部署及MySQL监控_第110张图片

Zabbix监控部署及MySQL监控_第111张图片

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

Zabbix监控部署及MySQL监控_第112张图片
在服务端查看 zabbix 日志

[root@zbx-server yum.repos.d]# tail -f /var/log/zabbix/zabbix_server.log

 38801:20230413:143235.011 executing housekeeper
 38801:20230413:143235.141 housekeeper [deleted 0 hist/trends, 481 items/triggers, 0 events, 0 problems, 0 sessions, 0 alarms, 0 audit, 0 records in 0.129329 sec, idle for 1 hour(s)]
 38841:20230413:143341.441 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38843:20230413:143542.440 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38833:20230413:143743.446 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38840:20230413:143944.441 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38840:20230413:144145.441 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38833:20230413:144346.440 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38833:20230413:144547.570 cannot send list of active checks to "20.0.0.200": host [zbx-agent01] not found
 38824:20230413:144642.030 enabling Zabbix agent checks on host "zbx-agent01": host became available

Zabbix监控部署及MySQL监控_第113张图片

部署 zabbix 代理服务器(proxy)

分布式监控的作用:
●分担 server 的集中式压力
●解决多机房之间的网络延时问题

agent --> proxy --> server

所需的机器 ip地址
zabbix服务端 zbx-server 20.0.0.100
zabbix客户端 zbx-agent01 20.0.0.200
zbx- proxy代理服务器 20.0.0.210

部署proxy环境(关闭防火墙、配置下载源、安装数据库、添加用户及sql信息、web页面配置、启动、配置 hosts 解析)

[root@localhost ~]# systemctl disable --now firewalld && setenforce 0
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# hostnamectl set-hostname zbx-proxy
[root@localhost ~]# su


[root@zbx-proxy ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
## 设置 zabbix 的下载源,按照 zabbix-proxy


获取https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.jwzABd: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-5.0-1.el7         ################################# [100%]

[root@zbx-proxy yum.repos.d]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

[root@zbx-proxy yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  zabbix.repo

Zabbix监控部署及MySQL监控_第114张图片

[root@zbx-proxy yum.repos.d]# yum install -y zabbix-proxy-mysql zabbix-get


[root@zbx-proxy yum.repos.d]# yum install -y mariadb-server mariadb
## 安装 zabbix 所需的数据库




[root@zbx-proxy yum.repos.d]#  systemctl enable --now mariadb


[root@zbx-proxy yum.repos.d]# systemctl enable --now mariadb
## 自启动数据库

Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.


[root@zbx-proxy yum.repos.d]# mysql_secure_installation
#初始化数据库,并设置密码,如 abc123

Zabbix监控部署及MySQL监控_第115张图片

[root@zbx-proxy yum.repos.d]# mysql -u root -pabc123
## 添加数据库用户,以及 zabbix 所需的数据库信息

[root@zbx-proxy yum.repos.d]# mysql -u root -pabc123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 17
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
## 导入数据库信息
MariaDB [(none)]> exit
Bye

Zabbix监控部署及MySQL监控_第116张图片

[root@zbx-proxy yum.repos.d]# rpm -ql zabbix-proxy-mysql
## 查询 sql 文件的位置

/etc/logrotate.d/zabbix-proxy
/etc/zabbix/zabbix_proxy.conf
/usr/lib/systemd/system/zabbix-proxy.service
/usr/lib/tmpfiles.d/zabbix-proxy.conf
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_proxy_mysql
/usr/share/doc/zabbix-proxy-mysql-5.0.33
/usr/share/doc/zabbix-proxy-mysql-5.0.33/AUTHORS
/usr/share/doc/zabbix-proxy-mysql-5.0.33/COPYING
/usr/share/doc/zabbix-proxy-mysql-5.0.33/ChangeLog
/usr/share/doc/zabbix-proxy-mysql-5.0.33/NEWS
/usr/share/doc/zabbix-proxy-mysql-5.0.33/README
/usr/share/doc/zabbix-proxy-mysql-5.0.33/schema.sql.gz
/usr/share/man/man8/zabbix_proxy.8.gz
/var/log/zabbix
/var/run/zabbix

Zabbix监控部署及MySQL监控_第117张图片

[root@zbx-proxy yum.repos.d]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.33/schema.sql.gz | mysql -uroot -pabc123 zabbix_proxy

[root@zbx-proxy yum.repos.d]# vim /etc/zabbix/zabbix_proxy.conf

Server=192.168.10.22				#30行,指定 zabbix 服务端的 IP 地址

在这里插入图片描述


Hostname=zbx-proxy					#49行,指定当前 zabbix 代理服务器的主机名

在这里插入图片描述

DBPassword=zabbix					#196行,指定当前数据库 zabbix 用户的密码

在这里插入图片描述

[root@zbx-proxy yum.repos.d]# systemctl start zabbix-proxy
[root@zbx-proxy yum.repos.d]# systemctl enable zabbix-proxy
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-proxy.service to /usr/lib/systemd/system/zabbix-proxy.service.

在这里插入图片描述

在所有主机上配置 hosts 解析

zbx-proxy 20.0.0.210

[root@zbx-proxy yum.repos.d]# vim /etc/hosts

20.0.0.100 zbx-server
20.0.0.200 zbx-agent01
20.0.0.210 zbx-proxy

Zabbix监控部署及MySQL监控_第118张图片

zbx-agent01 20.0.0.200

[root@zbx-agent01 yum.repos.d]# vim /etc/hosts

20.0.0.100 zbx-server
20.0.0.200 zbx-agent01
20.0.0.210 zbx-proxy

Zabbix监控部署及MySQL监控_第119张图片

zbx-server 20.0.0.100

[root@zbx-server yum.repos.d]# vim /etc/hosts

20.0.0.100 zbx-server
20.0.0.200 zbx-agent01
20.0.0.210 zbx-proxy

Zabbix监控部署及MySQL监控_第120张图片
在 Web 页面配置 agent 代理

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
Zabbix监控部署及MySQL监控_第121张图片
Zabbix监控部署及MySQL监控_第122张图片

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

Zabbix监控部署及MySQL监控_第123张图片
Zabbix监控部署及MySQL监控_第124张图片

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】

Zabbix监控部署及MySQL监控_第125张图片

【agent代理程序名称】设置为 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 20.0.0.100
点击 【添加】

Zabbix监控部署及MySQL监控_第126张图片
Zabbix监控部署及MySQL监控_第127张图片

配置 agent 使用 proxy

1.在客户端修改 agent2 配置文件

[root@zbx-agent01 ~]# vim /etc/zabbix/zabbix_agent2.conf

Server=20.0.0.210			#80行,指定 zabbix 代理服务器的 IP 地址

Zabbix监控部署及MySQL监控_第128张图片

ServerActive=20.0.0.210		#150行,指定 zabbix 代理服务器的 IP 地址

在这里插入图片描述

2.在 Web 页面配置

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
Zabbix监控部署及MySQL监控_第129张图片

【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.10.21
【由agent代理程序监测】选择 zbx-proxy

Zabbix监控部署及MySQL监控_第130张图片

再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】

Zabbix监控部署及MySQL监控_第131张图片
Zabbix监控部署及MySQL监控_第132张图片

3.分别在客户端和代理服务器上重启服务

zbx-agent01 20.0.0.200

[root@zbx-agent01 ~]# systemctl restart zabbix-agent2.service 

Zabbix监控部署及MySQL监控_第133张图片

zbx-proxy 20.0.0.210

[root@zbx-proxy yum.repos.d]# systemctl restart zabbix-proxy

Zabbix监控部署及MySQL监控_第134张图片

点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

Zabbix监控部署及MySQL监控_第135张图片

在代理服务端查看日志

[root@zbx-proxy yum.repos.d]# tail -f /var/log/zabbix/zabbix_proxy.log
  5699:20230413:160405.731 proxy #26 started [poller #5]
  5680:20230413:160405.733 proxy #7 started [preprocessing manager #1]
  5691:20230413:160405.734 proxy #18 started [history syncer #3]
  5682:20230413:160405.734 proxy #9 started [preprocessing worker #2]
  5701:20230413:160405.735 proxy #28 started [icmp pinger #1]
  5700:20230413:160405.746 proxy #27 started [unreachable poller #1]
  5698:20230413:160405.748 proxy #25 started [poller #4]
  5681:20230413:160405.824 proxy #8 started [preprocessing worker #1]
  5683:20230413:160405.827 proxy #10 started [preprocessing worker #3]
  5695:20230413:160406.755 enabling Zabbix agent checks on host "zbx-agent01": host became available

Zabbix监控部署及MySQL监控_第136张图片

配置zabbix-snmp 监控

简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组 定义的一套网络管理协议

三种通信方式:读(get,getnext),写(set),trap(陷阱)
端口:161/udp 162/udp
监控网络设备:交换机、路由器

1.服务端安装 snmp 监控程序

[root@zbx-server ~]# yum install -y net-snmp net-snmp-utils

Zabbix监控部署及MySQL监控_第137张图片

2.修改 snmp 的配置文件,并启动服务

[root@zbx-server ~]# vim /etc/snmp/snmpd.conf

view    systemview    included   .1				#57行,添加此配置

在这里插入图片描述

[root@zbx-server ~]# systemctl start snmpd

3.使用 snmp 命令测试

[root@zbx-server ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname

SNMPv2-MIB::sysName.0 = STRING: zbx-server

============================================================
–v 1|2c|3:指定SNMP协议版本
============================================================

Zabbix监控部署及MySQL监控_第138张图片

4.在 Web 页面配置 snmp 方式监控

点击左边菜单栏【配置】中的【主机】,点击 Zabbix server

Zabbix监控部署及MySQL监控_第139张图片

【Interfaces】点击【添加】选择 SNMP ,端口设置成 161
Zabbix监控部署及MySQL监控_第140张图片
Zabbix监控部署及MySQL监控_第141张图片

点击上方菜单栏【模板】,【链接的模板】中的所有 agent 模板选择取消链接并清理

Zabbix监控部署及MySQL监控_第142张图片

再在【Link new templates】中搜索 Linux SNMP,选择 Template OS Linux SNMP
Zabbix监控部署及MySQL监控_第143张图片

点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式。
Zabbix监控部署及MySQL监控_第144张图片

Zabbix监控MySQL

1.登录mysql账户,创建监控用户及授权

[root@zbx-server ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5704
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'abc123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

Zabbix监控部署及MySQL监控_第145张图片

2.创建数据库免密登录文件(.my.cnf)

普通的zabbix agent不具备数据库登录环境,需要调用数据库客户端来登录数据库,要创建免密登录文件来实现,/var/lib/zabbix 是Zabbix agent 的家目录,如若没有需要自行创建

[root@zbx-server ~]# mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
[root@zbx-server ~]# chown zabbix:zabbix /var/lib/zabbix
[root@zbx-server ~]# touch /var/lib/zabbix/.my.cnf

在这里插入图片描述

[root@zbx-server ~]# vim /var/lib/zabbix/.my.cnf 


[client]
user='zbx_monitor'
password='abc123'

Zabbix监控部署及MySQL监控_第146张图片

3.创建自定义监控项

[root@zbx-server ~]# vim /etc/zabbix/zabbix_agentd.d/mysql.conf


UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"

在这里插入图片描述

4.需重启 zabbix-agent

[root@zbx-server ~]# systemctl restart zabbix-agent

5.在web端配置模板以及设置自动刷新时间30s

Zabbix监控部署及MySQL监控_第147张图片
Zabbix监控部署及MySQL监控_第148张图片

设置自动刷新时间30s
Zabbix监控部署及MySQL监控_第149张图片
Zabbix监控部署及MySQL监控_第150张图片
Zabbix监控部署及MySQL监控_第151张图片
Zabbix监控部署及MySQL监控_第152张图片
Zabbix监控部署及MySQL监控_第153张图片

Zabbix监控部署及MySQL监控_第154张图片

告警:MySQL: Buffer pool utilization is too low (less 50% for 5m)

由于分配了比实际需要更多的 RAM。结合实际情况,降低其严重性即可。
因为对存储服务器分配更多的RAM在合理计划范围内、增加缓冲池字节大小有利于提高性能。

MySQL官网:https://dev.mysql.com/doc/refman/8.0/en/innodb-buffer-pool-resize.html

Zabbix监控部署及MySQL监控_第155张图片

你可能感兴趣的:(zabbix,服务器,运维)