当前位置:   article > 正文

Zabbix监控部署及MySQL监控_zabbix监控mysql

zabbix监控mysql

Zabbix监控部署及MySQL监控

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

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-server20.0.0.100
zabbix客户端 zbx-agent0120.0.0.200

部署zabbix服务端 zabbix-server 20.0.0.100

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

在这里插入图片描述

修改配置文件,安装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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

[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路径改为阿里云网址路径

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

在这里插入图片描述

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

在这里插入图片描述

[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
元数据缓存已建立

  • 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

在这里插入图片描述

[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          #开启安装源
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

[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)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

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

  • 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

在这里插入图片描述

[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)]> 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

[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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述

[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 数据库的密码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

[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行,取消注释,修改时区
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

启动 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.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

浏览器访问,配置信息

浏览器访问:http:/20.0.0.100/zabbix
根据自身虚拟机ip地址输入ip
在这里插入图片描述
在这里插入图片描述

设置数据库的密码 zabbix
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录账号密码为:Admin/zabbix
在这里插入图片描述

修改页面显示文字
在这里插入图片描述

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

在这里插入图片描述

[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'
========================================================================================================================
  • 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

在这里插入图片描述

部署 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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

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

zbx-agent01 20.0.0.200

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

在这里插入图片描述

[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
  • 1
  • 2

在这里插入图片描述

zbx-server 20.0.0.100

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

在这里插入图片描述

[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

  • 1
  • 2
  • 3

在这里插入图片描述

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

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

  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

设置 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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

修改 agent2 配置文件

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

启动 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.

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

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

  • 1
  • 2
  • 3

在这里插入图片描述

在服务端验证 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


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

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

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

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

在这里插入图片描述

输入配置信息

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

在这里插入图片描述

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

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

点击 【添加】
在这里插入图片描述

自定义监控内容

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

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

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

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

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

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

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

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

  • 1
  • 2

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

点击上方菜单栏【应用集】,点击【创建应用集】
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

3.创建监控项

点击上方菜单栏【监控项】,点击【创建监控项】
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

点击上方菜单栏【触发器】,点击【创建触发器】
在这里插入图片描述

【名称】设置成 Number of login users is greater than 3
在这里插入图片描述

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

在这里插入图片描述

【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点击 【添加】

在这里插入图片描述
在这里插入图片描述

5.创建图形

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

在这里插入图片描述

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

在这里插入图片描述

【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击 【添加】
在这里插入图片描述

在这里插入图片描述

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

点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
在这里插入图片描述

点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】
在这里插入图片描述

此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标
在这里插入图片描述
在这里插入图片描述

7.设置邮件报警

点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
在这里插入图片描述

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

在这里插入图片描述

【密码】可登录QQ邮箱页面,点击【设置】–>【账户】中的【生成授权码】,通过短信获取授权码
在这里插入图片描述
在这里插入图片描述

点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击 【添加】,并测试功能

在这里插入图片描述

点击左边菜单栏【User settings】–>【报警媒介】,点击【添加】
在这里插入图片描述

【类型】选择 qq_Email
【收件人】设置成 960027936@139.com
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】

在这里插入图片描述

在这里插入图片描述

点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】
在这里插入图片描述
在这里插入图片描述

8.测试邮件报警

增加测试客户端的用户登录数超过触发器预设的值,查看【监测】–>【仪表盘】,确认报警
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.进行自动测试

打开多个20.0.0.200客户端XShell,已监测到问题,并且会发信息给设置的邮箱进行提示
在这里插入图片描述

zabbix 自动发现与自动注册

zabbix自动发现

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

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

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

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

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

在这里插入图片描述

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

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

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

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

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

【更新间隔】设置成 30s
在这里插入图片描述
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述

也可在服务端查看 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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

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

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

1.环境准备

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

在这里插入图片描述

在这里插入图片描述

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
在这里插入图片描述

2.修改 zabbix-agent2 配置文件

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


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


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述


[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

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

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

在这里插入图片描述

【名称】设置成 Auto registration

在这里插入图片描述
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent01

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】
在这里插入图片描述

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

在这里插入图片描述

点击下方的【添加】

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述
在服务端查看 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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

部署 zabbix 代理服务器(proxy)

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

agent --> proxy --> server

所需的机器ip地址
zabbix服务端 zbx-server20.0.0.100
zabbix客户端 zbx-agent0120.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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

在这里插入图片描述

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在这里插入图片描述

[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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述

[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 地址
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述


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

在这里插入图片描述

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

在这里插入图片描述

[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.
  • 1
  • 2
  • 3

在这里插入图片描述

在所有主机上配置 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
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
在 Web 页面配置 agent 代理

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

配置 agent 使用 proxy

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

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

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

在这里插入图片描述

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

在这里插入图片描述

2.在 Web 页面配置

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

zbx-agent01 20.0.0.200

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

在这里插入图片描述

zbx-proxy 20.0.0.210

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

在这里插入图片描述

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

在这里插入图片描述

在代理服务端查看日志

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

配置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

  • 1
  • 2

在这里插入图片描述

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

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

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

在这里插入图片描述

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

  • 1
  • 2

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协议版本
============================================================
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

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

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

在这里插入图片描述

【Interfaces】点击【添加】选择 SNMP ,端口设置成 161
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

再在【Link new templates】中搜索 Linux SNMP,选择 Template OS Linux SNMP
在这里插入图片描述

点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式。
在这里插入图片描述

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述

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

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

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


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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

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"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

4.需重启 zabbix-agent

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

  • 1
  • 2

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

在这里插入图片描述
在这里插入图片描述

设置自动刷新时间30s
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

告警: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

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/161100
推荐阅读
相关标签
  

闽ICP备14008679号