redis&nginx运行参数采集脚本

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: redis&nginx运行参数采集脚本

640.png


今天去客户那边做技术交流,客户希望能聊聊nginx和redis两个服务的核心参数及其相关注意事项。宣讲结束后,给客户写了两个小demo脚本,开放给各位,有需要的朋友可以在这个基础上自行集成和丰富。


1、检查redis服务shell脚本


#!/bin/bash
# 获取Redis进程ID
redis_pid=$(pidof redis-server)
# 检查Redis是否在运行中
if [ -z "$redis_pid" ]; then
  echo "Redis服务未运行"
  exit 1
fi
# 获取Redis的版本信息
redis_version=$(redis-server --version)
# 获取Redis的运行状态信息
redis_status=$(systemctl status redis | grep Active)
# 获取Redis的内存使用情况
redis_memory=$(redis-cli info memory | grep used_memory_human)
# 获取Redis的网络连接情况
redis_clients=$(redis-cli info clients | grep connected_clients)
# 获取Redis的键值对数量
redis_keys=$(redis-cli info keyspace | grep keys)
# 打印获取的Redis信息
echo "Redis服务版本:$redis_version"
echo "Redis服务状态:$redis_status"
echo "Redis内存使用:$redis_memory"
echo "Redis客户端连接数:$redis_clients"
echo "Redis键值对数量:$redis_keys"


2、检查nginx服务的shell脚本:


#!/bin/bash
# 检查nginx进程是否正在运行
nginx_process=$(pgrep nginx)
if [ -z "$nginx_process" ]; then
  echo "Nginx进程未运行"
  echo "Nginx process is not running"
  exit 1
else
  echo "Nginx进程正在运行"
  echo "Nginx process is running"
fi
# 查询nginx的总请求数
total_requests=$(cat /usr/local/nginx/logs/access.log | awk '{print $7}' | wc -l)
echo "Nginx总请求数:$total_requests"
echo "Total number of Nginx requests: $total_requests"
# 查询nginx的并发连接数
concurrent_connections=$(cat /usr/local/nginx/logs/nginx.pid | wc -l)
echo "Nginx并发连接数:$concurrent_connections"
echo "Number of concurrent Nginx connections: $concurrent_connections"
# 查询nginx的内存使用情况
memory_usage=$(ps aux | grep nginx | grep -v grep | awk '{print $4}')
echo "Nginx内存使用情况:$memory_usage MB"
echo "Nginx memory usage: $memory_usage MB"
# 查询nginx的CPU使用情况
cpu_usage=$(ps aux | grep nginx | grep -v grep | awk '{print $3}')
echo "Nginx CPU使用情况:$cpu_usage%"
echo "Nginx CPU usage: $cpu_usage%"


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
应用服务中间件 Shell 开发工具
nginx+shell脚本实现一键启用与关闭停机维护页面
nginx+shell脚本实现一键启用与关闭停机维护页面
33 0
|
2月前
|
缓存 NoSQL Java
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
63 0
|
3月前
|
算法 NoSQL Java
springboot整合redis及lua脚本实现接口限流
springboot整合redis及lua脚本实现接口限流
82 0
|
1天前
|
弹性计算 应用服务中间件 Shell
一键编译安装Nginx脚本
【4月更文挑战第30天】
8 1
|
2天前
|
弹性计算 应用服务中间件 Shell
编写nginx 启动脚本
【4月更文挑战第29天】
9 1
|
6天前
|
存储 NoSQL 调度
Redis Lua脚本:原子性的真相揭秘
【4月更文挑战第20天】
21 0
Redis Lua脚本:原子性的真相揭秘
|
25天前
|
NoSQL Java Redis
lua脚本做redis的锁
这段内容是关于使用Redis实现分布式锁的Java代码示例。`RedisLock`类包含`lock`和`unlock`方法,使用`StringRedisTemplate`和Lua脚本进行操作。代码展示了两种加锁方式:一种带有过期时间,另一种不带。还提到了在加锁和解锁过程中的异常处理,并提供了相关参考资料链接。
18 3
|
28天前
|
存储 NoSQL 数据处理
Redis Lua脚本:赋予Redis更强大的逻辑与功能
Redis Lua脚本:赋予Redis更强大的逻辑与功能
|
2月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
233 0
|
2月前
|
NoSQL Java 应用服务中间件
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包