千家信息网

如何用Zabbix监控PHP-FPM、Tomcat以及Redis

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家分享的是用Zabbix监控PHP-FPM、Tomcat以及Redis,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。一、Zabbix监控P
千家信息网最后更新 2025年12月02日如何用Zabbix监控PHP-FPM、Tomcat以及Redis

这篇文章给大家分享的是用Zabbix监控PHP-FPM、Tomcat以及Redis,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

一、Zabbix监控PHP-FPM应用实战

Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP-FPM呢?PHP-FPM是一个PHP FastCGI管理器,它提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,对于ZPHP5.3.3之前的PHP来说,它是一个补丁包,而从PHP5.3.3版本开始,PHP内部已经集成了php-fpm模块,意味着被PHP官方收录了。在编译PHP时需指定参数"--enable-fpm"来开启PHP-FPM。

1)启用php-fpm状态功能

操作如下:

1)安装nginx[root@agent ~]# yum -y install zlib pcre pcre-devel openssl openssl-devel[root@agent ~]# wget http://nginx.org/download/nginx-1.14.1.tar.gz[root@agent ~]# tar zxf nginx-1.14.1.tar.gz -C /usr/src[root@agent ~]# cd /usr/src/nginx-1.14.1/[root@agent nginx-1.14.1]#  ./configure --prefix=/usr/local/nginx --user=www --group=www \>  --with-http_stub_status_module --with-http_ssl_module --with-pcre \>  --with-http_gzip_static_module && make && make install[root@agent nginx-1.14.1]#  ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin2)安装php[root@agent ~]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel openldap openldap-devel[root@agent ~]#  wget https://www.php.net/distributions/php-7.2.3.tar.gz[root@agent ~]# useradd -s /sbin/nologin www[root@agent ~]#  tar zxf php-7.2.3.tar.gz -C /usr/src[root@agent ~]#  cd /usr/src/php-7.2.3/[root@agent php-7.2.3]# ./configure --prefix=/usr/local/php7 --enable-fpm  --with-fpm-user=www --with-fpm-group=www && make && make install[root@agent php-7.2.3]#  ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin[root@agent php-7.2.3]# cp php.ini-production /usr/local/php7/lib/php.ini[root@agent php-7.2.3]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/[root@agent php-7.2.3]#  vim  /usr/local/php7/lib/php.ini post_max_size = 16Mmax_execution_time = 300memory_limit = 128Mmax_input_time = 300date.timezone = Asia/Shanghai[root@agent php-7.2.3]# vim /usr/local/nginx/conf/nginx.conf        location ~ \.php$ {            root           html;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;            include        fastcgi_params;        }[root@agent php-7.2.3]#  nginx -t[root@agent php-7.2.3]# cd /usr/local/php7/etc/[root@agent etc]# cp php-fpm.conf.default php-fpm.conf[root@agent etc]# cp php-fpm.d/www.conf.default php-fpm.d/www.conf[root@agent etc]# vim php-fpm.d/www.conf[www]user = wwwgroup = wwwlisten = 127.0.0.1:9000pm = dynamicpm.max_children = 300pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.status_path = /status[root@agent etc]# nginx[root@agent etc]# systemctl daemon-reload [root@agent etc]# systemctl start php-fpm[root@agent etc]# ss  -lnt | grep 9000LISTEN     0      128    127.0.0.1:9000                     *:*                  [root@agent etc]# ss  -lnt | grep 80LISTEN     0      128          *:80                       *:*                  
/usr/local/php7/etc/php-fpm.d/www.conf 文件中修改的参数:1)user和group:用于设置运行phpf-pm进程的用户及用户组;2)listen:是配置php-fpm进程监听的IP地址及端口,默认是127.0.0.1:9000;3)pm:指定php-fpm进程池开启进程的方式,有两个值可供选择,分别是static(静态)和dynamic(动态)dynamic(动态):表示php-fpm进程数是动态的,最开始是php.start_servers指定的数量,如果请求较多,则会自动增加,保证空闲的进程数不小于pm.min_spare_servers,如果进程较多,也会进行相应清理,保证空闲的进程数不多与pm.max_spare_servers;static(静态):表示php-fpm进程数是静态的,进程数自始至终都是pm.max_children指定的数量,不在增加或减少;4)pm.max_children = 300:在static方式下表示固定开启的php-fpm进程数量,在dynamic方式下表示开启php-fpm的最大进程数;5)pm.start_servers = 20:表示在dynamic方式下初始开启php-fpm进程数量;6)pm.min_spare_servers = 5:表示在dynamic方式空闲状态下开启的最小php-fpm进程数量;7)pm.max_spare_servers = 35:表示在dynamic方式空闲状态下开启的最大php-fpm进程数量,这里需注意pm.max_spare_servers的值只能小于等于pm.max_children的值;8)pm.status_path = /status:表示配置php-fpm运行状态页面的路径;

设置参数时,需注意:如果pm为static,那么其实只有pm.max_children这个参数生效,系统会开启设置数量的php-fpm进程。如果pm为dynamic,系统会在php-fpm运行开始的时候启动pm.start_servers个php-fpm进程,然后根据系统的需求动态地在pm.min_spare_servers和pm.max_spare_servers之间调整php-fpm进程数,最大不超过pm.max_children设置的进程数。

个人建议:内存充足(16G以上)的服务器,推荐使用static方式,内存较小(16G以下)的服务器,推荐使用dynamic方式。

2)nginx配置php-fpm状态页面

开启php-fpm的状态监控页面后,还需在nginx配置文件添加location规则来实现。如下:

[root@agent ~]# vim /usr/local/nginx/conf/nginx.conf//添加以下location规则        location ~^/(status)$ {            fastcgi_pass 127.0.0.1:9000;            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;            include        fastcgi_params;        }[root@agent ~]# nginx -t[root@agent ~]# nginx -s reload

3)php-fpm status页面状态

php-fpm状态页面比较个性化的一个地方就是它可以自带参数,可以带的参数有:json、xml、htm,使用zabbix或nagios监控可以考虑使用xml或默认方式。

[root@agent ~]# curl http://127.0.0.1/status//查看php-fpm状态页面信息(默认输出方式)pool:                 wwwprocess manager:      dynamicstart time:           01/Feb/2020:11:19:34 +0800start since:          3235accepted conn:        1listen queue:         0max listen queue:     0listen queue len:     128idle processes:       19active processes:     1total processes:      20max active processes: 1max children reached: 0slow requests:        0[root@agent ~]# curl http://127.0.0.1/status?xml       //以xml格式显示[root@agent ~]# curl http://127.0.0.1/status?json     //以json格式显示

输出参数的含义:
1)pool:php-fpm pool(资源池)的名称,大多数情况下为www;
2)process manager:进程管理方式,现今大多都为dynamic,不要使用static;
3)start time:上次启动的时间;
4)start since: 已运行了多少秒;
5)accepted conn pool:接收到的请求数;
6)listen queue:处于等待状态中的连接数,如果不为0,需要增加php-fpm进程数;
7)max listen queue:从php-fpm启动到现在处于等待连接的最大数量;
8)listen queue len:处于等待连接队列的套接字大小;
9)idle processes:处于空闲状态的进程数;
10)active processes:处于活动状态的进程数;
11)total processess:进程总数;
12)max active process:从php-fpm启动到现在最多有几个进程处于活动状态;
13)max children reached:当php-fpm试图启动更多的children进程时,却达到了进程数的限制,达到一次记录一次,如果不为0,需要增加php-fpm pool进程的最大数;
14)slow requests:当启用了php-fpm slow-log功能时,如果出现php-fpm慢请求这个计数器会增加,一般不当的Mysql查询会触发这个值;

4)在zabbix agent端添加自定义监控

监控php-fpm状态,非常简单,无需单独编写脚本,一条命令即可搞定,如下:

[root@agent ~]# /usr/bin/curl -s "http://127.0.0.1/status?xml" | grep "" | awk -F'>'awk -F'<|>' '{print $3}'17[root@agent ~]# /usr/bin/curl -s "http://127.0.0.1/status?xml" | grep "" | awk -F'>'awk -F'<|>' '{print $3}'dynamic[root@agent ~]# /usr/bin/curl -s "http://127.0.0.1/status?xml" | grep "" | awk -F'>'awk -F'<|>' '{print $3}'1//只要将grep命令后的过滤值当作变量,这样就可以获取任意值[root@agent ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_phpfpm.conf//编写phpfpm的模板文件,用于调取phpfpm的监控脚本UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://127.0.0.1/status?xml" | grep "<$1>" | awk -F'>'awk -F'<|>' '{print $$3}'//注意这个自定义监控项,定义了"php-fpm.status[*]",这个"[*]"就是"$1"提供的值,$1为输入值,例如输入accepted-conn,那么监控项的键值就是php-fpm.status[accepted-conn]。另外,最后那个"$$3"是因为命令组合在变量中,所以要使用"$$",不然无法获取数据[root@agent ~]# systemctl restart php-fpm

5)zabbix图形界面导入模板

zabbix默认并没有自带php-fpm的监控模板就,需要自己编写,这里我们直接下载php-fpm的模板!

[root@agent ~]# wget https://www.ixdba.net/zabbix/zbx_php-fpm_templates.zip[root@agent ~]# unzip zbx_php-fpm_templates.zip [root@agent ~]# ll  zbx_php-fpm_templates.xml-rw-r--r-- 1 root root 29138 11月  8 2018 zbx_php-fpm_templates.xml//这个就是需要的模板

如图:



6)查看php-fpm状态数据

如图:


从图中可以看出已经获取到数据!

配置php-fpm监控完成!

二、zabbix监控tomcat应用实战

对于使用tomcat的一些java类应用,在应用系统异常时,我们需要了解tomcat以及JVM的运行状态,以判断是程序还是系统资源出现了问题,此时,对tomcat的监控就显得尤为重要。下面详细介绍下如何通过zabbix监控tomcat实例的运行状态。

zabbix监控tomcat,首选需要在zabbix server上开启java poller,还需要开启zabbix_java进程,开启zabbix_java后,其实相当于开启了一个JavaGateway,端口为10052,最后,还需在Tomcat服务器上开启8888端口,提供数据输出。

因此,zabbix监控tomcat数据获取流程,如图:

1)安装并配置Tomcat JMX

[root@agent ~]# java -versionopenjdk version "1.8.0_161"OpenJDK Runtime Environment (build 1.8.0_161-b14)OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)[root@agent ~]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.50/bin/apache-tomcat-8.5.50.tar.gz[root@agent ~]# tar zxf apache-tomcat-8.5.50.tar.gz [root@agent ~]# mv apache-tomcat-8.5.50 /usr/local/tomcatsed -i '308a CATALINA_OPTS=" $CATALINA_OPTS  -Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false  -Djava.rmi.server.hostname=192.168.1.8  -Dcom.sun.management.jmxremote.authenticate=flase" ' /usr/local/tomcat/bin/catalina.sh //必须保证内容插入到以下位置(两个#号中)# ----- Execute The Requested Command -----------------------------------------CATALINA_OPTS=" $CATALINA_OPTS  -Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false  -Djava.rmi.server.hostname=192.168.1.8  -Dcom.sun.management.jmxremote.authenticate=flase"# Bugzilla 37848: only output this if we have a TTY//添加的内容中:IP为Tomcat本机的IP,端口"8888"可以自定义,不要冲突即可![root@agent ~]# /usr/local/tomcat/bin/startup.sh       //启动tomcat服务[root@agent ~]# ss -lnt | grep 8080LISTEN     0      100         :::8080                    :::*                  [root@agent ~]# ss -lnt | grep 8888LISTEN     0      50          :::8888                    :::*                  

2)配置zabbix server,加入java支持

默认情况下,zabbix server一般是没有加入java支持的,所以要让zabbix监控tomcat,就需要开启zabbix监控java的专用服务zabbix-java。

注意,在启用java监控支持之前,zabbix server服务器上需安装JDK,并需要设置JAVA_HOME,便于系统能够识别到jdk的路径。

在zabbix server服务器上,编译安装zabbix server,需添加"--enable-java",以支持jmx监控,如果之前的zabbix server在编译时没有添加此选项,那么就需要重新编译安装,编译的参数如下:

./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy  --enable-java --with-libxml2

如果不想重新编译,也可下载对应的rpm包,本篇博文采用下载rpm的方式进行安装。

[root@zabbix ~]# wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.0-2.el7.x86_64.rpm[root@zabbix ~]# rpm -ivh zabbix-java-gateway-4.0.0-2.el7.x86_64.rpm [root@zabbix ~]# /usr/sbin/zabbix_java_gateway [root@zabbix ~]# ss -lnt | grep 10052LISTEN     0      50          :::10052                   :::*                  [root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf//修改以下内容JavaGateway=127.0.0.1JavaGatewayPort=10052StartJavaPollers=5[root@zabbix ~]# /etc/init.d/zabbix_server restart

3)Zabbix web页面配置JMX监控

zabbix默认自带了tomcat的监控模板,但是自带的模板默认有点问题,推荐使用以下地址下载tomcat模板文件。

[root@zabbix ~]# wget https://www.ixdba.net/zabbix/zbx_tomcat_templates.zip[root@zabbix ~]# unzip zbx_tomcat_templates.zip [root@zabbix ~]# ll zbx_tomcat_templates.xml -rw-r--r-- 1 root root 40030 11月  9 2018 zbx_tomcat_templates.xml//这个就是tomcat的监控模板文件

接下来就开始导入模板,如图:




4)查看tomcat监控状态

如图:


从图中可以看出已经获取到数据!

配置tomcat监控完成!

三、zabbix监控Redis实例应用实战

redis有自带的redis-cli客户端,通过redis的info命令就可以查询到redis的运行状态,那么zabbix对redis的监控就是通过客户端redis-cli登录到redis,然后根据info命令去获取状态数据的,根据这个思路,我们可以编写一个脚本,然后由zabbix调用这个脚本,这样就实现了对redis的监控。

1)安装redis

[root@agent ~]# wget http://download.redis.io/releases/redis-5.0.7.tar.gz[root@agent ~]# tar zxf redis-5.0.7.tar.gz [root@agent ~]# cd redis-5.0.7/[root@agent redis-5.0.7]# make && make install[root@agent redis-5.0.7]# cd utils/[root@agent utils]# ./install_server.sh 

2)redis中info命令的使用

要获得redis的当前情况,可以通过reids-cli工具登录到redis命令行,然后通过info命令查看。

redis-cli命令格式:

redis-cli -h [hostname或ip] -p [port] -a [password] info [参数]

常用的、可选的参数有:
1)server:redis服务器相关的通用信息;
2)clients:客户端连接的相关信息;
3)memory:内存消耗的相关信息;
4)persistence:RDB和AOF的相关信息;
5)stats:通用统计数据;
6)replication:主从复制的相关信息;
7)cpu:CPU消耗的统计数据;
8)commandstas:redis命令的统计数据;
9)cluster:redis集群的相关信息;
10)keyspace:数据库相关的统计信息;
11)all:返回所有的服务器信息;
12)default:只返回默认的信息集合;

举例说明:

[root@agent ~]# redis-cli -h 127.0.0.1 -p 6379 info server//查询redis server的信息# Serverredis_version:5.0.7redis_git_sha1:00000000redis_git_dirty:0redis_build_id:97e1d29a41ca6e28redis_mode:standaloneos:Linux 3.10.0-862.el7.x86_64 x86_64arch_bits:64multiplexing_api:epollatomicvar_api:atomic-builtingcc_version:4.8.5process_id:109646run_id:b2c500cea4663f4c3585748ed90eb79081daeffftcp_port:6379uptime_in_seconds:682uptime_in_days:0hz:10configured_hz:10lru_clock:3488956executable:/usr/local/bin/redis-serverconfig_file:/etc/redis/6379.conf

输出信息各个选项的含义如下:
1)redis_version:redis服务器的版本信息;
2)redis_git_sha1:Git SHA1;
3)redis_git_dirty:Git dirty flag;
4)os:redis服务器的宿主机操作系统;
5)arch_bits:架构(32位或64位);
6)multiplexing_api:redis所使用的事件处理机制;
7)gcc_version:编译reids时所使用的GCC版本;
8)process_id:服务器进程的PID;
9)run_id:redis服务器的随机标识符(用于Sentinel和集群);
10)tcp_port:TCP/IP监听端口;
11)uptime_in_seconds:自redis服务器启动以来经过的秒数;
12)uptime_in_day:自redis服务器启动依赖经过的天数;
13)lru_clock:以分钟为单位进行自增的时钟,用于LRU管理;

[root@agent ~]# redis-cli -h 127.0.0.1 -p 6379 info memory//查询内存使用情况# Memoryused_memory:853304used_memory_human:833.30Kused_memory_rss:2699264used_memory_rss_human:2.57Mused_memory_peak:854320used_memory_peak_human:834.30Kused_memory_peak_perc:99.88%used_memory_overhead:841078used_memory_startup:791384used_memory_dataset:12226used_memory_dataset_perc:19.74%allocator_allocated:1075920allocator_active:1413120allocator_resident:3993600total_system_memory:1910050816total_system_memory_human:1.78Gused_memory_lua:37888used_memory_lua_human:37.00Kused_memory_scripts:0used_memory_scripts_human:0Bnumber_of_cached_scripts:0maxmemory:0maxmemory_human:0Bmaxmemory_policy:noevictionallocator_frag_ratio:1.31allocator_frag_bytes:337200allocator_rss_ratio:2.83allocator_rss_bytes:2580480rss_overhead_ratio:0.68rss_overhead_bytes:-1294336mem_fragmentation_ratio:3.41mem_fragmentation_bytes:1907864mem_not_counted_for_evict:0mem_replication_backlog:0mem_clients_slaves:0mem_clients_normal:49694mem_aof_buffer:0mem_allocator:jemalloc-5.1.0active_defrag_running:0lazyfree_pending_objects:0

输出的各个选项的含义:
1)used_memory:由redis分配器分配的内存总量,以字节为单位;
2)used_memory_human:以人类易读的格式返回redis分配的内存总量;
3)used_memory_rss:从操作系统的角度,返回redis以分配的内存总量(俗称常驻集大小)。这个值和top、ps等命令输出的一致;
4)used_memory_peak:redis的内存消耗峰值(单位为字节);
5)used_memory_peak_human:以人类易懂的方式返回redis的内存消耗峰值;
6)used_memory_lua:Lua引擎所使用的内存大小(单位为字节);
7)mem_fragmentation_ratio:used_memory_rss和used_memory之间的比率;
8)mem_allocator:在编译时指定的,redis所使用的内存分配器。可以时libc、jemalloc、tcmalloc;

[root@agent ~]# redis-cli -h 127.0.0.1 -p 6379 info clients//查询客户端连接情况# Clientsconnected_clients:1client_recent_max_input_buffer:0client_recent_max_output_buffer:0blocked_clients:0

输出的各个选项的含义:
1)connected_clients:已连接客户端的数量(不包括通过从属服务器连接的客户端);
2)client_recent_max_input_buffer:当前连接的客户端中,最大输入缓存;
3)client_recent_max_output_buffer:当前连接的客户端中,最大输出缓存;
4)client_recent_output_list:当前连接的客户端中,最大的输出列表;
5)blocked_clients:正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量;

[root@agent ~]# redis-cli -h 127.0.0.1 -p 6379 info cpu//查看CPU使用情况# CPUused_cpu_sys:1.916430used_cpu_user:2.779592used_cpu_sys_children:0.000000used_cpu_user_children:0.000000

输出的各个选项的含义:
1)used_cpu_sys:redis服务器耗费的系统CPU;
2)used_cpu_use:redis服务器耗费的用户CPU;
3)used_cpu_sys_children:后台进程耗费的系统CPU;
4)used_cpu_user_children:后台进程耗费的用户CPU;

[root@agent ~]# redis-cli -h 127.0.0.1 -p 6379 info Stats//查询一般统计信息# Statstotal_connections_received:8total_commands_processed:7instantaneous_ops_per_sec:0total_net_input_bytes:200total_net_output_bytes:8551instantaneous_input_kbps:0.00instantaneous_output_kbps:0.00rejected_connections:0sync_full:0sync_partial_ok:0sync_partial_err:0expired_keys:0expired_stale_perc:0.00expired_time_cap_reached_count:0evicted_keys:0keyspace_hits:0keyspace_misses:0pubsub_channels:0pubsub_patterns:0latest_fork_usec:0migrate_cached_sockets:0slave_expires_tracked_keys:0active_defrag_hits:0active_defrag_misses:0active_defrag_key_hits:0active_defrag_key_misses:0

输出的各个选项的含义:
1)total_connections_received:服务器已接收的连接请求数量;
2)total_commands_processed:服务器已执行的命令数量;
3)instantaneous_ops_per_sec:服务器每秒执行的命令数量;
4)rejected_connections:因为最大客户端数量限制而被拒绝的连接请求数量;
5)expired_keys:因为过期而被自动删除的数据库键数量;
6)evicted_keys:因为最大内从容量限制而被去捉的键数量;
7)keyspace_hits:查找数据库键成功的次数;
8)keyspace_misses:查找数据库键失败的次数;
9)pubsub_channels:目前被订阅的频道数量;
10)pubsub_patterns:目前被订阅的模式数量;
11)latest_fork_usec:最近一次fork()操作耗费的毫秒数;

[root@agent ~]# redis-cli -h 127.0.0.1 -p 6379 info Replication//查询redis主从复制信息# Replicationrole:masterconnected_slaves:0master_replid:b6c25ae1598c2460bb30e45139823e08ff5116a4master_replid2:0000000000000000000000000000000000000000master_repl_offset:0second_repl_offset:-1repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0

输出的各个选项的含义:
1)role:如果当前服务器没有在复制任何服务器,那么这个域的值就是master;否则,这个域的值就是slave。注意,在创建复制链时,一个从服务器也可能时另一个服务器的主服务器;
2)connected_slaves:已连接的Redis从机数量;
3)master_repl_offset:全局的复制偏移量;
4)repl_backlog_active:表示redis服务器是否为部分同步开启复制备份日志功能的标志;
5)repl_backlog_size:表示backlog的大小,backlog是一个缓冲区,在slave端失连时存放要同步到slave的数据,因此当一个slave要重新连接时,经常时不需要 完全同步的,执行局部同步即可!backlog设置的越大,slave可以失联的时间就越长;
6)repl_backlog_first_byte_offse:备份日志缓冲区的首个字节的复制偏移量;
7)repl_backlog_histlen:备份日志的实际数据长度;

3)编写监控redis状态的脚本及模板

脚本代码较多,可以使用以下方式下载:

[root@agent ~]# wget https://www.ixdba.net/zabbix/zbx-redis-template.zip[root@agent ~]# unzip zbx-redis-template.zip[root@agent ~]# ll redis_status zbx-redis-template.xml -rw-r--r-- 1 root root  3968 11月 11 2018 redis_status-rw-r--r-- 1 root root 46397 11月  9 2018 zbx-redis-template.xml//redis_status:监控redis状态的脚本//zbx-redis-template.xml:监控redis状态的模板文件[root@agent ~]# mkdir /etc/zabbix/shell[root@agent ~]# mv redis_status /etc/zabbix/shell/[root@agent ~]# chmod 755 /etc/zabbix/shell/redis_status [root@agent ~]# chown zabbix.zabbix /etc/zabbix/shell/redis_status //自行将脚本中所使用的密码字段进行删除//更改reids-cli工具的存放路径[root@agent ~]# /etc/zabbix/shell/redis_status used_memory853304//测试脚本是否可用

4)zabbix agent端修改配置

[root@agent ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_redis.confUserParameter=Redis.Info[*],/etc/zabbix/shell/redis_status $1 $2UserParameter=Redis.Status,/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 ping | grep -c PONG[root@agent ~]# systemctl restart zabbix-agent

5)zabbix web界面导入模板

如图:



6)查看redis监控状态

如图:


从图中可以看出已经获取到数据!

配置reidst监控完成!

以上就是用Zabbix监控PHP-FPM、Tomcat以及Redis的具体介绍,内容较为全面,而且我也相信有相当的一些工具可能是我们日常工作可能会见到或用到的。通过这篇文章,希望你能收获更多。

监控 进程 服务 服务器 状态 数量 数据 信息 方式 命令 模板 内存 系统 输出 配置 客户 最大 参数 客户端 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 如何用数据库进行世界史研究 上海微领软件开发怎么样 连云港信息网络技术口碑推荐 网络安全 策反渗透 北京品质网络技术咨询 与网络安全相关的产业 汕头数字软件开发价目表 贺州服务器有充电桩吗 乐学帮网络技术有限公司电话 垃圾服务器生产厂家 网吧游戏服务器更新对比 好的软件开发不二之选 华为无锡软件开发云创新中心概况 战地1被踢出服务器了还能进吗 2022网易2b2t服务器 企业服务器可以备案网站吗 数据库日志在c盘哪里 剑网3 服务器人数 计算机只学软件开发可以吗 淘入式和网络安全哪个有前途 怎样把数据库保存到苹果手机 四川诊疗软件开发数据科学 泉州软件开发有限公司 扬州自动量化交易软件开发公司 社区网络安全宣传素材 世界上最好的软件开发公司 液质联用数据库 中翼互联网络科技公司 西安浩远网络技术有限公司 数据库中的ddns
0