redis&nginx运行参数采集脚本

简介: 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%"


相关文章
|
缓存 NoSQL Redis
Redis 脚本
10月更文挑战第18天
197 3
|
11月前
|
NoSQL Redis 数据库
Docker平台上的Redis镜像运行
这就是如何在Docker平台上运行Redis镜像的全部过程。走进Docker和Redis的世界,探索更多可能!
712 10
|
缓存 NoSQL 搜索推荐
【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
本文介绍了如何通过Lua脚本在Redis中实现分布式锁的原子性操作,避免并发问题。首先讲解了Lua脚本的基本概念及其在Redis中的使用方法,包括通过`eval`指令执行Lua脚本和通过`script load`指令缓存脚本。接着详细展示了如何用Lua脚本实现加锁、解锁及可重入锁的功能,确保同一线程可以多次获取锁而不发生死锁。最后,通过代码示例演示了如何在实际业务中调用这些Lua脚本,确保锁操作的原子性和安全性。
710 6
【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
|
缓存 NoSQL 测试技术
Redis压测脚本及持久化机制
Redis压测脚本及持久化机制简介: Redis性能压测通过`redis-benchmark`工具进行,可评估读写性能。持久化机制包括无持久化、RDB(定期快照)和AOF(操作日志),以及两者的结合。RDB适合快速备份与恢复,但可能丢失数据;AOF更安全,记录每次写操作,适合高数据安全性需求。两者结合能兼顾性能与安全性,建议同时开启并定期备份RDB文件以确保数据安全。
241 9
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1305 25
|
NoSQL Redis 数据库
Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
通过本文的介绍,我们详细讲解了 Lua 脚本在 Redis 中的作用、`eval` 命令的使用方法以及 `redis.call` 和 `redis.pcall` 的区别和用法。通过合理使用 Lua 脚本,可以实现复杂的业务逻辑,确保操作的原子性,并减少网络开销,从而提高系统的性能和可靠性。
853 13
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
应用服务中间件 nginx
Nginx:怎么携带参数重定向
通过合理配置Nginx的 `rewrite`指令和 `return`指令,可以实现携带参数的重定向。这不仅可以确保用户请求被正确重定向,还可以保留原始查询参数,满足更多复杂的重定向需求。
484 2
|
应用服务中间件 nginx
Nginx:怎么携带参数重定向
通过合理配置Nginx的 `rewrite`指令和 `return`指令,可以实现携带参数的重定向。这不仅可以确保用户请求被正确重定向,还可以保留原始查询参数,满足更多复杂的重定向需求。
951 1
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1617 3