监控Memcached、Redis、mysql服务
OS:Ubuntu18.04
10.0.0.200-zabbxi-server
10.0.0.203-zabbix-agent
1.包安装memcached
apt -y install memcached nc apt --fix-broken install
2.自定义memcached监控项,通过 nc工具避免交换式操作,然后使用命令stats将memcached的重要参数列出后再退出并用三剑客取值
root@Ubuntu18:/etc/zabbix/zabbix_agentd.d# cat memached_state.conf
UserParameter=memached_state[*],/etc/zabbix/zabbix_agentd.d/memached_state.sh $1 $2
root@Ubuntu18:/etc/zabbix/zabbix_agentd.d# cat memached_state.sh
#!/bin/bash
item=$1
port=$2
memached_state(){
echo -e 'stats\nquit' | nc 127.0.0.1 $port | grep $item | awk '{print $3}'
}
3.赋予脚本x权限后重启,结合脚本逻辑通过zabbix_get工具进行测试item。
zabbix_get -s 10.0.0.203 -k memached_state[max_connections,11211]
4.在模板中添加监控项

<全部添加后>
-------------------Redis------------------------
OS:Ubuntu18.04
10.0.0.200-zabbxi-server
10.0.0.203-zabbix-agent
1.包安装redis
apt -y install redis
2.自定义属于redis的监控项,一如既往 $1为参数的键、$2为端口。

3.创建监控项脚本使用redis提供的客户端工具配合三剑客取值,为脚本加权限后重启Agent。

4.通过测试工具获取监控项数据。
zabbix_get -s 10.0.0.203 -k redis_state[used_memory,6379]
5.确定能监控到数据后回到zabbix-web为模板添加监控项。

<添加完监控项后查看是否能够获取到数据>

<成功>
----------mysql--------------
OS:Ubuntu18.04
10.0.0.200-zabbxi-server
10.0.0.200-zabbix-agent
10.0.0.40-数据库
述:zabbix-server连接数据库,因此定义的监控项需应用在zabbix-server的机器上。
1.zabbix-server已经安装zabbix-agent所以可以在agent的子配置文件中定义监控项。
PS:
1)因使用mysqladmin远程连接输入命令会有错误提示需进行错误重定向到 /dev/null
2)一如既往 $1表ITEM的键 $2表端口
<添加mysql连通性监控项>
UserParameter=mysql_ping,mysqladmin -uzabbix -p123456 -h 10.0.0.40 ping 2>/dev/null | grep -c alive
<定义mysql监控项及获取监控项数据的脚本路径>
UserParameter=mysql_state[*],/etc/zabbix/zabbix_agentd.d/mysql_state.sh $1 $2 2>/dev/null
#!/bin/bash
USER=zabbix
PASSWD=123456
PORT=$2
MYSQL_CONN="mysqladmin -u$USER -p$PASSWD -h 10.0.0.40 -P$PORT"
ITEM=$1
case $ITEM in
Threads)
result=`${MYSQL_CONN} status | awk '{print $4}'`
;;
Uptime)
result=`${MYSQL_CONN} extended-status | grep -w Uptime | awk -v FS="|" '{print $3}'`
;;
Com_update)
result=`${MYSQL_CONN} extended-status | grep -w Com_update | awk -v FS="|" '{print $3}'`
;;
Slow_queries)
result=`${MYSQL_CONN} extended-status | grep -w Slow_queries | awk -v FS="|" '{print $3}'`
;;
Com_select)
result=`${MYSQL_CONN} extended-status | grep -w Com_select | awk -v FS="|" '{print $3}'`
;;
Com_select)
result=`${MYSQL_CONN} extended-status | grep -w Com_select | awk -v FS="|" '{print $3}'`
;;
Com_rollback)
result=`${MYSQL_CONN} extended-status | grep -w Com_rollback | awk -v FS="|" '{print $3}'`
;;
Questions)
result=`${MYSQL_CONN} extended-status | grep -w Questions | awk -v FS="|" '{print $3}'`
;;
Com_insert)
result=`${MYSQL_CONN} extended-status | grep -w Com_insert | awk -v FS="|" '{print $3}'`
;;
Com_delete)
result=`${MYSQL_CONN} extended-status | grep -w Com_delete | awk -v FS="|" '{print $3}'`
;;
Com_commit)
result=`${MYSQL_CONN} extended-status | grep -w Com_commit | awk -v FS="|" '{print $3}'`
;;
Bytes_sent)
result=`${MYSQL_CONN} extended-status | grep -w Bytes_sent | awk -v FS="|" '{print $3}'`
;;
Bytes_received)
result=`${MYSQL_CONN} extended-status | grep -w Bytes_received | awk -v FS="|" '{print $3}'`
;;
Com_begin)
result=`${MYSQL_CONN} extended-status | grep -w Com_begin | awk -v FS="|" '{print $3}'`
;;
*)
echo
"Usage:$0(Threads|Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;
esac
echo $result
2.监控项取值脚本编写好后加x权限并重启Agent后通过zabbix_get进行测试。
zabbix_get -s 127.0.0.1 -p 10050 -k mysql_state[Bytes_received,3306]
3.创建模板添加监控项。

监控项

4.应用到zabbix-server中可以看到13个监控项都能获取数据。

posted on 2021-08-20 18:10 1251618589 阅读(4) 评论(0) 收藏 举报






浙公网安备 33010602011771号