监控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)    收藏  举报

导航