Rocky9.4部署Zabbix7

目录

Zabbix原理与部署

一、zabbix简介:

二、zabbix 监控原理:

三、zabbix监控对象:

四、Zabbix架构:

4.1 server-client架构:

4.2 server-proxy-client架构:

4.3 master-node-client架构:

Rocky9部署Zabbix7

一、系统准备与环境配置

1、设置主机名,关闭防火墙,设置上下文

2、配置安装源

3、安装Zabbix server,Web前端,agent

4、安装与配置mysql数据库

5、导入始架构和数据,系统将提示您输入新创建的密码 

6、为Zabbix server配置数据库 

二、登录配置

1、浏览器访问:192.168.80.150

2、输入密码完成登录

3、再开一台虚拟机

三、创建模板

1、创建模板组

2、创建模板

3、创建监控项

4、创建触发器

5、增加监控项,增加用户登陆次数的监控


Zabbix原理与部署

一、zabbix简介:

  • zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

  • zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

  • zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。

  • zabbix server 可以通过 zabbix agent,SNMP协议,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在 Linux 等平台上。

  • zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

cacti、nagios

二、zabbix 监控原理:

    zabbix agent 安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后, 将数据存储到数据库中,用户基于 Zabbix Web 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值, 当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、钉钉、短信)、发送命令(shell 命令、reboot(重启程序)、restart、 install 等)。

三、zabbix监控对象:

zabbix支持监控各种系统平台,包括linux和windows等主流操作系统,也可以借助SNMP或者SSH协议监控路由交换设备。

zabbix如果部署在服务器上,可以监控其CPU、内存、网络等硬件参数,也可以监控具体服务(中间件:web中间件、数据库中间件、语言环境)或者应用程序(论坛、OA、ERP),服务运行情况及性能。

硬件监控(zabbix IPMI interface)

  • 通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控备监控的对象的物理特征,比如电压、温度、风扇状态、电源状态等。

系统监控(zabbix agent interface)

  • 通过专用的代理程序进行监控,与常见的master/agent模型类型,如果监控对象支持对应的agent,推荐选这种方式。

java监控(zabbix JMX interface)

  • 通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JMX虚拟机时,使用这种方法非常不错的选择。

网络设备监控(Zabbix SNMP Interface )

  • 通过SNMP协议与被监控对象进行通信,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。

四、Zabbix架构:

4.1 server-client架构:

  • 也就是zabbix的最简单的架构,监控机器和被监控机器之间不经过任何处理,直接由zabbix-server和zabbix-agent之间进行数据交换。

  • 适用于网络比较简单,尽量在局域网内,设备比较少的监控环境。

4.2 server-proxy-client架构:

  • 其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且本身并不存放数据,只是将agentd发来的数据暂时存放,然后再交给server。

  • 该架构经常是和master-node-client架构做比较。一般适用于跨机房、跨网络的中型网络架构的监控。

4.3 master-node-client架构:

  • 该架构是zabbix最大负载的监控架构,使用于跨机房、跨网络设备较多的大型环境。每一个node都会同步server端。相当于也是一个server端

  • node下面可以接proxy,也可以直接接clinet。

  • node有自己的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master的故障或损不会对影响node节点的正常工作,但是会影响zabbix-server整体的完整性。

Rocky9部署Zabbix7

一、系统准备与环境配置

1、设置主机名,关闭防火墙,设置上下文

设置主机名
hostnamectl set-hostname zabbix-server
关闭防火墙
[root@zabbix-server ~]# systemctl disable --now firewalld
[root@zabbix-server ~]# setenforce 0
[root@zabbix-server ~]# systemctl status firewalld
○ firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; preset: >
     Active: inactive (dead)
       Docs: man:firewalld(1)

2、配置安装源

[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
获取https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
警告:/var/tmp/rpm-tmp.m9yDFy: 头V4 RSA/SHA512 Signature, 密钥 ID b5333005: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-7.0-5.el9         ################################# [100%]




############
清理缓存
yum clean all

3、安装Zabbix server,Web前端,agent

yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

4、安装与配置mysql数据库

[root@zabbix-server ~]# yum -y install mysql-server

确保数据库启动成功,下面的直接复制不用改动

# mysql 


mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
适配的字符集
mysql> create user zabbix@localhost identified by 'zabbix';
创建用户设置密码
mysql> grant all privileges on zabbix.* to zabbix@localhost;
赋权
mysql> set global log_bin_trust_function_creators = 1;
二进制日志对应函数
mysql> quit;

5、导入始架构和数据,系统将提示您输入新创建的密码 

密码是刚创建的用户密码:zabbix

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix 

6、为Zabbix server配置数据库 

vim /etc/zabbix/zabbix_server.conf 

DBPassword=zabbix

7、为Zabbix server配置数据库

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


12 # ListenPort=10051             默认端口监听,默认关闭

131 DBPassword=zabbix             密码设置成创建用户的密码

8、为Zabbix前端配置PHP

编辑配置文件 /etc/nginx/conf.d/zabbix.conf

8.1、直接用8080端口访问  不用修改,去掉注释就行

listen 8080;
server_name example.com; 

8.2、修改成80端口访问,切换到/etc/nginx/nginx.conf,将server字段下的80端口注释掉

    server {
#        listen       80;
#        listen       [::]:80;

9、启动对应服务

systemctl enable --now zabbix-server zabbix-agent nginx php-fpm

二、登录配置

1、浏览器访问:192.168.80.150

一定要和系统时间一样,如果不一样修改配置文件

点击下一步,到这个界面安装完成

2、输入密码完成登录

数据传输路径,数据传给本机,不用修改;其他服务器要改成指向这台机器

[root@zabbix nginx]# cd /etc/zabbix/
[root@zabbix zabbix]# ls
web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf
[root@zabbix zabbix]# vim zabbix_agentd.conf 

3、再开一台虚拟机

3.1、安装配置源

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm

3.2、下载zabbix-agent

[root@localhost ~]# yum -y install zabbix-agent

3.3、修改zabbix配置文件,修改两处

[root@localhost ~]# cd /etc/zabbix/
[root@localhost zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@localhost zabbix]# vim zabbix_agentd.conf 


Server=192.168.80.150      #该IP指向配置主机的IP


182 Hostname=host1         #修改主机名

3.4、启动zabbix-agent;并关闭防火墙和上下文

[root@localhost zabbix]# systemctl start zabbix-agent.service 
[root@localhost zabbix]# systemctl disable --now firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[root@localhost zabbix]# setenforce 0

3.5、添加主机监控

3.6、添加完发现模板还是没有,需要添加模板;添加主机的项目是用模板添加的,模板可以制作,也可以用默认模式

点击主机名,创建模板,点击模板选择

点击宏,会出现许多变量和值;然后点击更新,创建完成

创建完成,发现有监控项,有模板;然后刷新,

点击图形,红色代表子集模板,

3.7、观看图形,点击监测———主机,再点击主机的图形

3.8、上图发现有许多小方框  不识别字符,需要导入中文字符

从windows系统中:C:\Windows\Fonts路径下拷贝

到zabbix server中,放到/usr/share/zabbix/assets/fonts

 再回到图形界面点击刷新,发现会识别到汉字

三、创建模板

1、创建模板组

2、创建模板

查看创建的模板,选择模板组,点击应用

3、创建监控项

3.1、切换目录到文件/usr/share/doc/zabbix-agent/,查看变量语法

[root@localhost ~]# cd /usr/share/doc/zabbix-agent/
[root@localhost zabbix-agent]# ls
AUTHORS  ChangeLog  COPYING  NEWS  README  userparameter_mysql.conf
[root@localhost zabbix-agent]# cat userparameter_mysql.conf 
#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default) 
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user=zbx_monitor
#password=<password>
#
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 SUM(DATA_LENGTH + INDEX_LENGTH) 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"

3.2、切换到

[root@localhost ~]# cd /etc/zabbix/
[root@localhost zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@localhost zabbix]# vim zabbix_agentd.conf 

3.4、切换到zabbix-agent.d,创建一个disk文件,监控磁盘使用率

root@localhost zabbix]# cd  zabbix_agentd.d/
[root@localhost zabbix_agentd.d]# vim disk.conf

3.5、在终端上测试出磁盘使用率

[root@localhost ~]# df
文件系统                1K-块    已用      可用 已用% 挂载点
devtmpfs                 4096       0      4096    0% /dev
tmpfs                  892624       0    892624    0% /dev/shm
tmpfs                  357052    7260    349792    3% /run
/dev/mapper/rl-root  73334784 6317140  67017644    9% /
/dev/mapper/rl-home 133083136  961012 132122124    1% /home
/dev/sda1              983040  310844    672196   32% /boot
tmpfs                  178524     104    178420    1% /run/user/0
[root@localhost ~]# df | grep "$/"
[root@localhost ~]# df | grep "/$"
/dev/mapper/rl-root  73334784 6317148  67017636    9% /
[root@localhost ~]# df | grep "\$/"
[root@localhost ~]# df | grep "^/"
/dev/mapper/rl-root  73334784 6317148  67017636    9% /
/dev/mapper/rl-home 133083136  961012 132122124    1% /home
/dev/sda1              983040  310844    672196   32% /boot
[root@localhost ~]# df | grep "/$"
/dev/mapper/rl-root  73334784 6317148  67017636    9% /

[root@localhost ~]# df | grep "/$" | awk '{print $(NF-1)}'
9%
[root@localhost ~]# df | grep "/$" | awk '{print $(NF-1)}' | cut -d% -f1
9
[root@localhost ~]# df | grep "/home$" | awk '{print $(NF-1)}' | cut -d% -f1
1
[root@localhost ~]# df | grep "/boot$" | awk '{print $(NF-1)}' | cut -d% -f1
32

3.6、回到disk文件中,将磁盘使用率的代码写进去

UserParameter=disk_use[*],df | grep "$1$" | awk '{print $(NF-1)}' | cut -d% -f1

3.7、重启zabbix-agent服务

[root@localhost zabbix_agentd.d]# systemctl restart zabbix-agent.service 

3.8、在服务端测试客户端输入的值是否可用,zabbix_get 命令使用,zabbix-get 命令下载

[root@zabbix ~]# yum -y install zabbix-get
[root@zabbix ~]# zabbix_get -s 192.168.80.151 -p 10050 -k disk_use[/]
9
[root@zabbix ~]# zabbix_get -s 192.168.80.151 -p 10050 -k disk_use[home]
1
[root@zabbix ~]# zabbix_get -s 192.168.80.151 -p 10050 -k disk_use[boot]
32

zabbix_get命令

zabbix_get [选项] -s <Agent主机IP或主机名> -p <端口> -k <监控项Key>

选项​​说明​
-s <host>指定目标 Agent 的 IP 或主机名(默认 localhost)。
-p <port>指定 Agent 的端口(默认 10050)。
-k <key>指定监控项 Key(必须参数)。
-I <IP>指定 Zabbix Server 的源 IP(用于多网卡环境)。
-h  显示帮助信息。-V显示版本信息。

3.9、打开刚才创建的模板,点击监控项,创建监控项

添加成功,然后点击图形创建图形

4、创建触发器

5、查看自己创建的模板图表,清理默认模板时一定要选择 取消模板并清理

1.2、测试数据传输,在192.168.80.151主机上创建测试文件

[root@localhost zabbix_agentd.d]# dd if=/dev/zero of=/test.txt bs=100M count=10
记录了10+0 的读入
记录了10+0 的写出
1048576000字节(1.0 GB,1000 MiB)已复制,3.0927 s,339 MB/s
[root@localhost zabbix_agentd.d]# df 
文件系统                1K-块    已用      可用 已用% 挂载点
devtmpfs                 4096       0      4096    0% /dev
tmpfs                  892624       0    892624    0% /dev/shm
tmpfs                  357052    7260    349792    3% /run
/dev/mapper/rl-root  73334784 7344408  65990376   11% /
/dev/mapper/rl-home 133083136  961012 132122124    1% /home
/dev/sda1              983040  310844    672196   32% /boot
tmpfs                  178524     104    178420    1% /run/user/0

然后观察监控是否有变化

5、增加监控项,增加用户登陆次数的监控

5.1、在终端测试

[root@localhost zabbix_agentd.d]# last | grep -v wtmp | grep -v "^$" | awk '{print $(NF+1-NF)}' | sort | uniq -c |grep root |  awk '{print $(NF+1-NF)}'
13
[root@localhost zabbix_agentd.d]# last | grep -v wtmp | grep -v "^$" | awk '{print $(NF+1-NF)}' | sort | uniq -c |grep reboot |  awk '{print $(NF+1-NF)}'
4

5.2、在配置文件中添加键值,并重启

[root@localhost zabbix_agentd.d]# cat disk.conf 
UserParameter=disk_use[*],df | grep "$1$" | awk '{print $(NF-1)}' | cut -d% -f1
UserParameter=count_use[*],last | grep -v wtmp | grep -v "^$" | awk '{print $(NF+1-NF)}' | sort | uniq -c |grep "$1" |  awk '{print $(NF+1-NF)}'


[root@localhost zabbix_agentd.d]# systemctl restart zabbix-agent.service 

5.3、接下来的添加步骤和上面添加监控项是一样的,下为图形监控

四、添加监控windows主机

1、关闭windows主机防火墙

打开安全中心

2、解压软件包

zabbix_agent(windows),放在D盘或其他,然后解压后进入conf文件夹,修改server为监控机ip

 ​​​​​

3、打开powershell以管理员身份打开

 3.2、回到zabbix添加群组

五、网络设备监控

1、安装GNS模拟器的使用

1.1、先创建路由器,点击编辑,点击首选项

 安装完,添加路由器,点击开机,右击console,进去刷新

刷新完成后,点击ldle-PC,计算一下,完成之后选择带  *  号最高的,点击ok完成创建

1.2、创建交换机

前面步骤参照路由器

 安装完成,开启交换机,和路由器步骤一样,也是选择带星号最高的

 1.3、用GNS3做路由实验

1.3.1、添加两台主机,和一台路由器

1.3.2、准备两台虚拟机

一台虚拟机连接VMnet1;另一台连接VMnet2;将两台虚拟机的DHCP关掉

1.3.3、连接路由器,2001本地连接端口,连接需要Telnet

R1#show version
查看路由器版本
R1#show interfaces 
查看路由器接口

先进入全局模式,再进入接口模式

R1(config)#inter
R1(config)#interface f0/0
R1(config-if)#ip addr
R1(config-if)#ip address 192.168.100.254 255.255.255.0
R1(config-if)#no shut
R1(config-if)#no shutdown 
R1(config-if)#
*Mar  1 00:00:51.143: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:00:52.143: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1(config-if)#interface f1/0
R1(config-if)#ip addr
R1(config-if)#ip address 192.168.200.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#
*Mar  1 00:17:30.107: %LINK-3-UPDOWN: Interface FastEthernet1/0, changed state to up
*Mar  1 00:17:31.107: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0





####
查看路由条目
R1(config-if)#do show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.200.0/24 is directly connected, FastEthernet1/0
C    192.168.100.0/24 is directly connected, FastEthernet0/0  #直连路由

2、虚拟机设置

vmnet1,vmnet2设置取消DHCP制动分配IP地址

主机一

查看IP是没有IP地址的,添加临时网关,和路由

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:df:d3:ad brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:29ff:fedf:d3ad/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:35:14:f7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:35:14:f7 brd ff:ff:ff:ff:ff:ff

#####临时添加一块网卡
[root@localhost ~]# ifconfig ens33 192.168.100.1/24


#####添加路由
[root@localhost ~]# route add -net 192.168.200.0/24 gw 192.168.100.254
[root@localhost ~]# ping 192.168.100.254
PING 192.168.100.254 (192.168.100.254) 56(84) bytes of data.
64 bytes from 192.168.100.254: icmp_seq=1 ttl=255 time=31.8 ms
64 bytes from 192.168.100.254: icmp_seq=2 ttl=255 time=9.56 ms
64 bytes from 192.168.100.254: icmp_seq=3 ttl=255 time=9.96 ms

主机二

临时添加IP 和路由

配置网关(net后加0/0是任意网关,可以单独指向地址段,也可以任意)

测试连通性

3、在添加一组主机和路由将zabbix主机连接到路由上

host3连接到VMnet8上

在192.168.80.150主机上ping是否连通

4、SNMP协议

监控网络设备要用SNMP协议(简单网络管理协议)

  • SNMP协议收集目标主机,需要协议对等,有v1、v2、v3
  • 协议传输需要验证密钥,成为共同体,共同体必须保持一致
  • 目标主机必须开启SNMP协议

5、添加路由器监控器

创建共同体,必须在全局模式下

R2(config)#snmp-server community c2505

 创建主机组

添加主机

修改宏点击添加

点击主机添加模板

等待一会,点击监测,R2主机图形

六、添加中间件监控

1、MySQL数据库监控

1.1、下载MySQL数据库

[root@localhost ~]# yum -y install mysql-server

1.2、将mysql的监控文件复制到zabbix_agentd.d的目录里,

[root@localhost ~]# cd /usr/share/doc/zabbix-agent/
[root@localhost zabbix-agent]# ls
AUTHORS  ChangeLog  COPYING  NEWS  README  userparameter_mysql.conf
[root@localhost zabbix-agent]# cp userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@localhost zabbix-agent]# cd /etc/zabbix/zabbix_agentd.d/
[root@localhost zabbix_agentd.d]# ls
disk.conf  userparameter_mysql.conf




#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default) 
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user=zbx_monitor
#password=<password>
#
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 SUM(DATA_LENGTH + INDEX_LENGTH) 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"


####
-sNX让当前命令查看到的数据变成可进行数据展示的文档结构,会变成xml文档

[root@localhost ~]# mysql -sNX -e "show global status"
<?xml version="1.0"?>

<resultset statement="show global status
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Variable_name">Aborted_clients</field>
        <field name="Value">0</field>
  </row>

  <row>
        <field name="Variable_name">Aborted_connects</field>
        <field name="Value">0</field>
  </row>

# <row> 代表行




[root@localhost ~]# mysql -sN -e "show databases"
information_schema
mysql
performance_schema
sys
 -s 或 --silent
​作用​:使 mysql 客户端以“静默模式”运行,减少输出信息,只输出查询结果。
​用法​:mysql -s
 -N 或 --skip-column-names*
​作用​:在输出结果中跳过列名和 footer 信息,仅输出数据行。这对于脚本处理非常有用,因为可以避免解析多余的元数据。
​用法​:mysql -N
 -X 或 --xml*
​作用​:以 XML 格式输出查询结果。这在需要将结果以结构化格式(如 XML)传递给其他工具或系统时非常有用。
​用法​:mysql -X

    1.3、测试userparameter_mysql.conf文件里的MySQL命令

    mysql> show global status\G;
    *************************** 1. row ***************************
    Variable_name: Aborted_clients
            Value: 0
    *************************** 2. row ***************************
    Variable_name: Aborted_connects
            Value: 0
    *************************** 3. row ***************************

    1.4、重启监控服务

    [root@localhost zabbix_agentd.d]# systemctl restart zabbix-agent.service 

    1.5、创建模板

    查看模板,查看模板说明

    1.6、创建主机监控项

     1.7、回到终端

    进入到mysql里面创建用户和赋权

    mysql
    create user root@'192.168.151.%' identified by '123.com';
    grant all on *.* to root@'192.168.151.%';

    将下面的内容复制到/etc/my.cnf

    vim /etc/my.cnf
    [client]
    protocol=tcp
    user='root'
    password='123.com'
    

    重启

     systemctl restart zabbix-agent.service 

    回到服务端测试

    [root@zabbix ~]# zabbix_get -s 192.168.80.151 -p 10050 -k "mysql.ping[192.168.80.151,3306]"
    mysqld is alive
    表示用户存在
    
    获取变量状态
    [root@zabbix ~]# zabbix_get -s 192.168.80.151 -p 10050 -k mysql.get_status_variables[192.168.80.151,3306]
    <?xml version="1.0"?>
    
    <resultset statement="show global status
    " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <row>
            <field name="Variable_name">Aborted_clients</field>
            <field name="Value">0</field>
      </row>
    

    1.7、回到监控网页

    点击刷新,会出现MySQL模板,点击主机,点击宏,更改IP,点击更新

    然后去查看监测本台主机的图形,是否有数据产生

    2、nginx数据库监控

    安装nginx

    2.1、修改nginx配置文件

    [root@localhost nginx]# vim nginx.conf
    在server字段中添加
    server
    
    location = /basic_status {
            stub_status;
            }
    
    
    #####测试是否成功
    [root@localhost nginx]# curl -s http://localhost/basic_status
    Active connections: 1 
    server accepts handled requests
     17 17 17 
    Reading: 0 Writing: 1 Waiting: 0 

    2.2、回到zabbix监控,添加nginx模板

    3、redis数据库监控

    redis模板在zabbix_agent2中需要下载

    在另一台主机需要配置仓库

    [root@agent2 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-1.el9.noarch.rpm
    
    
    [root@agent2 ~]# yum -y install zabbix-agent2

     下载redis

    查看是否有redis插件

    [root@agent2 ~]# zabbix_agent2 -p | grep redis

    3.1、

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值