zabbix监控网站(nginx、redis、mysql)

news2025/4/8 15:50:05

目录

前提准备:

zabbix-server主机配置:

1. 安装数据库

nginx主机配置:

1. 安装nginx

redis主机配置:

1. 安装redis

mysql主机配置:

1. 安装数据库

zabbix-server:

1. 安装zabbix

2. 编辑配置文件

zabbix-web:nginx

1. 添加nginx模板

创建模板

创建应用集

2. 创建监控项

配置nginx活跃连接数

配置监控Nginx客户端的连接数

配置监控Nginx等待下一次请求指令的驻留连接数

配置监控Nginx读取客户端的连接数

配置监控Nginx总共处理的请求数

配置监控Nginx接受的连接数

配置监控Nginx处理的连接数

配置监控Nginx开机启动

配置监控Nginx版本

配置监控Nginx进程数

3. 创建触发器

配置Nginx开机启动触发器

配置Nginx运行状态触发器

配置Nginx版本变化触发器-这里正常选值,然后手动修改为diff

4. 创建图形

配置Nginx线程状态图

5. nginx主机添加监控脚本

6. 添加ZabbixAgent配置,并重启ZabbixAgent

7. 添加nginx配置,创建监控URL

8. 在server上验证Nginx监控数值获取

9. 添加nginx客户端主机

10. 关联模板和主机

11. 结果验证

zabbix-web:redis

1. 创建Redis模板

2. 创建应用集

3. 创建redis监控项

监控Redis开机启动

监控redis版本

监控Redis是否宕机

监控Redis总连接数

监控Redis执行的操作命令总数

监控Redis最近一次存盘的状态

3. 创建redis触发器

redis开机启动触发器

redis宕机触发器

redis响应触发器-这里的值手动修改为nodata

4. 添加Redis图形

5. redis主机添加模板

6. server检查

7. 添加redis主机

8. 关联模板和主机

9. 结果验证

zabbix-web:mysql

1. mysql模板,默认就有无需创建

2. 配置mysql

3. 创建配置文件/etc/zabbix/.my.cnf以提供ZabbixAgent访问数据库

4. 修改监控配置文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf,将所有的 “/var/lib/zabbix”修改为当前.my.cnf文件的路径“/etc/zabbix”

5. server验证

6. 添加mysql主机

7. 关联模板和主机

8. 结果验证


前提准备:

1. 四台centos,其中110作为zabbix-server,120作为nginx,130作为redis,140作为mysql

我使用的zabbix版本是3.0的版本

所需要的rpm软件包我已上传,可自行查看下载使用

2. 全部关闭防火墙

systemctl stop firewalld && systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0

3. 全部安装ntp

yum install -y ntp
systemctl start ntpd && systemctl enable ntpd

4. 全部安装zabbix所需要的yum源

rpm -ivh epel-release-latest-7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

5. 主机名称

hostnamectl set-hostname zabbix-server && bash
hostnamectl set-hostname nginx && bash
hostnamectl set-hostname redis && bash
hostnamectl set-hostname mysql && bash

6. hosts记录

cat >> /etc/hosts <<EOF
192.168.180.110	zabbix-server
192.168.180.120	nginx
192.168.180.130	redis
192.168.180.140	mysql
EOF

zabbix-server主机配置:

1. 安装数据库
yum install -y mariadb-server
systemctl start mariadb && systemctl enable mariadb

#登录
mysql
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
USE mysql;
UPDATE mysql.user SET password=PASSWORD('zabbix') WHERE user='root';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';

FLUSH PRIVILEGES;
quit;

//设置root账户密码为

'zabbix' UPDATE mysql.user SET password=PASSWORD('zabbix') WHERE user='root';

//授权zabbix账户使用密码'zabbix'本地访问zabbix数据库

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

//授权zabbix账户使用密码'zabbix'远程访问zabbix数据库

GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';

//授权zabbix账户使用密码'zabbix'本地访问zabbix_proxy数据库

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

//授权zabbix账户使用密码'zabbix'远程访问zabbix_proxy数据库

GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';


nginx主机配置:

1. 安装nginx
yum install -y nginx
systemctl start nginx && systemctl enable nginx

redis主机配置:

1. 安装redis
yum install -y redis
systemctl start redis && systemctl enable redis

mysql主机配置:

1. 安装数据库
yum install -y mariadb-server
systemctl start mariadb && systemctl enable mariadb

zabbix-server:

1. 安装zabbix
yum install -y zabbix-server-mysql-3.2.11 zabbix-web-mysql-3.2.11

#初始化数据库:输入zabbix
zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -uzabbix -p zabbix
2. 编辑配置文件
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

systemctl start zabbix-server && systemctl enable zabbix-server

3. 安装nginx和php-fpm

yum install -y nginx php-fpm

#编辑nginx文件
vim /etc/nginx/nginx.conf
index index.html index.php;

location ~\.php$ {
                fastcgi_buffer_size 128k;
                fastcgi_buffers 32 32k;
                include fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME
                         $document_root$fastcgi_script_name;
        }


#编辑php文件:修改值
vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai



cp -rp /usr/share/zabbix/ /usr/share/nginx/html/
systemctl start nginx php-fpm
systemctl enable nginx php-fpm


zabbix-web:nginx

1. 添加nginx模板
创建模板

创建应用集

2. 创建监控项
配置nginx活跃连接数

配置监控Nginx客户端的连接数

配置监控Nginx等待下一次请求指令的驻留连接数

配置监控Nginx读取客户端的连接数

配置监控Nginx总共处理的请求数

配置监控Nginx接受的连接数

配置监控Nginx处理的连接数

配置监控Nginx开机启动

配置监控Nginx版本

配置监控Nginx进程数

3. 创建触发器
配置Nginx开机启动触发器

配置Nginx运行状态触发器

配置Nginx版本变化触发器-这里正常选值,然后手动修改为diff

4. 创建图形

配置Nginx线程状态图

5. nginx主机添加监控脚本
yum install -y zabbix-agent
systemctl enable zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf


#编写nginx监控脚本
mkdir /etc/zabbix/scripts
vim /etc/zabbix/scripts/nginx-check.sh
#!/bin/bash
#Zabbix requested parameter
ZBX_REQ_DATA="$1"
ZBX_REQ_DATA_URL="$2"
#Nginx defaults
#设置Nginx监控URL
NGINX_STATUS_DEFAULT_URL="http://localhost:10080/nginx_status"
#定义监控工具
WGET_BIN="/usr/bin/wget"
#
#设置错误返回值
# - 能够在Zabbix中展示(避免NOT_SUPPORTED)
#
ERROR_NO_ACCESS_FILE="-0.9900"
ERROR_NO_ACCESS="-0.9901"
ERROR_WRONG_PARAM="-0.9902"
#either can not connect /bad host /bad port
ERROR_DATA="-0.9903"

#如果没有设定URL则取默认值
if [ ! -z "$ZBX_REQ_DATA_URL" ];then
	URL="$ZBX_REQ_DATA_URL"
else
	URL="$NGINX_STATUS_DEFAULT_URL"
fi

#将nginx状态数据存入变量中
NGINX_STATS=$($WGET_BIN -q $URL -O - 2>/dev/null)
#处理访问过程中的错误
if [ $? -ne 0 -o -z "$NGINX_STATS" ]; then
	echo $ERROR_DATA
	exit 1
fi
#
#获取nginx状态数据中的特定数值(即zabbix模板中添加的监控项)
#
case $ZBX_REQ_DATA in
	active_connections)
		echo "$NGINX_STATS" | head -1 | cut -f3 -d' '
	;;
	accepted_connections)
		echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f2 -d' '
	;;
	handled_connections)
		echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f3 -d' '
	;;
	handled_requests)
		echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f4 -d' '
	;;
	reading)
		echo "$NGINX_STATS" | tail -1 | cut -f2 -d' '
	;;
	writing)
		echo "$NGINX_STATS" | tail -1 | cut -f4 -d' '
	;;
	waiting)
		echo "$NGINX_STATS" | tail -1 | cut -f6 -d' '
	;;
	*)
		echo $ERROR_WRONG_PARAM;
		exit 1
	;;
esac
exit 0

chmod +x /etc/zabbix/scripts/nginx-check.sh

6. 添加ZabbixAgent配置,并重启ZabbixAgent
vim /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=nginx[*],/etc/zabbix/scripts/nginx-check.sh "$1" "$2"

systemctl restart zabbix-agent
7. 添加nginx配置,创建监控URL
vim /etc/nginx/conf.d/nginx-status.conf
server {
        listen 10080;
        server_name _;
        location /nginx_status {
                stub_status on;
                access_log off;
                allow 127.0.0.1;
                deny all;
        }
}

systemctl restart nginx
8. 在server上验证Nginx监控数值获取
rpm -ivh zabbix-get-3.2.11-1.el7.x86_64.rpm
zabbix_get -s 192.168.180.120 -k nginx[active_connections]

9. 添加nginx客户端主机

10. 关联模板和主机

11. 结果验证


zabbix-web:redis

1. 创建Redis模板

2. 创建应用集

3. 创建redis监控项
监控Redis开机启动

监控redis版本

监控Redis是否宕机

监控Redis总连接数

监控Redis执行的操作命令总数

监控Redis最近一次存盘的状态

3. 创建redis触发器
redis开机启动触发器

redis宕机触发器

redis响应触发器-这里的值手动修改为nodata

4. 添加Redis图形

5. redis主机添加模板
yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf


systemctl start zabbix-agent && systemctl enable zabbix-agent


vim /etc/zabbix/zabbix_agentd.d/redis.conf
UserParameter=redis[*],redis-cli info | grep $1":" | cut -d ':' -f 2
UserParameter=redis.version, redis-server --version | cut -d " " -f 3 | cut -
d "=" -f 1

systemctl restart zabbix-agent

6. server检查
zabbix_get -s 192.168.180.130 -k redis[total_commands_processed]

7. 添加redis主机

8. 关联模板和主机

9. 结果验证


zabbix-web:mysql

1. mysql模板,默认就有无需创建

2. 配置mysql
#创建MySQL监控账户
GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '654321';
FLUSH PRIVILEGES;

yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf

systemctl start zabbix-agent && systemctl enable zabbix-agent

3. 创建配置文件/etc/zabbix/.my.cnf以提供ZabbixAgent访问数据库
vim /etc/zabbix/.my.cnf
# Zabbix Agent
[mysql]
host=localhost
user=zabbix
password=654321

[mysqladmin]
host=localhost
user=zabbix
password=654321
4. 修改监控配置文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf,将所有的 “/var/lib/zabbix”修改为当前.my.cnf文件的路径“/etc/zabbix”
sed -i 's/\/var\/lib\/zabbix/\/etc\/zabbix/g' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
systemctl restart zabbix-agent
5. server验证
zabbix_get -s 192.168.180.140 -k mysql.status[Com_begin]

6. 添加mysql主机

7. 关联模板和主机

8. 结果验证



到此实验结束⭐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2328164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯冲刺

例题1&#xff1a;握手问题 方法1&#xff1a;数学推理(简单粗暴&#xff09; 方法2&#xff1a;用代码实现方法1 #include<iostream> using namespace std; int main() {int result 0;for (int i 1; i < 49; i){for (int j i 1; j < 50; j){//第i个人与第j个…

Spring Security(maven项目) 3.1.0

前言&#xff1a; 通过实践而发现真理&#xff0c;又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识&#xff0c;又从理性认识而能动地指导革命实践&#xff0c;改造主观世界和客观世界。实践、认识、再实践、再认识&#xff0c;这种形式&#xff0c;循环往…

C# 从代码创建选型卡+表格

private int tabNum 1; private int sensorNum 5; private void InitializeUI() {// 创建右侧容器面板Panel rightPanel new Panel{Dock DockStyle.Right,Width 300,BackColor SystemColors.ControlDark,Parent this};// 根据防区数量创建内容if (tabNum &g…

OpenCV 从入门到精通(day_02)

1. 边缘填充 为什么要填充边缘呢&#xff1f;我们以下图为例&#xff1a; 可以看到&#xff0c;左图在逆时针旋转45度之后原图的四个顶点在右图中已经看不到了&#xff0c;同时&#xff0c;右图的四个顶点区域其实是什么都没有的&#xff0c;因此我们需要对空出来的区域进行一个…

Ceph异地数据同步之-RBD异地同步复制(上)

#作者&#xff1a;闫乾苓 文章目录 前言基于快照的模式&#xff08;Snapshot-based Mode&#xff09;工作原理单向同步配置步骤单向同步复制测试双向同步配置步骤双向同步复制测试 前言 Ceph的RBD&#xff08;RADOS Block Device&#xff09;支持在两个Ceph集群之间进行异步镜…

【C++】STL库_stack_queue 的模拟实现

栈&#xff08;Stack&#xff09;、队列&#xff08;Queue&#xff09;是C STL中的经典容器适配器 容器适配器特性 不是独立容器&#xff0c;依赖底层容器&#xff08;deque/vector/list&#xff09;通过限制基础容器接口实现特定访问模式不支持迭代器操作&#xff08;无法遍历…

一周学会Pandas2 Python数据处理与分析-编写Pandas2 HelloWord项目

锋哥原创的Pandas2 Python数据处理与分析 视频教程&#xff1a; 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们首先准备一个excel文件&#xff0c;用来演示pandas操作数据集(数据的集合)。excel文件属于数据集的一种&#xf…

【易订货-注册/登录安全分析报告】

前言 由于网站注册入口容易被机器执行自动化程序攻击&#xff0c;存在如下风险&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露&#xff0c;不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 &#xff0c;造成用户无法登陆、注册&#xff0c;大量收到垃圾短信的…

如何在Windows上找到Python安装路径?两种方法快速定位

原文&#xff1a;如何在Windows上找到Python安装路径&#xff1f;两种方法快速定位 | w3cschool笔记 在 Windows 系统上找到 Python 的安装路径对于设置环境变量或排查问题非常重要。本文将介绍两种方法&#xff0c;帮助你找到 Python 的安装路径&#xff1a;一种是通过命令提…

lvgl避坑记录

一、log调试 #if LV_USE_LOG && LV_LOG_LEVEL > LV_LOG_LEVEL_INFOswitch(src_type) {case LV_IMG_SRC_FILE:LV_LOG_TRACE("lv_img_set_src: LV_IMG_SRC_FILE type found");break;case LV_IMG_SRC_VARIABLE:LV_LOG_TRACE("lv_img_set_src: LV_IMG_S…

element-plus中,表单校验的使用

目录 一.案例1&#xff1a;给下面的表单添加校验 1.目的要求 2.步骤 ①给需要校验的el-form-item项&#xff0c;添加prop属性 ②定义一个表单校验对象&#xff0c;里面存放了每一个prop的检验规则 ③给el-form组件&#xff0c;添加:rules属性 ④给el-form组件&#xff0…

PyTorch复现线性模型

【前言】 本专题为PyTorch专栏。从本专题开始&#xff0c;我将通过使用PyTorch编写基础神经网络&#xff0c;带领大家学习PyTorch。并顺便带领大家复习以下深度学习的知识。希望大家通过本专栏学习&#xff0c;更进一步了解人更智能这个领域。 材料来源&#xff1a;2.线性模型_…

Kafka+Zookeeper从docker部署到spring boot使用完整教程

文章目录 一、Kafka1.Kafka核心介绍&#xff1a;​核心架构​核心特性​典型应用 2.Kafka对 ZooKeeper 的依赖&#xff1a;3.去 ZooKeeper 的演进之路&#xff1a;注&#xff1a;&#xff08;本文采用ZooKeeper3.8 Kafka2.8.1&#xff09; 二、Zookeeper1.核心架构与特性2.典型…

RK3568驱动 SPI主/从 配置

一、SPI 控制器基础配置(先说主的配置&#xff0c;后面说从的配置) RK3568 集成高性能 SPI 控制器&#xff0c;支持主从双模式&#xff0c;最高传输速率 50MHz。设备树配置文件路径通常为K3568/rk356x_linux_release_v1.3.1_20221120/kernel/arch/arm64/boot/dts/rockchip。 …

【全队项目】智能学术海报生成系统PosterGenius--风格个性化调整

​ &#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#x1f3c0;大模型实战训练营 ​&#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 1.前言 PosterGenius致力于开发一套依托DeepSeek…

【系统移植】(六)第三方驱动移植

【系统移植】&#xff08;六&#xff09;第三方驱动移植 文章目录 【系统移植】&#xff08;六&#xff09;第三方驱动移植1.编译驱动进内核方法一&#xff1a;编译makefile方法二&#xff1a;编译kconfig方法三&#xff1a;编译成模块 2.字符设备框架 编译驱动进内核a. 选择驱…

STM32实现一个简单电灯

新建工程的步骤 建立工程文件夹&#xff0c;Keil中新建工程&#xff0c;选择型号工程文件夹里建立Start、Library、User等文件夹&#xff0c;复制固件库里面的文件到工程文件夹工程里对应建立Start、Library、User等同名称的分组&#xff0c;然后将文件夹内的文件添加到工程分组…

【shiro】shiro反序列化漏洞综合利用工具v2.2(下载、安装、使用)

1 工具下载 shiro反序列化漏洞综合利用工具v2.2下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1kvQEMrMP-PZ4K1eGwAP0_Q?pwdzbgp 提取码&#xff1a;zbgp其他工具下载&#xff1a; 除了该工具之外&#xff0c;github上还有其他大佬贡献的各种工具&#xff0c;有…

vue进度条组件

<div class"global-mask" v-if"isProgress"><div class"contentBox"><div class"progresstitie">数据加载中请稍后</div><el-progress class"progressStyle" :color"customColor" tex…

CSRF跨站请求伪造——入门篇【DVWA靶场low级别writeup】

CSRF跨站请求伪造——入门篇 0. 前言1. 什么是CSRF2. 一次完整的CSRF攻击 0. 前言 本文将带你实现一次完整的CSRF攻击&#xff0c;内容较为基础。需要你掌握的基础知识有&#xff1a; 了解cookie&#xff1b;已经安装了DVWA的靶场环境&#xff08;本地的或云的&#xff09;&am…