MySQL-MongoDB开源监控利器之PMM

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

    最近要对数据库的监控体系进行改进,发现Percona 公司的一款开源的监控工具Percona Monitoring and Management(PMM) 对于MySQL的监控指标各项值比较全面准确,现在公司内部的开发测试环境进行了部署体验。

    主要的架构图如下:源于官方

_images/pmm-diagram.png

    可以看到主要是由客户端的代理程序node_export\mysqld_export\mongodb_export等和客户端管理工具pmm-admin做为数据的收集方式并发送到服务端的QAN API\Consul API\Prometheus等各个API然后通过Grafana来展示数据指标,界面非常靓丽


    Pmm 的server端的运行方式主要有官方提供的以下三种方式:

      1.已经集成好的Docker方式

      2.集成好的VirtualBox方式

      3. Amazon Machine Image (AMI)

     在这里我用的是Docker方式,轻量部署、升级很方便

    PMM的client安装比较方便,直接安装官方的yum安装就OK了


#详细的请参考官方文档

https://www.percona.com/doc/percona-monitoring-and-management/index.html


#Dokcer方式部署

提前准备好系统和Docker服务,安装不在这里展示

1-创建容器的数据磁盘

docker create \
   -v /opt/prometheus/data \
   -v /opt/consul-data \
   -v /var/lib/mysql \
   -v /var/lib/grafana \
   --name pmm-data \
   percona/pmm-server:1.1.1 /bin/true

2-创建容器的运行实例

docker run -d \
   -p 80:80 \
   --volumes-from pmm-data \
   --name pmm-server \
   --restart always \
   percona/pmm-server:1.1.1



#客户端安装

[root@master ~]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

[root@master ~]# yum install -y pmm-client


#增加客户端mysql监控


[root@master ~]# pmm-admin config  --server 192.168.100.171

OK, PMM server is alive.


PMM Server      | 192.168.100.171 

Client Name     | master.wboy.com

Client Address  | 192.168.100.41 


[root@master ~]# pmm-admin list

pmm-admin 1.1.1


PMM Server      | 192.168.100.171 

Client Name     | master.wboy.com

Client Address  | 192.168.100.41 

Service Manager | unix-systemv


No monitoring registered for this node identified as 'master.wboy.com'.


#命令帮助

[root@master ~]# pmm-admin  add --help

This command is used to add a monitoring service.


Usage:

  pmm-admin add [command]


Available Commands:

  mysql            Add complete monitoring for MySQL instance (linux and mysql metrics, queries).

  linux:metrics    Add this system to metrics monitoring.

  mysql:metrics    Add MySQL instance to metrics monitoring.

  mysql:queries    Add MySQL instance to Query Analytics.

  mongodb          Add complete monitoring for MongoDB instance (linux and mongodb metrics).

  mongodb:metrics  Add MongoDB instance to metrics monitoring.

  proxysql:metrics Add ProxySQL instance to metrics monitoring.


Flags:

      --service-port uint16   service port


Global Flags:

  -c, --config-file string   PMM config file (default "/usr/local/percona/pmm-client/pmm.yml")


Use "pmm-admin add [command] --help" for more information about a command.

[root@master ~]# pmm-admin  add  mysql --help

This command adds the given MySQL instance to system, metrics and queries monitoring.


When adding a MySQL instance, this tool tries to auto-detect the DSN and credentials.

If you want to create a new user to be used for metrics collecting, provide --create-user option. pmm-admin will create

a new user 'pmm@' automatically using the given (auto-detected) MySQL credentials for granting purpose.


Table statistics is automatically disabled when there are more than 10000 tables on MySQL.


[name] is an optional argument, by default it is set to the client name of this PMM client.


Usage:

  pmm-admin add mysql [name] [flags]


Examples:

  pmm-admin add mysql --password abc123

  pmm-admin add mysql --password abc123 --create-user

  pmm-admin add mysql --password abc123 --port 3307 instance3307


Flags:

      --create-user                       create a new MySQL user

      --create-user-maxconn uint16        max user connections for a new user (default 10)

      --create-user-password string       optional password for a new MySQL user

      --defaults-file string              path to my.cnf

      --disable-binlogstats               disable binlog statistics

      --disable-processlist               disable process state metrics

      --disable-tablestats                disable table statistics

      --disable-tablestats-limit uint16   number of tables after which table stats are disabled automatically (default 1000)

      --disable-userstats                 disable user statistics

      --force                             force to create/update MySQL user

      --host string                       MySQL host

      --password string                   MySQL password

      --port string                       MySQL port

      --query-source string               source of SQL queries: auto, slowlog, perfschema (default "auto")

      --socket string                     MySQL socket

      --user string                       MySQL username


Global Flags:

  -c, --config-file string    PMM config file (default "/usr/local/percona/pmm-client/pmm.yml")

      --service-port uint16   service port


#增加本地mysql实例

[root@master ~]# pmm-admin  add  mysql  --user root --password root

[linux:metrics] OK, now monitoring this system.

[mysql:metrics] OK, now monitoring MySQL metrics using DSN root:***@unix(/var/lib/mysql/mysql.sock)

[mysql:queries] OK, now monitoring MySQL queries from slowlog using DSN root:***@unix(/var/lib/mysql/mysql.sock)


安装完成后的访问地址列表:其实在 landing page包含了下面三个功能的页面


各个组件 功能访问地址
PMM landing page http://192.168.100.1
Query Analytics (QAN web app) http://192.168.100.1/qan/
Metrics Monitor (Grafana)

http://192.168.100.1/graph/

User name: admin

Password: admin

Orchestrator http://192.168.100.1/orchestrator

##

下面是一些截图界面


wKiom1i2QhHRX3imAAIcbFZ9EBU152.jpg-wh_50

wKiom1i2QhKCJAVoAAGs81dMG3s246.jpg-wh_50

wKioL1i2QhOTvHyXAAOPPiJMvl8902.jpg-wh_50

wKioL1i2QhThPJ6ZAAFwz5HAZuc415.jpg-wh_50

wKioL1i2QhewBkBWAAHrbAJ47hc719.jpg-wh_50





     本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/1902272,如需转载请自行联系原作者



相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
17天前
|
缓存 监控 关系型数据库
如何根据监控结果调整 MySQL 数据库的参数以提高性能?
【10月更文挑战第28天】根据MySQL数据库的监控结果来调整参数以提高性能,需要综合考虑多个方面的因素
56 1
|
17天前
|
监控 关系型数据库 MySQL
如何监控和诊断 MySQL 数据库的性能问题?
【10月更文挑战第28天】监控和诊断MySQL数据库的性能问题是确保数据库高效稳定运行的关键
36 1
|
24天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
91 4
|
28天前
|
监控 NoSQL MongoDB
MongoDB 监控
10月更文挑战第18天
22 0
MongoDB 监控
|
1月前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
133 5
|
1月前
|
存储 监控 NoSQL
TDengine 3.3.3.0 版本上线:优化监控、增强 MongoDB 支持
今天我们非常高兴地宣布,TDengine 3.3.3.0 版本正式发布。本次更新引入了多项重要功能和性能优化,旨在为用户提供更高效、更灵活的数据解决方案。
45 0
|
2月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
56 2
zabbix agent集成percona监控MySQL的插件实战案例
|
6月前
|
Prometheus 监控 Cloud Native
使用mysqld_exporter监控所有MySQL实例
使用mysqld_exporter监控所有MySQL实例
263 2
|
4月前
|
Prometheus 监控 Cloud Native
Prometheus结合Consul采集多个MySQL实例的监控指标
将 Prometheus 与 Consul 结合使用,实现对多个 MySQL 实例的自动发现与监控,不仅提高了监控的效率和准确性,也为管理动态扩缩容的数据库环境提供了强大的支持。通过细致配置每一部分,业务可以获得关键的性能指标和运行健康状况的即时反馈,进而优化资源配置,提高系统的稳定性和可用性。
162 3
|
5月前
|
关系型数据库 MySQL Java
关系型数据库mysql的开源与授权
【6月更文挑战第12天】
263 3