zabbix日常监控(监控缓存)

实现的方法大体类似:

多谢博主的文章,免了不少时间!

摘抄博文地址:https://www.cnblogs.com/sixiweb/p/6893858.html

https://www.cnblogs.com/configure/p/6253590.html

一、监控Redis

  1、创建采集脚本

vim /etc/zabbix/scripts/redis.sh

  1 #!/bin/bash
  2 REDISPATH="/usr/local/bin/redis-cli"
  3 HOST="127.0.0.1"
  4 PORT="6379"
  5 REDIS_PA="$REDISPATH -h $HOST -p $PORT info"
  6 if [[ $# == 1 ]];then
  7     case $1 in
  8  cluster)
  9         result=`$REDIS_PA|/bin/grep cluster|awk -F":" ‘{print $NF}‘`
 10             echo $result
 11             ;;
 12  uptime_in_seconds)
 13         result=`$REDIS_PA|/bin/grep uptime_in_seconds|awk -F":" ‘{print $NF}‘`
 14             echo $result
 15             ;;
 16  connected_clients)
 17         result=`$REDIS_PA|/bin/grep connected_clients|awk -F":" ‘{print $NF}‘`
 18             echo $result
 19             ;;
 20  client_longest_output_list)
 21         result=`$REDIS_PA|/bin/grep client_longest_output_list|awk -F":" ‘{print $NF}‘`
 22             echo $result
 23             ;;
 24  client_biggest_input_buf)
 25         result=`$REDIS_PA|/bin/grep client_biggest_input_buf|awk -F":" ‘{print $NF}‘`
 26             echo $result
 27             ;;
 28  blocked_clients)
 29         result=`$REDIS_PA|/bin/grep blocked_clients|awk -F":" ‘{print $NF}‘`
 30             echo $result
 31             ;;
 32 #内存
 33  used_memory)
 34         result=`$REDIS_PA|/bin/grep used_memory|awk -F":" ‘{print $NF}‘|awk ‘NR==1‘`
 35             echo $result
 36             ;;
 37  used_memory_human)
 38         result=`$REDIS_PA|/bin/grep used_memory_human|awk -F":" ‘{print $NF}‘|awk -F‘K‘ ‘{print $1}‘`
 39             echo $result
 40             ;;
 41  used_memory_rss)
 42         result=`$REDIS_PA|/bin/grep used_memory_rss|awk -F":" ‘{print $NF}‘`
 43             echo $result
 44             ;;
 45  used_memory_peak)
 46         result=`$REDIS_PA|/bin/grep used_memory_peak|awk -F":" ‘{print $NF}‘|awk ‘NR==1‘`
 47             echo $result
 48             ;;
 49  used_memory_peak_human)
 50         result=`$REDIS_PA|/bin/grep used_memory_peak_human|awk -F":" ‘{print $NF}‘|awk -F‘K‘ ‘{print $1}‘`
 51             echo $result
 52             ;;
 53  used_memory_lua)
 54         result=`$REDIS_PA|/bin/grep used_memory_lua|awk -F":" ‘{print $NF}‘`
 55             echo $result
 56             ;;
 57  mem_fragmentation_ratio)
 58         result=`$REDIS_PA|/bin/grep mem_fragmentation_ratio|awk -F":" ‘{print $NF}‘`
 59             echo $result
 60             ;;
 61 #rdb
 62  rdb_changes_since_last_save)
 63         result=`$REDIS_PA|/bin/grep rdb_changes_since_last_save|awk -F":" ‘{print $NF}‘`
 64             echo $result
 65             ;;
 66  rdb_bgsave_in_progress)
 67         result=`$REDIS_PA|/bin/grep rdb_bgsave_in_progress|awk -F":" ‘{print $NF}‘`
 68             echo $result
 69             ;;
 70  rdb_last_save_time)
 71         result=`$REDIS_PA|/bin/grep rdb_last_save_time|awk -F":" ‘{print $NF}‘`
 72             echo $result
 73             ;;
 74  rdb_last_bgsave_status)
 75         result=`$REDIS_PA|/bin/grep -w "rdb_last_bgsave_status" | awk -F‘:‘ ‘{print $2}‘ | /bin/grep -c ok`
 76             echo $result
 77             ;;
 78  rdb_current_bgsave_time_sec)
 79         result=`$REDIS_PA|/bin/grep -w "rdb_current_bgsave_time_sec" | awk -F‘:‘ ‘{print $2}‘`
 80             echo $result
 81             ;;
 82 #rdbinfo
 83  aof_enabled)
 84         result=`$REDIS_PA|/bin/grep -w "aof_enabled" | awk -F‘:‘ ‘{print $2}‘`
 85             echo $result
 86             ;;
 87  aof_rewrite_scheduled)
 88         result=`$REDIS_PA|/bin/grep -w "aof_rewrite_scheduled" | awk -F‘:‘ ‘{print $2}‘`
 89             echo $result
 90             ;;
 91  aof_last_rewrite_time_sec)
 92         result=`$REDIS_PA|/bin/grep -w "aof_last_rewrite_time_sec" | awk -F‘:‘ ‘{print $2}‘`
 93             echo $result
 94             ;;
 95  aof_current_rewrite_time_sec)
 96         result=`$REDIS_PA|/bin/grep -w "aof_current_rewrite_time_sec" | awk -F‘:‘ ‘{print $2}‘`
 97             echo $result
 98             ;;
 99  aof_last_bgrewrite_status)
100         result=`$REDIS_PA|/bin/grep -w "aof_last_bgrewrite_status" | awk -F‘:‘ ‘{print $2}‘ | /bin/grep -c ok`
101             echo $result
102             ;;
103 #aofinfo
104  aof_current_size)
105         result=`$REDIS_PA|/bin/grep -w "aof_current_size" | awk -F‘:‘ ‘{print $2}‘`
106             echo $result
107             ;;
108  aof_base_size)
109         result=`$REDIS_PA|/bin/grep -w "aof_base_size" | awk -F‘:‘ ‘{print $2}‘`
110             echo $result
111             ;;
112  aof_pending_rewrite)
113         result=`$REDIS_PA|/bin/grep -w "aof_pending_rewrite" | awk -F‘:‘ ‘{print $2}‘`
114             echo $result
115             ;;
116  aof_buffer_length)
117         result=`$REDIS_PA|/bin/grep -w "aof_buffer_length" | awk -F‘:‘ ‘{print $2}‘`
118             echo $result
119             ;;
120  aof_rewrite_buffer_length)
121         result=`$REDIS_PA|/bin/grep -w "aof_rewrite_buffer_length" | awk -F‘:‘ ‘{print $2}‘`
122             echo $result
123             ;;
124  aof_pending_bio_fsync)
125         result=`$REDIS_PA|/bin/grep -w "aof_pending_bio_fsync" | awk -F‘:‘ ‘{print $2}‘`
126             echo $result
127             ;;
128  aof_delayed_fsync)
129         result=`$REDIS_PA|/bin/grep -w "aof_delayed_fsync" | awk -F‘:‘ ‘{print $2}‘`
130             echo $result
131             ;;
132 #stats
133  total_connections_received)
134         result=`$REDIS_PA|/bin/grep -w "total_connections_received" | awk -F‘:‘ ‘{print $2}‘`
135             echo $result
136             ;;
137  total_commands_processed)
138         result=`$REDIS_PA|/bin/grep -w "total_commands_processed" | awk -F‘:‘ ‘{print $2}‘`
139             echo $result
140             ;;
141  instantaneous_ops_per_sec)
142         result=`$REDIS_PA|/bin/grep -w "instantaneous_ops_per_sec" | awk -F‘:‘ ‘{print $2}‘`
143             echo $result
144             ;;
145  rejected_connections)
146         result=`$REDIS_PA|/bin/grep -w "rejected_connections" | awk -F‘:‘ ‘{print $2}‘`
147             echo $result
148             ;;
149  expired_keys)
150         result=`$REDIS_PA|/bin/grep -w "expired_keys" | awk -F‘:‘ ‘{print $2}‘`
151             echo $result
152             ;;
153  evicted_keys)
154         result=`$REDIS_PA|/bin/grep -w "evicted_keys" | awk -F‘:‘ ‘{print $2}‘`
155             echo $result
156             ;;
157  keyspace_hits)
158         result=`$REDIS_PA|/bin/grep -w "keyspace_hits" | awk -F‘:‘ ‘{print $2}‘`
159             echo $result
160             ;;
161  keyspace_misses)
162         result=`$REDIS_PA|/bin/grep -w "keyspace_misses" | awk -F‘:‘ ‘{print $2}‘`
163             echo $result
164             ;;
165  pubsub_channels)
166         result=`$REDIS_PA|/bin/grep -w "pubsub_channels" | awk -F‘:‘ ‘{print $2}‘`
167             echo $result
168             ;;
169  pubsub_channels)
170         result=`$REDIS_PA|/bin/grep -w "pubsub_channels" | awk -F‘:‘ ‘{print $2}‘`
171             echo $result
172             ;;
173  pubsub_patterns)
174         result=`$REDIS_PA|/bin/grep -w "pubsub_patterns" | awk -F‘:‘ ‘{print $2}‘`
175             echo $result
176             ;;
177  latest_fork_usec)
178         result=`$REDIS_PA|/bin/grep -w "latest_fork_usec" | awk -F‘:‘ ‘{print $2}‘`
179             echo $result
180             ;;
181  connected_slaves)
182         result=`$REDIS_PA|/bin/grep -w "connected_slaves" | awk -F‘:‘ ‘{print $2}‘`
183             echo $result
184             ;;
185  master_link_status)
186         result=`$REDIS_PA|/bin/grep -w "master_link_status"|awk -F‘:‘ ‘{print $2}‘|/bin/grep -c up`
187             echo $result
188             ;;
189  master_last_io_seconds_ago)
190         result=`$REDIS_PA|/bin/grep -w "master_last_io_seconds_ago"|awk -F‘:‘ ‘{print $2}‘`
191             echo $result
192             ;;
193  master_sync_in_progress)
194         result=`$REDIS_PA|/bin/grep -w "master_sync_in_progress"|awk -F‘:‘ ‘{print $2}‘`
195             echo $result
196             ;;
197  slave_priority)
198         result=`$REDIS_PA|/bin/grep -w "slave_priority"|awk -F‘:‘ ‘{print $2}‘`
199             echo $result
200             ;;
201 #cpu
202  used_cpu_sys)
203         result=`$REDIS_PA|/bin/grep -w "used_cpu_sys"|awk -F‘:‘ ‘{print $2}‘`
204             echo $result
205             ;;
206  used_cpu_user)
207         result=`$REDIS_PA|/bin/grep -w "used_cpu_user"|awk -F‘:‘ ‘{print $2}‘`
208             echo $result
209             ;;
210  used_cpu_sys_children)
211         result=`$REDIS_PA|/bin/grep -w "used_cpu_sys_children"|awk -F‘:‘ ‘{print $2}‘`
212             echo $result
213             ;;
214  used_cpu_user_children)
215         result=`$REDIS_PA|/bin/grep -w "used_cpu_user_children"|awk -F‘:‘ ‘{print $2}‘`
216             echo $result
217             ;;
218         *)
219         echo "Usage:$0{uptime_in_seconds|connected_clients|client_longest_output_list|client_biggest_input_buf|blocked_clients|used_memory|used_memory_human|used_memory_rss|used_memory_peak|used_memory_peak_human|used_memory_lua|mem_fragmentation_ratio|rdb_changes_since_last_save|rdb_bgsave_in_progress|rdb_last_save_time|rdb_last_bgsave_status|rdb_current_bgsave_time_sec|aof_enabled|aof_rewrite_scheduled|aof_last_rewrite_time_sec|aof_current_rewrite_time_sec|aof_last_bgrewrite_status|aof_current_size|aof_base_size|aof_pending_rewrite|aof_buffer_length|aof_rewrite_buffer_length|aof_pending_bio_fsync|aof_delayed_fsync|rejected_connections|instantaneous_ops_per_sec|total_connections_received|total_commands_processed|expired_keys|evicted_keys|keyspace_hits|keyspace_misses|pubsub_channels|pubsub_patterns|latest_fork_usec|connected_slaves|master_link_status|master_sync_in_progress|master_last_io_seconds_ago|connected_slaves|slave_priority|used_cpu_user|used_cpu_sys|used_cpu_sys_children|used_cpu_user_children}"
220         ;;
221 esac
222 #db0:key
223         elif [[ $# == 2 ]];then
224 case $2 in
225   keys)
226         result=`$REDIS_PA| /bin/grep -w "db0"| /bin/grep -w "$1" | /bin/grep -w "keys" | awk -F‘=|,‘ ‘{print $2}‘`
227             echo $result
228             ;;
229  expires)
230         result=`$REDIS_PA| /bin/grep -w "db0"| /bin/grep -w "$1" | /bin/grep -w "expires" | awk -F‘=|,‘ ‘{print $4}‘`
231             echo $result
232             ;;
233  avg_ttl)
234         result=`$REDIS_PA|/bin/grep -w "db0"| /bin/grep -w "$1" | /bin/grep -w "avg_ttl" | awk -F‘=|,‘ ‘{print $6}‘`
235             echo $result
236             ;;
237           *)
238      echo "Usage:$0{db0 keys|db0 expires|db0 avg_ttl}"
239         ;;
240 esac
241 fi

redis.sh

  2、设置权限

chmod 550 redis.sh
chown root.zabbix redis.sh

  3、编辑agent的主配置文件

#redis
UserParameter=redis.status,/usr/bin/redis-cli -h 127.0.0.1 -p 6379 ping |grep -c PONG
UserParameter=redis_info[*],/etc/zabbix/scripts/redis.sh $1 $2

  4、重启服务

systemctl restart zabbix-agent.service
systemctl enable zabbix-agent.service

  5、zabbix-service 导入模板

模板下载地址:https://pan.baidu.com/s/1AoI-_OkWqKaOc56GYe9Ong 密码:msx5

  6、导入后套接到对应的主机即可!

  7、效果展示

原文地址:https://www.cnblogs.com/huangyanqi/p/9225683.html

时间: 2024-10-12 16:17:45

zabbix日常监控(监控缓存)的相关文章

zabbix专题:第十一章 zabbix proxy分布式监控配置

zabbix专题:第十一章 zabbix proxy分布式监控配置             对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix proxy分布式监控配置 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式.分

Zabbix windows被监控端安装agentd

Windows zabbix_agentd安装包下载地址: http://www.zabbix.com/downloads/2.2.1/zabbix_agents_2.2.1.win.zip 一.解压安装包, 解压后文件夹内bin目录下有win32和win64两个文件夹,分别对应windows32位和64位操作系统. 当前主机系统为windows server 2003 32位,则将32位目录下的文件全部移动到C:\zabbix\下. 二.在C:\zabbix下创建zabbix_agentd.c

利用Zabbix ODBC monitoring监控SQL Server

利用Zabbix ODBC monitoring监控SQL Server 1. 创建群组ODBC Templates 2. 创建Template SQL Server和Template MySQL 3. 在Zabbbix上安装unixODBC shell> yum -y install unixODBC unixODBC-devel 4. 在Zabbix上安装对应数据库的unixODBC驱动 unixODBC有一个支持的数据库和驱动列表: http://www.unixodbc.org/driv

zabbix linux被监控端部署

测试使用agentd监听获取数据. 服务端的安装可以查看http://blog.chinaunix.net/space.php?uid=25266990&do=blog&id=3380929 下载 http://www.zabbix.com/downloads/2.0.3/zabbix_agents_2.0.3.linux2_6.i386.tar.gz http://www.zabbix.com/documentation/2.0/manual/installation 安装 1)创建用户

Zabbix CPU utilization监控参数

工作中查看Zabbix linux 监控项的时候对linux 监控的cpu使用的各个参数没怎么明白,特意查看了下资料 Zabbix linux模板下的CPU utilization是自带的监控Linux CPU各个参数的监控项,其实就是Linux下top命令显示的cpu信息. Zabbix下的监控信息,有时候直观的看图会一脸懵逼,各个值分别是什么意思呢? 官方解释,Cpu(s)表示的是cpu信息. us: user cpu time (or) % CPU time spent in user s

Zabbix对客户端监控+报警

环境说明: node1:zabbix服务器 IP地址:172.16.4.100 node2:zabbix客户端 IP地址:172.16.4.101 配置环境:监控node2主机的网卡流量(流入.流入),以及报警和报警升级 文章概览 1.使用zabbix监控客户端主机    1.1 客户端设置    1.2 定义主机组    1.3 定义主机    1.4 定义应用集    1.5 定义监控项目    1.6 定义出图2.报警设置    2.1 触发器    2.2 示警媒介Medias:   

利用Zabbix ODBC monitoring监控MySQL

利用Zabbix ODBC monitoring监控MySQL 1. 创建群组ODBC Templates 2. 创建Template SQL Server和Template MySQL 3. 在Zabbbix上安装unixODBC shell> yum -y install unixODBC unixODBC-devel 4. 在Zabbix上安装对应数据库的unixODBC驱动 unixODBC有一个支持的数据库和驱动列表: http://www.unixodbc.org/drivers.h

zabbix之1监控概念

1.通过通用的snmp监控,无需代理端2.通过snmp代理 snmp代理的工作原理:在被监控端设置代理,代理不断的获取本地数据,而管理端定期通过代理获取监控数据. snmp目前有v1,v2,v3三种版本,前两种安全性低,明文传输,但是第二种v2c版本目前是主流. 3.通过ssh设定脚本进行监控 4.snmp虽然提供了采集数据的方法,但是却不会帮忙存储数据,也不会周期性的采集.故而就需要监控软件的周期采集/保存/统筹管理,并分析数据,进行报警. 当前存在的监控软件,有cacti,nagios,za

zabbix 自定义脚本监控配置之网卡

注:要添加自定义脚本监控,必须升级zabbix agent版本至2.0.0以上, 一:配置步骤 1. 完成自定义监控脚本的编写(windows或linux脚本) 脚本要求: (1)既然是监控,那必然要有输出结果值(字符串,数字皆可) (2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件) (3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数 2 找到zabbix agent的配置文件zabbix_agentd

zabbix web scenario 监控Web站点的可用性

Zabbix也可以监控Web站点的可用性.前提是安装Zabbix时启用了libcurl支持. 要使用Web监控,首先需要定义Web Scenario.而每个Web Scenario有一个或者多个 "Http 请求"或者 "Steps"构成.Zabbix根据定义的顺序定期的执行步骤. 在一个Web Scenario中,搜集到的信息包含一下几种: 1. 整个web场景所有步骤的平均下载速度(每秒) 2. 执行出错的步骤(steps)编号 3. 最近的错误信息 而在每一个