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

目录

前提准备:

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=zabbixsystemctl 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/Shanghaicp -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" ];thenURL="$ZBX_REQ_DATA_URL"
elseURL="$NGINX_STATUS_DEFAULT_URL"
fi#将nginx状态数据存入变量中
NGINX_STATS=$($WGET_BIN -q $URL -O - 2>/dev/null)
#处理访问过程中的错误
if [ $? -ne 0 -o -z "$NGINX_STATS" ]; thenecho $ERROR_DATAexit 1
fi
#
#获取nginx状态数据中的特定数值(即zabbix模板中添加的监控项)
#
case $ZBX_REQ_DATA inactive_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 0chmod +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.confsystemctl start zabbix-agent && systemctl enable zabbix-agentvim /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 1systemctl 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.confsystemctl 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.mzph.cn/web/74764.shtml

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

相关文章

无人机等非合作目标公开数据集2025.4.3

一.无人机遥感数据概述 1.1 定义与特点 在遥感技术的不断发展中&#xff0c;无人机遥感数据作为一种新兴的数据源&#xff0c;正逐渐崭露头角。它是通过无人驾驶飞行器&#xff08;UAV&#xff09;搭载各种传感器获取的地理空间信息&#xff0c;具有 覆盖范围大、综合精度高、…

大数据时代的隐私保护:区块链技术的创新应用

一、引言 在当今数字化时代&#xff0c;大数据已经成为推动社会发展的关键力量。从商业决策到社会治理&#xff0c;从医疗健康到金融服务&#xff0c;数据的价值日益凸显。然而&#xff0c;随着数据的大量收集和广泛使用&#xff0c;隐私保护问题也日益突出。如何在充分利用大…

LeetCode 2442:统计反转后的不同整数数量

目录 核心思想&#xff1a;数字的“拆分”与“重组” 分步拆解&#xff08;以输入 123 为例&#xff09; 关键操作详解 为什么能处理中间或末尾的0&#xff1f; 数学本质 总结 题目描述 解题思路 代码实现 代码解析 复杂度分析 示例演示 总结 核心思想&#xff1a;…

Python爬虫第3节-会话、Cookies及代理的基本原理

目录 一、会话和Cookies 1.1 静态网页和动态网页 1.2 无状态HTTP 1.3 常见误区 二、代理的基本原理 2.1 基本原理 2.2 代理的作用 2.3 爬虫代理 2.4 代理分类 2.5 常见代理设置 一、会话和Cookies 大家在浏览网站过程中&#xff0c;肯定经常遇到需要登录的场景。有些…

Flutter项目之登录注册功能实现

目录&#xff1a; 1、页面效果2、登录两种状态界面3、中间按钮部分4、广告区域5、最新资讯6、登录注册页联调6.1、网络请求工具类6.2、注册页联调6.3、登录问题分析6.4、本地缓存6.5、共享token6.6、登录页联调6.7、退出登录 1、页面效果 import package:flutter/material.dart…

木马学习记录

一句话木马是什么 一句话木马就是仅需要一行代码的木马&#xff0c;很简短且简单&#xff0c;木马的函数将会执行我们发送的命令 如何发送命令&#xff06;发送的命令如何执行? 有三种方式&#xff1a;GET&#xff0c;POST&#xff0c;COOKIE&#xff0c;一句话木马中用$_G…

(C语言)单链表(1.0)(单链表教程)(数据结构,指针)

目录 1. 什么是单链表&#xff1f; 2. 单链表的代码表示 3. 单链表的基本操作 3.1 初始化链表 3.2 插入结点&#xff08;头插法&#xff09; 3.3 插入结点&#xff08;尾插法&#xff09; 3.4 遍历链表 4. 单链表的优缺点 代码&#xff1a;*L(LinkList)malloc(sizeof(…

Sentinel-自定义资源实现流控和异常处理

目录 使用SphU的API实现自定义资源 BlockException 使用SentinelResource注解定义资源 SentinelResourceAspect 使用Sentinel实现限流降级等效果通常需要先把需要保护的资源定义好&#xff0c;之后再基于定义好的资源为其配置限流降级等规则。 Sentinel对于主流框架&#…

Linux信号处理解析:从入门到实战

Linux信号处理全解析&#xff1a;从入门到实战 一、初识Linux信号&#xff1a;系统级的"紧急电话" 信号是什么&#xff1f; 信号是Linux系统中进程间通信的"紧急通知"&#xff0c;如同现实中的交通信号灯。当用户按下CtrlC&#xff08;产生SIGINT信号&…

Java的Selenium的特殊元素操作与定位之select下拉框

如果页面元素是一个下拉框&#xff0c;我们可以将此web元素封装为Select对象 Select selectnew Select(WebElement element); Select对象常用api select.getOptions();//获取所有选项select.selectBylndex(index);//根据索引选中对应的元素select.selectByValue(value);//选…

蓝桥云客 刷题统计

刷题统计 问题描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目&#xff0c;周六和周日每天做 b 道题目。请你帮小明计算&#xff0c;按照计划他将在第几天实现做题数大于等于 n 题&#xff1f; 输入格式 输入一行包含三个整数 a, b 和 …

三防笔记本有什么用 | 三防笔记本有什么特别

在现代社会&#xff0c;随着科技的不断进步&#xff0c;笔记本电脑已经成为人们工作和生活的重要工具。然而&#xff0c;在一些特殊的工作环境和极端条件下&#xff0c;普通笔记本电脑往往难以满足需求。这时&#xff0c;三防笔记本以其独特的设计和卓越的性能&#xff0c;成为…

智能体和RPA都需要程序思维,如何使用影刀的变量?

欢迎来到涛涛聊AI&#xff0c; 不管AI还是RPA&#xff0c;都需要用到编程思想才能完成批量工作。今天研究了下影刀的变量。 变量类型 根据变量值选择相应的类型&#xff0c;可选择任意一种影刀所支持的数据类型 变量值 指定变量中保存的值&#xff0c;会根据不同的类型设置…

【蓝桥杯】算法笔记3

1. 最长上升子序列(LIS) 1.1. 题目 想象你有一排数字,比如:3, 1, 2, 1, 8, 5, 6 你要从中挑出一些数字,这些数字要满足两个条件: 你挑的数字的顺序要和原来序列中的顺序一致(不能打乱顺序) 你挑的数字要一个比一个大(严格递增) 问:最多能挑出多少个这样的数字? …

性能测试之jmeter的基本使用

简介 Jmeter是Apache的开源项目&#xff0c;基于Java开发&#xff0c;主要用于进行压力测试。 优点&#xff1a;开源免费、支持多协议、轻量级、功能强大 官网&#xff1a;https://jmeter.apache.org/index.html 安装 安装步骤&#xff1a; 下载&#xff1a;进入jmeter的…

【NLP 面经 7、常见transformer面试题】

目录 1. 为何使用多头注意力机制&#xff1f; 2. Q和K使用不同权重矩阵的原因 3. 选择点乘而非加法的原因 4. Attention进行scaled的原因 5. 对padding做mask操作 6. 多头注意力降维原因 7. Transformer Encoder模块简介 8. 乘以embedding size的开方的意义 9. 位置编码 10. 其…

【深度学习】CNN简述

文章目录 一、卷积神经网络&#xff08;CNN&#xff09;二、CNN结构特性1. CNN 典型结构2. 局部连接3. 权重共享4.空间或时间上的次采样 三、理解层面 一、卷积神经网络&#xff08;CNN&#xff09; 卷积神经网络(Convolutional Neural Network&#xff0c;CNN)是一种用于处理…

理解OSPF 特殊区域NSSA和各类LSA特点

本文基于上文 理解OSPF Stub区域和各类LSA特点 在理解了Stub区域之后&#xff0c;我们再来理解一下NSSA区域&#xff0c;NSSA区域用于需要引入少量外部路由&#xff0c;同时又需要保持Stub区域特性的情况 一、 网络总拓扑图 我们在R1上配置黑洞路由&#xff0c;来模拟NSSA区域…

论文阅读笔记:Denoising Diffusion Implicit Models (5)

0、快速访问 论文阅读笔记&#xff1a;Denoising Diffusion Implicit Models &#xff08;1&#xff09; 论文阅读笔记&#xff1a;Denoising Diffusion Implicit Models &#xff08;2&#xff09; 论文阅读笔记&#xff1a;Denoising Diffusion Implicit Models &#xff08…

蓝桥杯2024年第十五届省赛真题-R 格式

题目链接&#xff1a; 思路&#xff1a; 通过数组模拟d的每一位&#xff0c;逐位进行计算&#xff0c;从而实现对d的精确处理。 代码&#xff1a; #include<bits/stdc.h> #define int long long using namespace std; const int N 2020;int n; string s; vector<i…