Linux系统监控模块之Zabbix7添加监控主机

发布于:2025-07-27 ⋅ 阅读:(19) ⋅ 点赞:(0)

目录

一、操作系统监控

1、Linux操作系统

1.1、被监控端配置

1.2、zabbix-server配置

2、Windows操作系统

2.1、Windows端配置

2.2、Zabbix Server配置

二、网络设备监控

1、GNS模拟器的使用

2、添加Cisco路由器的监控

3、结果展示

三、中间件监控

1、MySQL数据库监控

1.1、拷贝自定义的监控脚本到指定目录

1.2、添加监控用户

1.3、重启zabbix-agent服务

1.4、在zabbix-server服务端测试数据

1.5、在UI界面添加监控模版

1.6、添加自定义监控项及图形

2、Redis数据库监控

3、Nginx服务监控

4、MySQL主从监控

一、Zabbix Server(192.168.52.161)配置

1. 安装 Zabbix 组件

2. 配置数据库

3. 配置 Zabbix Server

4. 配置 PHP 时区

5. 启动服务

二、MySQL Master(192.168.52.162)配置

1. 安装 MySQL

2. 配置主库参数

3. 重启 MySQL 并创建复制用户

三、MySQL Slave(192.168.52.164)配置

1. 安装 MySQL

2. 配置从库参数

3. 重启 MySQL 并配置复制

四、Zabbix Agent 配置(Master 和 Slave)

1. 安装 Agent

2. 配置 Agent

3. 启动 Agent

五、Zabbix Web 配置

六、添加主机和模板

七、自定义复制监控(Slave)

1. 创建监控脚本

2. 创建监控项

3. 创建依赖监控项(用于解析 JSON 值)

八、创建触发器

九、安全优化

1. 创建专用监控用户

2. 使用 Zabbix 宏隐藏密码

十、验证配置

十一、性能优化建议

5、Redis集群监控

一、环境规划

二、软件安装与配置

1. Zabbix Server(192.168.52.161)配置

2. Redis 集群节点(192.168.52.165/166/167)配置

三、创建 Redis 集群

1. 生成集群配置(所有节点)

2. 验证集群状态

四、Zabbix 监控配置

1. 在 Redis 节点安装 Zabbix Agent(所有节点)

2. 在 Zabbix Server 创建 Redis 监控脚本

五、在 Zabbix Web 添加 Redis 监控

1. 导入 Redis 监控模板

2. 添加 Redis 主机

六、自定义 Redis 集群监控项

1. 创建集群节点数监控项

2. 创建集群状态监控项

七、创建触发器

1. 集群节点数异常告警

2. 集群状态异常告警

八、验证监控配置

九、安全与性能优化

1. Redis 安全配置

2. Zabbix 性能优化

3. Redis 性能参数


一、操作系统监控

1、Linux操作系统

1.1、被监控端配置

被监控端安装zabbix-agent

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
​
yum install -y zabbix-agent

配置zabbix-agent

vim zabbix_agentd.conf
​
117 Server=192.168.115.240  #zabbix serverIP地址

启动zabbix-agent服务

systemctl enable --now zabbix-agent.service 
root@localhost zabbix]# netstat -anptu |grep zabbix_agent
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      3562/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      3562/zabbix_agentd  
1.2、zabbix-server配置

添加主机

数据采集->主机->创建主机

填写内容后如下:

点击“添加”即可。

查看图形

在“可用性”处显示

监测->主机->图形

2、Windows操作系统

2.1、Windows端配置

下载zabbix-agent安装包,地址如下:

https://cdn.zabbix.com/zabbix/binaries/stable/7.0/7.0.4/zabbix_agent-7.0.4-windows-amd64.zip

在非C盘盘符中创建zabbix-agent目录,拷贝zabbix-agent安装包道该目录下,然后直接解压到该目录,最后打开“cmd”命令行,执行如下命令:

E:
cd zabbix-agent\bin
zabbix_agentd.exe  -i -c D:\zabbix-agent\conf\zabbix_agentd.conf
zabbix_agentd.exe -s
##验证启动结果
netstat -ano  | findstr 10050
  TCP    0.0.0.0:10050          0.0.0.0:0              LISTENING       8560
  TCP    [::]:10050             [::]:0                 LISTENING       8560
2.2、Zabbix Server配置

添加“windows”主机组

数据采集->主机群组->创建主机组

添加主机

数据采集->主机->创建主机

查看图形

在“可用性”处显示

监测->主机->图形

二、网络设备监控

1、GNS模拟器的使用

2、添加Cisco路由器的监控

3、结果展示

三、中间件监控

1、MySQL数据库监控

1.1、拷贝自定义的监控脚本到指定目录
cp /usr/share/doc/zabbix-agent/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/
1.2、添加监控用户
mysql
create user root@'192.168.115.%' identified by '123.com';
grant all on *.* to root@'192.168.115.%';
vim /etc/my.cnf
[client]
protocol=tcp
user='root'
password='123.com'
​
1.3、重启zabbix-agent服务
systemctl restart zabbix-agent
1.4、在zabbix-server服务端测试数据
yum install -y zabbix-get
​
zabbix_get -s 192.168.115.224 -p 10050 -k "mysql.ping[192.168.115.224,3306]"
​
zabbix_get -s 192.168.115.224 -p 10050 -k "mysql.version[192.168.115.224,3306]"
​
zabbix_get -s 192.168.115.224 -p 10050 -k "mysql.get_status_variables[192.168.115.224,3306]"
1.5、在UI界面添加监控模版

添加主机

查看图形

1.6、添加自定义监控项及图形

在监控mysql端添加自定义项目

vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.database.count[*], mysql -h"$1" -P"$2" -sN -e "show databases" | wc -l

在zabbix-server测试数据

[root@localhost zabbix]# zabbix_get -s 192.168.115.224 -p 10050 -k "mysql.database.count[192.168.115.224,3306]"
4
​

在UI界面添加监控项及图形

 安装GNS3

点击左上角preference

选择IOS routers

点击new

选择已有镜像

修改以上两个地方,然后点击finish

点击左边第五个all devices,将刚添加的路由器拖出

右键选择start

点击console打开控制台

刷新 

 点击idle-PC

选择数字最高并带*号的节点 

然后添加两台host主机,用左六的线进行连接并修改网口,然后开机

然后在虚拟机里配置网卡vmnet1和vmnet2,并将网卡设置为不要吧DHCP地址分配给主机

然后在windterm终端中用telnet远程连接路由器

点击上方画板添加笔记

查看版本

查看接口

进入全局模式,进行配置

进入接口模式0/0

然后进行配置

同样的步骤配置接口1/0

查看配置结果,已经配置好直连路由

在host1主机中配置IP地址,然后连接路由,然后连接默认路由

然后配置host2主机和路由

之后用host1去pinghost2

用示意图表示出用zabbix主机

用虚拟机连接路由器R2

配置zabbix主机和路由的连接

启动zabbix服务器数据库

启动zabbix客户端服务

测试zabbix服务端和路由的连通性

在路由器R2中创建路由器组

在zabbix中添加主机组

添加主机(服务端端口161,客户端端口162)

修改可用值,然后点击添加

选择模板

然后发现有图形界面

点进图形

客户端安装MySQL数据库

将客户端的配置拷贝过来然后进行修改,然后保存退出,重启服务

查看命令可用性

row代表行,输出为一个xml文档

选择服务端,更新模板

在客户端添加MySQL用户用于监控

修改MySQL配置文件

在zabbix服务端进行数据库测试

修改宏

更新之后等一会就可以在图形界面看到数据

2、Redis数据库监控

创建一台主机 ,并安装zabbix-agent2服务(关闭安全上下文和防火墙)

配置安装源

安装zabbix-agent2

在服务端安装并启动edis服务

修改服务端zabbix配置文件

保存退出后重启zabbix服务端

在zabbix网页上配置redis监控

查看图形

3、Nginx服务监控

在服务端安装nginx

然后启动nginx

然后配置模板

可以查看到图形

4、MySQL主从监控

创建监控脚本

赋予权限

添加以下监控项

重启zabbix服务

以下是基于三台主机已完成时间同步的优化配置步骤,重点关注服务安装、配置细节及安全优化,省略防火墙与时区配置相关内容。

一、Zabbix Server(192.168.52.161)配置

1. 安装 Zabbix 组件
# 添加Zabbix源

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm

dnf clean all

# 安装核心组件

dnf install -y zabbix-server-mysql zabbix-web-nginx zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
2. 配置数据库
# 安装并启动MySQL

dnf install -y mysql-server

systemctl enable --now mysqld

# 创建Zabbix数据库

mysql -u root -p

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Zabbix@123';

GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';

FLUSH PRIVILEGES;

EXIT;

# 导入初始Schema

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
3. 配置 Zabbix Server
# 编辑配置文件

vi /etc/zabbix/zabbix_server.conf

修改以下参数:

# 编辑配置文件

vi /etc/zabbix/zabbix_server.conf
4. 配置 PHP 时区
vi /etc/php-fpm.d/zabbix.conf

设置时区:

php_value[date.timezone] = Asia/Shanghai
5. 启动服务
systemctl enable --now zabbix-server zabbix-agent nginx php-fpm

二、MySQL Master(192.168.52.162)配置

1. 安装 MySQL
dnf install -y mysql-server

systemctl enable --now mysqld
2. 配置主库参数
vi /etc/my.cnf.d/mysql-server.cnf

添加以下配置:

[mysqld]

server-id = 101

log_bin = /var/log/mysql/mysql-bin.log

binlog_do_db = test_db # 需要复制的数据库

binlog_format = ROW # 推荐使用ROW格式

expire_logs_days = 7

sync_binlog = 1 # 确保事务安全

innodb_flush_log_at_trx_commit = 1
3. 重启 MySQL 并创建复制用户
systemctl restart mysqld

# 创建复制用户

mysql -u root -p

CREATE USER 'repl_user'@'192.168.52.164' IDENTIFIED BY 'Repl@123';

GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'192.168.52.164';

FLUSH PRIVILEGES;

# 查看主库状态

SHOW MASTER STATUS;

三、MySQL Slave(192.168.52.164)配置

1. 安装 MySQL
dnf install -y mysql-server

systemctl enable --now mysqld
2. 配置从库参数
vi /etc/my.cnf.d/mysql-server.cnf

添加以下配置:

[mysqld]

server-id = 104

relay_log = /var/log/mysql/mysql-relay-bin.log

read_only = 1

log_bin = /var/log/mysql/mysql-bin.log # 可选,用于级联复制

log_slave_updates = 1

sync_relay_log = 1

sync_relay_log_info = 1
3. 重启 MySQL 并配置复制
systemctl restart mysqld

# 配置复制关系(替换为实际的File和Position值)

mysql -u root -p

CHANGE MASTER TO

MASTER_HOST='192.168.52.162',

MASTER_USER='repl_user',

MASTER_PASSWORD='Repl@123',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=156;

# 启动复制

START SLAVE;

# 验证状态

SHOW SLAVE STATUS\G

四、Zabbix Agent 配置(Master 和 Slave)

1. 安装 Agent
# 添加Zabbix源并安装Agent

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm

dnf clean all

dnf install -y zabbix-agent
2. 配置 Agent
# 配置Master(162)

vi /etc/zabbix/zabbix_agentd.conf

修改以下参数:

Server=192.168.52.161

ServerActive=192.168.52.161

Hostname=MySQL-Master-162

# 配置Slave(164)

vi /etc/zabbix/zabbix_agentd.conf

修改以下参数:

Server=192.168.52.161

ServerActive=192.168.52.161

Hostname=MySQL-Slave-164
3. 启动 Agent
systemctl enable --now zabbix-agent

五、Zabbix Web 配置

  1. 浏览器访问 http://192.168.52.161/zabbix
  1. 按向导完成配置:
  • Database configuration
  • 主机:localhost
      • 数据库名:zabbix
  • 用户:zabbix
  • 密码:Zabbix@123
  • Zabbix server configuration
  • 主机名:localhost
      • 端口:10051
  1. 登录(默认账号:Admin,密码:zabbix)

六、添加主机和模板

  1. 添加 MySQL Master(162)
  • Configuration → Hosts → Create host
  • Host name:MySQL-Master-162
  • Interfaces:IP 填192.168.52.162,端口10050
  • Templates:链接Template DB MySQL
  • Groups:添加到Databases组
  • 点击 Add
  1. 添加 MySQL Slave(164)
    • 重复上述步骤,主机名填MySQL-Slave-164,IP 填192.168.52.164

七、自定义复制监控(Slave)

1. 创建监控脚本
# 在Zabbix Server(161)上创建脚本

mkdir -p /usr/lib/zabbix/externalscripts

vi /usr/lib/zabbix/externalscripts/check_mysql_slave.sh

脚本内容:

#!/bin/bash

# 用法:check_mysql_slave.sh <slave_ip> <mysql_user> <mysql_password>

SLAVE_IP=$1

USER=$2

PASSWORD=$3

RESULT=$(mysql -h $SLAVE_IP -u $USER -p$PASSWORD -e "SHOW SLAVE STATUS\G" 2>/dev/null)

IO_RUNNING=$(echo "$RESULT" | grep 'Slave_IO_Running:' | awk '{print $2}')

SQL_RUNNING=$(echo "$RESULT" | grep 'Slave_SQL_Running:' | awk '{print $2}')

DELAY=$(echo "$RESULT" | grep 'Seconds_Behind_Master:' | awk '{print $2}')

# 输出JSON格式,便于解析

echo "{\"io_running\":\"$IO_RUNNING\",\"sql_running\":\"$SQL_RUNNING\",\"delay\":$DELAY}"

设置权限:

chmod +x /usr/lib/zabbix/externalscripts/check_mysql_slave.sh

chown zabbix:zabbix /usr/lib/zabbix/externalscripts/check_mysql_slave.sh
2. 创建监控项
  • Configuration → Hosts → MySQL-Slave-164 → Items → Create item
  • Name:MySQL Slave Replication Status
  • Type:External check
  • Keycheck_mysql_slave.sh[192.168.52.164,zabbix_monitor,Monitor@123] # 使用专用监控用户
  • Type of information:Text
  • Update interval:30s
3. 创建依赖监控项(用于解析 JSON 值)
  • IO Running 状态
  • Name:MySQL Slave IO Running
  • Type:Dependent item
  • Master item:选择上面创建的MySQL Slave Replication Status
  • Key:jsonvalue[,,io_running]
  • Type of information:Character
  • SQL Running 状态
  • Name:MySQL Slave SQL Running
  • Type:Dependent item
  • Master item:选择上面创建的MySQL Slave Replication Status
  • Key:jsonvalue[,,sql_running]
  • Type of information:Character
  • 复制延迟(秒)
  • Name:MySQL Slave Replication Delay
  • Type:Dependent item
  • Master item:选择上面创建的MySQL Slave Replication Status
  • Key:jsonvalue[,,delay]
  • Type of information:Numeric (unsigned)

八、创建触发器

  1. 复制失败告警
  • Name:MySQL Slave Replication Stopped
  • Expression
{MySQL-Slave-164:mysql_slave_io_running.str(Yes)}=0 or

{MySQL-Slave-164:mysql_slave_sql_running.str(Yes)}=0
  • Severity:High
  • Recovery expression
{MySQL-Slave-164:mysql_slave_io_running.str(Yes)}=1 and

{MySQL-Slave-164:mysql_slave_sql_running.str(Yes)}=1
  1. 复制延迟告警
  • Name:MySQL Slave Replication Delay > 30s
  • Expression
{MySQL-Slave-164:mysql_slave_replication_delay.last()} > 30
  • Severity:Warning
  • Recovery expression
{MySQL-Slave-164:mysql_slave_replication_delay.last()} <= 30

九、安全优化

1. 创建专用监控用户
-- 在Slave(164)上执行

CREATE USER 'zabbix_monitor'@'192.168.52.161' IDENTIFIED BY 'Monitor@123';

GRANT REPLICATION CLIENT ON *.* TO 'zabbix_monitor'@'192.168.52.161';

FLUSH PRIVILEGES;
2. 使用 Zabbix 宏隐藏密码
  • Administration → General → Macros → Create macro

十、验证配置

  1. 查看监控数据
  • Monitoring → Latest data
  • 筛选 MySQL-Slave-164 主机,确认监控项正常采集
  1. 测试告警
  • 在 Slave(164)执行STOP SLAVE;
  • 等待 30 秒,检查 Zabbix 是否触发告警
  • 执行START SLAVE;恢复复制,确认告警解除

十一、性能优化建议

  1. 调整 Zabbix Server 参数
vi /etc/zabbix/zabbix_server.conf

优化以下参数:

StartPollers=15 # 增加轮询进程数

StartTrappers=5 # 增加主动监控进程数

CacheSize=128M # 增加缓存大小

HistoryCacheSize=64M # 增加历史数据缓存

TrendCacheSize=32M # 增加趋势数据缓存
  1. MySQL 性能参数
[mysqld]

innodb_buffer_pool_size = 512M # 根据服务器内存调整

innodb_log_file_size = 128M

query_cache_type = 0 # 关闭查询缓存(MySQL 8.0默认关闭)

5、Redis集群监控

一、环境规划

至少需要 3 台主机(1 台 Zabbix Server + 3 节点 Redis 集群):

主机角色 IP 地址 软件安装
Zabbix Server 192.168.52.161 Zabbix Server 6.4、Zabbix Agent
Redis Node 1 192.168.52.165 Redis 6.x、Zabbix Agent
Redis Node 2 192.168.52.166 Redis 6.x、Zabbix Agent
Redis Node 3 192.168.52.167 Redis 6.x、Zabbix Agent

二、软件安装与配置

1. Zabbix Server(192.168.52.161)配置
# 添加Zabbix源并安装
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm
dnf clean all
dnf install -y zabbix-server-mysql zabbix-web-nginx zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
​
# 配置数据库(已存在则跳过)
mysql -u root -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Zabbix@123';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
​
# 导入Zabbix架构
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
​
# 配置Zabbix Server数据库密码
vi /etc/zabbix/zabbix_server.conf
DBPassword=Zabbix@123
​
# 启动服务
systemctl enable --now zabbix-server zabbix-agent nginx php-fpm
2. Redis 集群节点(192.168.52.165/166/167)配置
# 添加EPEL源并安装Redis
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install -y redis
​
# 配置Redis(所有节点)
vi /etc/redis.conf

修改以下参数:

bind 0.0.0.0                # 允许外部访问
protected-mode no           # 关闭保护模式
port 6379                   # 端口
cluster-enabled yes         # 启用集群模式
cluster-config-file nodes.conf  # 集群配置文件
cluster-node-timeout 5000   # 节点超时时间
appendonly yes              # 开启AOF持久化
# 启动Redis并设置开机自启(所有节点)
systemctl enable --now redis

三、创建 Redis 集群

1. 生成集群配置(所有节点)
# 所有节点执行,生成集群ID
redis-cli --cluster create \
192.168.52.165:6379 \
192.168.52.166:6379 \
192.168.52.167:6379 \
--cluster-replicas 0

按提示输入yes确认创建集群。

2. 验证集群状态
# 任意节点执行
redis-cli -c -h 192.168.52.165 cluster nodes

确保所有节点状态正常(connected)。

四、Zabbix 监控配置

1. 在 Redis 节点安装 Zabbix Agent(所有节点)
# 添加Zabbix源并安装Agent
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm
dnf clean all
dnf install -y zabbix-agent
​
# 配置Agent指向Zabbix Server
vi /etc/zabbix/zabbix_agentd.conf

修改以下参数:

Server=192.168.52.161
ServerActive=192.168.52.161
Hostname=Redis-Node-165  # 节点1使用
# 或Hostname=Redis-Node-166  # 节点2使用
# 或Hostname=Redis-Node-167  # 节点3使用
# 启动Agent
systemctl enable --now zabbix-agent
2. 在 Zabbix Server 创建 Redis 监控脚本
mkdir -p /usr/lib/zabbix/externalscripts
vi /usr/lib/zabbix/externalscripts/redis_stats.sh

脚本内容:

#!/bin/bash
# 用法: redis_stats.sh <host> <port> <password> <metric>
​
HOST=$1
PORT=$2
PASSWORD=$3
METRIC=$4
​
if [ -n "$PASSWORD" ]; then
    AUTH="AUTH $PASSWORD"
else
    AUTH=""
fi
​
# 获取Redis信息
INFO=$(redis-cli -h "$HOST" -p "$PORT" $AUTH INFO 2>/dev/null)
​
if [ $? -ne 0 ]; then
    echo "0"
    exit 1
fi
​
# 提取指标
case $METRIC in
    connected_clients) echo "$INFO" | grep 'connected_clients:' | cut -d: -f2 | tr -d '\r' ;;
    used_memory) echo "$INFO" | grep 'used_memory:' | cut -d: -f2 | tr -d '\r' ;;
    used_memory_rss) echo "$INFO" | grep 'used_memory_rss:' | cut -d: -f2 | tr -d '\r' ;;
    keyspace_hits) echo "$INFO" | grep 'keyspace_hits:' | cut -d: -f2 | tr -d '\r' ;;
    keyspace_misses) echo "$INFO" | grep 'keyspace_misses:' | cut -d: -f2 | tr -d '\r' ;;
    role) echo "$INFO" | grep 'role:' | cut -d: -f2 | tr -d '\r' ;;
    cluster_enabled) echo "$INFO" | grep 'cluster_enabled:' | cut -d: -f2 | tr -d '\r' ;;
    cluster_known_nodes) echo "$INFO" | grep 'cluster_known_nodes:' | cut -d: -f2 | tr -d '\r' ;;
    cluster_size) echo "$INFO" | grep 'cluster_size:' | cut -d: -f2 | tr -d '\r' ;;
    *) echo "0" ;;
esac

设置权限:

chmod +x /usr/lib/zabbix/externalscripts/redis_stats.sh
chown zabbix:zabbix /usr/lib/zabbix/externalscripts/redis_stats.sh

五、在 Zabbix Web 添加 Redis 监控

1. 导入 Redis 监控模板
  1. 下载模板:Zabbix Redis Template

  1. Configuration → Templates → Import

  1. 选择下载的 XML 模板文件

2. 添加 Redis 主机
  1. Configuration → Hosts → Create host

  • Host name:Redis-Node-165
  • Interfaces:IP 192.168.52.165,端口 10050
  • Templates:链接Template App Redis
  • Macros
  • {$REDIS.HOST}:192.168.52.165
      • {$REDIS.PORT}:6379

  • {$REDIS.PASSWORD}:(如无密码则留空)
  1. 重复上述步骤添加其他 Redis 节点(166、167)

六、自定义 Redis 集群监控项

1. 创建集群节点数监控项
  • Configuration → Hosts → Redis-Node-165 → Items → Create item

  • Name:Redis Cluster Nodes
  • Type:External check
  • Keyredis_stats.sh[192.168.52.165,6379,,cluster_known_nodes]
  • Type of information:Numeric (unsigned)
  • Update interval:60s
2. 创建集群状态监控项
  • Name:Redis Cluster Status

  • Type:Zabbix agent
  • Key:system.run[redis-cli -c -h 192.168.52.165 cluster info | grep cluster_state | cut -d: -f2]
  • Type of information:Character
  • Update interval:60s

七、创建触发器

1. 集群节点数异常告警
  • Name:Redis Cluster Node Count Changed

2. 集群状态异常告警
  • Name:Redis Cluster Not Ok

  • Expression:{Redis-Node-165:system.run[redis-cli -c -h 192.168.52.165 cluster info | grep cluster_state | cut -d: -f2].str(ok)}=0
  • Severity:High

八、验证监控配置

  1. 查看监控数据

  • Monitoring → Latest data
  • 筛选 Redis 节点,确认各项指标正常显示
  1. 测试集群状态

  • 临时停止一个 Redis 节点:systemctl stop redis
  • 检查 Zabbix 是否触发Redis Cluster Node Count Changed告警
  • 重启 Redis 节点,确认告警恢复

九、安全与性能优化

1. Redis 安全配置
# 所有节点设置密码(可选)
vi /etc/redis.conf
requirepass YourRedisPassword  # 设置强密码
​
# 重启Redis
systemctl restart redis
2. Zabbix 性能优化
# 编辑Zabbix Server配置
vi /etc/zabbix/zabbix_server.conf

调整参数:

StartPollers=20
StartTrappers=10
CacheSize=256M
HistoryCacheSize=128M
TrendCacheSize=64M
3. Redis 性能参数
vi /etc/redis.conf

调整参数:

maxmemory 2G                  # 根据服务器内存调整
maxmemory-policy allkeys-lru  # 内存淘汰策略
tcp-keepalive 300             # 保持长连接


网站公告

今日签到

点亮在社区的每一天
去签到