简介

Zabbix 监控阿里云RDS数据库、主要通过阿里云提供的API来进行监控。

需要在阿里云获取“用户AccessKey”指定ID,进行RDS监控。

环境

  • 服务:Zabbix 3.0.28、zabbix-agent  2.4.7
  • 系统:Linux Centos7/Redhat7
  • 依赖:python 2.7、git 2.7.4

部署

zabbix-agent 端操作

1、通过pip2.7安装阿里云RDS监控模块

pip2.7 install aliyun-python-sdk-core==2.3.5 aliyun-python-sdk-rds datetime

pip2 list | grep aliyun
aliyun-python-sdk-core 2.3.5
aliyun-python-sdk-rds  2.3.10   

2、创建存放RDS配置文件的目录、并进入到该目录下

mkdir /etc/zabbix/zabbix_agentd.conf.d/scripts/
cd /etc/zabbix/zabbix_agentd.conf.d/scripts/

3、通过git下载官方提供的RDS文件

git clone https://github.com/XWJR-Ops/zabbix-RDS-monitor

查看下载文件

4、将两个RDS脚本移动到scripts目录下

mv check_rds.py ../
mv discovery_rds.py ../

5、登陆阿里云

从阿里云控制台获取 AccessKey

注:总共有 不同的两个 ID 与 Secret的值,在创建过程中会显示。

6、修改两个RDS脚本中的 ID 与 Secret 值、地区按照实例地区为主。

vim check_rds.py

vim discovery_rds.py

#coding=utf-8
#Auther:xwjr.com
from aliyunsdkcore import client
....ID = 'LTAI4FuxxxxxxxwD4e775Bci'
Secret = 'nPinBRO1xxxxxxx6KIiTcpO0vk'
RegionId = 'cn-shenzhen'
....

7、将脚本添加到配置文件当中

vim /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1
UserParameter=rds.discovery,/usr/bin/python2.7 /etc/zabbix/zabbix_agentd.conf.d/scripts/discovery_rds.py
UserParameter=check.rds[*],/usr/bin/python2.7 /etc/zabbix/zabbix_agentd.conf.d/scripts/check_rds.py $1 $2 $3

8、重启zabbix-agent服务

systemctl restart zabbix-agentd

9、将zabbix-RDS-monitor目录下的zbx_AliyunRds_templates.xml模板导入到zabbix系统中

10、查看监控项

------------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

另:

zabbix-RDS-monitor

Aliyun RDS-mysql status monitor with zabbix

zabbix通过阿里云api 自动发现、监控阿里云RDS-Mysql数据库  
本版本数据的图表展示,是以监控项进行分组,后期会再发布以rds实例分组的版本。

阿里云的RDS自带的监控系统获取数据不怎么直观,想要通过API获取数据通过zabbix显示,因为网上资料缺乏和其他一些原因,获取API签名很困难,但使用阿里云的SDK可以完美避开获取签名的步骤。

阿里云SDK是什么?

SDK是阿里云为用户提供的开发工具,支持JAVA、PHP、C#等几种不同的语言,这里是用Python写的。在Python SDK里提供了一些模块,我们通过调用这些模块、传入一些必要的参数可以简单的实现数据的获取。

阿里云的sdk就是很多的库文件,这里我们只需要两个库文件,一个核心库sdk-core和rds库sdk-rds。

下载地址:https://github.com/aliyun/aliyun-openapi-python-sdk

注意事项

  1. 脚本会收集RDS别名,
  2. 不要默认别名
  3. 不要使用中文别名(zabbix不识别)
  4. 切记aliyun-python-sdk-core==2.3.5,新版本的sdk有bug

环境要求

python = 2.7

模块安装

/usr/bin/pip2.7 install aliyun-python-sdk-core==2.3.5 aliyun-python-sdk-rds datetime

使用方法

  1. 从阿里云控制台获取 AccessKey ,并修改脚本中的 ID 与 Secret
  2. 修改区域 RegionId
  3. 将两个脚本放置于以下目录。
  4. /etc/zabbix/script chmod +x /etc/zabbix/script/*
  5. 调用阿里云的sdk分为三个步骤:

    1. 创建 AcsClient 实例并初始化;AcsClient即请求rds的实例,包括accesskeyid、accesskeysecret和regionid。
    2. 创建 API 请求并设置参数;这里的参数是除了公共参数之外所需要的所有参数,在阿里云文档上查看:https://help.aliyun.com/document_detail/26279.html?spm=5176.doc26224.6.868.xHBXXo
    3. 发起请求并打印返回。

    举个例子:

    我想查看rds实例的资源使用情况。查看阿里云文档得知,其请求参数有两个:Action :DescribeResourceUsage和DBInstanceId:实例名。

    我们进入aliyun-python-sdk-rds/aliyunsdkrds/request/v20140815下的DescribeResourceUsageRequest.py库查看DBInstanceId的设置方法为set_DBInstanceId。

  1. 修改zabbix-agentd.conf,添加以下内容
  1. #rds

  2. UserParameter=rds.discovery,/usr/local/python2.7/bin/python2.7 /etc/zabbix/script/discovery_rds.py

  3. UserParameter=check.rds[*],/usr/local/python2.7/bin/python2.7 /etc/zabbix/script/check_rds.py $1 $2 $3

  1. 重启zabbix-agent
  2. zabbix控制台导入模板,并关联主机
  3. 出处:https://github.com/XWJR-Ops/zabbix-RDS-monitor/blob/master/README.md

Zabbix 监控阿里云RDS相关推荐

  1. Zabbix技术分享——如何使用zabbix监控华为云RDS

    在数字化大背景下,数据是重要的生产资料,这些数据存放在哪里,如何保障数据安全是所有企业都要考虑的事情.华为云RDS凭借安全可靠,可根据业务规模动态扩容的特性,受到越来越多中小企业的青睐,对华为云RDS ...

  2. 自定义prometheus exporter实现监控阿里云RDS

    背景 1.Prometheus官网提供的mysql exporter 对于mysql实例只能一个进程监控一个实例,数据库实例很多的情况,不方便管理 2.内部有定制化监控需求,RDS 默认无法实现,比如 ...

  3. python远程监控jvm_python和jstat命令采集jvm数据导入zabbix监控-阿里云开发者社区

    利用python和jstat命令采集jvm数据 注:用法运行python jvcheck.py 变量如EC或E等 #coding=utf-8 #author=yangzai # 用jstat检查jvm ...

  4. 从没想到监控可以这么做!阿里云RDS智能诊断系统首次公开

    阿里妹导读:来自阿里云RDS团队的论文"TcpRT: Instrument and Diagnostic Analysis System for Service Quality of Clo ...

  5. 自建MySQL和阿里云RDS的区别 有必要使用云数据库吗?...

    很多阿里云ECS用户都会考虑是使用ECS自建数据库还是使用阿里云的RDS云数据库,如何选择?有必要使用云数据库吗?云吞铺子告诉你使用阿里云RDS云数据库的理由: RDS的高可用性 RDS提供了主备双节 ...

  6. 阿里云mysql数据库引擎_在阿里云RDS数据库服务器中将MySQL InnoDB引擎表转为压缩格式...

    今年以来将我们以前托管或者租用的服务器全面转向阿里云,除了采用ECS服务器以外,还有一项重要的是采用了RDS数据库服务器,这对于服务的稳定性.各项指标的监控.调优等都有帮助. 不过随着近期更多数据库转 ...

  7. 阿里云RDS深度定制-XA Crash Safe

    简介: 近几年,随着分布式数据库系统的兴起,特别是基于MySQL分布式数据库系统,会用到XA来保证全局事务的一致性.众所周知,MySQL对XA事务的支持是比较弱的,存在很多问题.为了满足分布式数据库系 ...

  8. 重磅干货免费下载!阿里云RDS团队论文被数据库顶会SIGMOD 2018收录

    为什么80%的码农都做不了架构师?>>>    摘要: 来自阿里云RDS团队的论文"**TcpRT: Instrument and Diagnostic Analysis ...

  9. 【数据库取证篇】阿里云RDS数据库简介

    [数据库取证篇]阿里云RDS数据库简介 ​ 初识RDS基本信息,知其然,再知其所以然-[suy] 文章目录 [数据库取证篇]阿里云RDS数据库简介 (一)云数据库RDS简介 1.各版本功能 (二)RD ...

最新文章

  1. 2020-11-25(《深入理解计算机系统》多级页表详解)
  2. 微信小程序 之 请求函数封装
  3. mongoose Warning:Server Discovery and Monitoring engine is deprecated
  4. linux中各目录及详细介绍
  5. matlab中noisbloc,基于小波变换的微弱信号检测技术的研究.doc
  6. 被阿里带火的数据中台,不靠这三个阶段绝对失败
  7. Cocos2dx中利用双向链表实现无限循环滚动层
  8. 【思维、费马小定理】CQXYM Count Permutations
  9. 可恨的KYLIN OS:动不动就不支持老机
  10. php 唱吧导出,直播必备的十款电脑声音处理软件
  11. 2022张宇考研基础30讲 第八讲 一元函数积分学的概念与计算
  12. 蚂蚁课堂视频笔记思维导图-4期 一、微服务技术
  13. signature=44e925e612735a871c9c44002806d71b,英文书信格式
  14. 使用cmd命令行查看wifi密码
  15. Redis发布订阅[西橙先生]
  16. 第三方可视化数据分析图表Pyecharts(下载保存图片(生成的html图片)、zip函数(将数据转换为列表加元组的格式)、南丁格尔玫瑰图、双y轴可视化、饼形图和环形图)
  17. PTK(Pulmonarytoolkit)环境搭建与 ITK4.13+VS2015的配置
  18. linux同步两台mysql数据,Mysql入门MySQL 数据库两台主机同步实战(linux)
  19. 15.内置函数,匿名函数
  20. java基于quasar实现协程池【后篇】

热门文章

  1. 制作简易计算器:接收用户输入,两个操作数,一个操作符,给出用户结果。2021/01/17
  2. 深度神经网络的工作原理,深度神经网络基本原理
  3. SpringBoot_Themeleaf的配置
  4. 西安python培训机构贴吧
  5. [6 kyu] Playing with digits
  6. 【MySQL】索引优化中的最左前缀原则和索引下推
  7. PHP图书借阅管理系统,功能完善齐全,支持用户前台管理,和后台管理,支持PHP最新版7.x,数据库mysql
  8. Qt——QLineEdit使用总结
  9. Linux如何将Mysql数据库自动从一台服务器备份到另一台服务器
  10. 【web前端】CSS高级技巧(精灵图,字体图标,CSS三角,CSS用户界面样式,文字与图片垂直对齐,溢出的文字省略号显示,常见布局技巧,CSS初始化)