美文网首页
使用PMM监控MySQL及MongoDB

使用PMM监控MySQL及MongoDB

作者: 张伟科 | 来源:发表于2019-01-03 15:33 被阅读0次

    目录

    一、PMM介绍

    二、PMM架构解析

    三、安装运行PMM Server

    四、安装运行PMM Client

    五、添加MySQL监控

    六、查看监控和管理平台

    七、添加MongoDB监控

    八、仪表盘设置

    九、经常问的问题?

    一、PMM介绍

    Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。

    PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analytics的功能,可以检视执行了哪些SQL指令,并对执行效能较差的语法进行优化。另外在新版本还支持了MySQL复制拓扑图结构构造。Demo官网:http://pmmdemo.percona.com

    PMM版本变化

    PMM 1.4版本时就把“MySQL Replication Topology Manager”拿掉了从主页上面,而“Query Analytics”和“Metrics Monitor”更加人性化。

    PMM 1.6版本时把“Query Analytics”页面取消了,从而把日志分析放到了Grafana里面展示。

    PMM 1.8版本时直接把主页拿掉了,默认主页就是Grafana了,同时把日志分析也放到了Grafana。

    PMM针对操作系统的部份也提供了硬盘、网络、CPU和RAM的监控,特别的是它提供了Context switches、Processes和interrupts的监控,Context Switches可以看到CPU上下切换文的状况,Processes可以方便了解系统有多少程序在等待I/O。

    二、PMM架构解析

    PMM架构如下图所示

    PMM Server是作为Docker镜像distributed,而PMM Client就是一般的RPM,它需要安装Server端和Client端软件。

    Server组件

    Query Analytics(QAN)是用来搜集指令并作性能分析的,其组件分别说明如下:

    QAN API:作为percona-qan-agent后端储存和读取Query资料用。

    QAN APP:提供图形化分析介面。

    Metrics Monitor(MM)组件提供了MySQL和MongoDB历史监控信息,其组件分别说明如下:

    Prometheus:一个开源的服务监控系统和时间序列数据库,它连接到PMM Client上的exporter聚集DB的监控数据。

    – Consul:提供API让PMM Client可以远端替Prometheus新增、移除hosts,同时它也储存了监控的metadata。

    Grafana:这是一个第三方Dashboard和图形构建器,用于可视化Prometheus中聚合的数据,以Web呈现。

    – Percona Dashboards:是由Percona开发的一组用于Grafana的仪表板。

    上述的2个Web页面都能从PMM Landing Page(就是PMM首页)直接连结。

    Client组件

    ppm-admin:命令行的PMM Client管理工具,用来新增、移除监控的资料Instance。

    percona-qan-agent:是一种管理QAN代理的服务,收集查询性能数据并将其发送到PMM服务器上的QAN API。

    node_exporter:Prometheus exporter用于搜集一般系统信息(https://github.com/prometheus/node_exporter)。

    mysqld_exporter:Prometheus exporter用于搜集MySQL Server的信息(https://github.com/percona/mysqld_exporter)。

    mongodb_exporter:Prometheus exporter用于搜集MongoDB server的信息(https://github.com/percona/mongodb_exporter)。

    三、安装运行PMM Server

    3.1、安装docker

    yum install docker

    3.2、运行docker

    systemctl start docker

    systemctl enable docker

    3.3、下载容器镜像

    docker pull percona/pmm-server:latest

    3.4、建立数据卷容器

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

    3.5、运行PMM Server

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

    3.5查看Docker运行状态

    docker ps

    CONTAINER ID        IMAGE                      COMMAND                  CREATED              STATUS              PORTS                         NAMES

    1295960891e1        percona/pmm-server:1.4.1   "/opt/entrypoint.sh"     About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 443/tcp   pmm-server

    通过使用运行容器的主机的IP地址连接到PMM Web界面来验证PMM服务器是否正在运行,然后在要监视的所有数据库主机上安装PMM Client。

    3.4 验证PMM服务器

    运行PMM Server之后,你应该可以使用运行容器的主机的IP地址访问PMM Web界面。例如,如果在默认端口80上运行10.10.0.188,则应该可以访问以下内容:

    四、安装运行PMM Client

    PMM Client是安装在你要监视的MySQL或MongoDB主机上的一组代理组件。组件收集关于一般系统和数据库性能的各种数据,并将该数据发送到相应的PMM服务器组件。

    在数据库主机上安装PMM Client软件包之前,请确保你的PMM Server主机可访问。

    你将需要在数据库主机上使用root用户访问安装PMM Client(以具有root权限的用户身份登录或能够运行命令的sudo权限)。

    查询分析(QAN)的最低要求是:

    MySQL 5.1或更高版本(如果使用慢查询日志)

    MySQL 5.6.9或更高版本(如果使用性能模式)

    PMM Client可以运行在任何Linux发行版上,但是Percona提供的PMM Client软件包只能从Ubuntu或CentOS发行版的软件仓库进行自动安装:

    在Debian或Ubuntu上安装PMM Client

    在Red Hat或CentOS上安装PMM Client

    下面我们以在Red Hat或CentOS上安装PMM Client。

    4.1 安装RMM Client

    1

    2

    $ sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

    $ sudo yum install pmm-client

    1$ wget http://repo.percona.com/release/latest/RPMS/x86_64/pmm-client-1.4.1-1.x86_64.rpm

    安装PMM Client之后,它不会自动连接到PMM Server。要将客户端连接到PMM服务器,请使用该命令指定IP地址。

    1

    2

    3

    4

    5

    6

    $ pmm-admin config --server 10.10.0.188

    OK, PMM server is alive.

    PMM Server      | 10.10.0.188

    Client Name     | tosa1-tcjf-db1

    Client Address  | 10.100.172.240

    注意,如果在运行PMM Server时更改了默认端口80 ,请在服务器的IP地址之后指定。

    4.2 PMM客户端管理

    使用pmm-admin工具来管理PMM客户端。该pmm-admin工具需要root访问权限(你应该以具有root用户权限的用户身份登录或者可以使用命令进行登录sudo)。

    用法:

    1pmm-admin [OPTIONS] [COMMAND]

    OPTIONS

    以下选项可用于任何命令:

    -c,--config-file

    指定PMM配置文件的位置(默认/usr/local/percona/pmm-client/pmm.yml)。

    -h,--help

    打印任何命令和退出的帮助。

    -v,--version

    打印PMM客户端版本

    --verbose

    打印详细输出。

    COMMANDS

    pmm-adminadd

    添加监控服务。

    pmm-admincheck-network

    检查PMM客户端PMM服务器之间的网络连接。

    pmm-adminconfig

    配置PMM Client如何与PMM服务器通信

    pmm-adminhelp

    打印任何命令和退出的帮助。

    pmm-admininfo

    打印有关PMM客户端的信息

    pmm-adminlist

    列出为此PMM客户端添加的所有监控服务。

    pmm-adminping

    检查PMM服务器是否存活。

    pmm-adminpurge

    清除PMM服务器上的度量数据。

    pmm-adminremovepmm-adminrm

    删除监控服务。

    pmm-adminrepair

    删除丢失连接的服务(如服务器端宕机了)。

    pmm-adminrestart

    重新启动监控服务。

    pmm-adminshow-passwords

    打印PMM Client使用的密码(存储在配置文件中)。

    pmm-adminstart

    开启监控服务。

    pmm-adminstop

    停止监控服务。

    pmm-adminuninstall

    在卸载之前清理PMM Client

    五、添加MySQL监控

    5.1 连接PMM服务器

    安装PMM Client之后,它不会自动连接到PMM Server。要将客户端连接到PMM服务器,请使用该命令指定IP地址。

    1

    2

    3

    4

    5

    6

    $ pmm-admin config --server 10.10.0.188

    OK, PMM server is alive.

    PMM Server      | 10.10.0.188

    Client Name     | tosa1-tcjf-db1

    Client Address  | 10.100.172.240

    5.2 需要先创建一个监控账号

    1

    2

    3

    mysql> GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'monitor'@' localhost' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 10;

    mysql> GRANT SELECT, UPDATE, DELETE, DROP ON performance_schema.* TO 'monitor'@'localhost';

    mysql> flush privileges;

    mysql:metrics – 需要REPLICATION CLIENT权限。

    mysql:queries – 需要SUPER权限。

    具体参考 [What privileges are required to monitor a MySQL instance?(https://www.percona.com/doc/percona-monitoring-and-management/faq.html#id11)

    5.3 添加MySQL监控和主机监控

    这里将用linux:metrics和mysql-metrics和mysql:queries收集MySQL主机指标和实例指标和慢查询的信息。

    1

    2

    3

    4

    $ pmm-admin add mysql --user monitor --password '123456' --host localhost --port 3306

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

    [mysql:metrics] OK, now monitoring MySQL metrics using DSN monitor:***@tcp(127.0.0.1:3306)

    [mysql:queries] OK, now monitoring MySQL queries from slowlog using DSN monitor:***@tcp(127.0.0.1:3306)

    监控单主机多实例时如下配置即可:

    1

    2

    $ pmm-admin add mysql --user monitor --password '123456' --host localhost --port 3306 instance-01

    $ pmm-admin add mysql --user monitor --password '123456' --host localhost --port 3307 instance-02

    查看exproter监听端口

    1

    2

    3

    $ netstat -nplt | grep export

    tcp        0      0 10.100.172.240:42000        0.0.0.0:*                   LISTEN      16477/node_exporter

    tcp        0      0 10.100.172.240:42002        0.0.0.0:*                   LISTEN      16856/mysqld_export

    pmm-client可以按host和port进行配置,pmm-client是否无须部署到MySQL对应的机器上呢?

    pmm-client收的监控数据来源有这么几方面:

    a. MySQL所在机器的系统指标(linux:metrics).

    b. MySQL的performance_schema(mysql:metrics).

    c. MySQL慢查询日志(mysql:queries).

    5.4 查看配置后的结果

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    $ pmm-admin list

    pmm-admin 1.4.1

    PMM Server      | 10.10.0.188

    Client Name     | tosa1-tcjf-db1

    Client Address  | 10.100.172.240

    Service Manager | unix-systemv

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

    SERVICE TYPE   NAME            LOCAL PORT  RUNNING  DATA SOURCE                            OPTIONS                                  

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

    mysql:queries  tosa1-tcjf-db1  -           YES      mysql_monitor:***@tcp(127.0.0.1:3306)  query_source=slowlog, query_examples=true

    linux:metrics  tosa1-tcjf-db1  42000       YES      -                                                                                

    mysql:metrics  tosa1-tcjf-db1  42002       YES      mysql_monitor:***@tcp(127.0.0.1:3306)

    如果我们想收集a和c中的指标的话,最好还是将pmm-client部署在MySQL所在机器。

    5.5 帮助信息

    更多的设定內容可以用下列指令查询:

    1

    2

    3

    4

    $ pmm-admin add mysql:metrics --help

    Usage:

      pmm-admin add mysql [name] [flags]

      .....

    以下选项可以与mysql:metrics别名一起使用:

    --create-user

    PMM客户端(命名pmm)创建一个专用的MySQL用户。

    --create-user-maxconn

    指定专用MySQL用户的最大连接数(默认值为10)。

    --create-user-password

    指定专用MySQL用户的密码。

    --defaults-file

    指定路径my.cnf。

    --disable-binlogstats

    禁用二进制日志统计的收集。

    --disable-processlist

    禁用进程状态指标的收集。

    --disable-tablestats

    禁用表统计信息的收集。

    --disable-tablestats-limit

    指定启用表统计信息集合的最大表数(默认情况下,限制为1000表)。

    --disable-userstats

    禁用用户统计信息的收集。

    --force

    强制创建或更新专用的MySQL用户。

    --host

    指定MySQL主机名,默认取Client Name。

    --password

    指定具有管理员权限的MySQL用户的密码。

    --port

    指定MySQL实例端口

    --socket

    指定MySQL实例套接字文件。

    --user

    指定具有管理员权限的MySQL用户的名称。

    六、查看监控和管理平台

    使用运行PMM Server的主机的IP地址访问PMM Web界面。目标网页链接到相应的PMM工具:

    ComponentURL备注

    PMM landing pagehttp://10.10.0.188PMM跳转页

    Query Analytics (QAN web app)http://10.10.0.188/qanSQL慢日志分析

    Metrics Monitor (Grafana)http://10.10.0.188/graphuser name: admin password: admin监控指标图表

    Orchestratorhttp://10.10.0.188/orchestratorMySQL集群拓扑结构

    这些工具可以全面了解MySQL主机的性能。

    6.1 指标监控

    该监控工具提供对数据库服务器的关键指标的历史指标,基于时间的图表通过主题分为仪表板:一些与MySQL或MongoDB相关,其他则提供了一般的系统指标。

    要访问仪表板,请提供默认用户凭据:

    用户: admin

    密码: admin

    在主屏幕上,从可用的Dashboards列表中选择一个仪表板。例如,以下图片显示了系统相关指标:

    MySQL指标监控

    6.2 慢查询分析

    该查询分析工具,使数据库管理员和应用程序开发人员分析一段时间内的MySQL查询和发现性能问题,查询分析可以帮助你优化数据库性能。

    PMM使用slow log作为查询源(还可以以performance schema作为数据源),记得要需要开启慢日志。

    1

    2

    slow_query_log=1   #开启慢查询日志;

    long_query_time=0  #超过多少秒的查询就写入日志;

    不然打开PMM Query Analytics会报 “QAN API error: “qh.Profile: No query classes for selected instance and time range.错误。

    以下图片显示了Query Analytics:

    汇总表包含以%GTT (总计时间的百分比)排名的前十名查询,这是MySQL服务器执行特定查询所花费的时间百分比,与在所选期间执行所有查询的总时间相比时间。

    你可以通过选择预定义的间隔(最后一小时,3小时,6小时,12小时,最后一天或5天)来选择顶部的时间段,或者使用日历图标选择特定的间隔。如果你有多个安装了PMM Client的MySQL主机,则可以使用顶部的下拉列表在这些主机之间切换。

    如果要配置使用PMM Client在MySQL主机上运行的QAN代理,请单击顶部的齿轮图标。

    6.2.1 查询详情

    如果你在汇总表中单击查询,你可以获得查询的详细信息。详细信息包含特定于该特定查询的所有指标,例如发送的字节数,锁定时间,发送的行数等。你可以查看查询的第一次和最后一次查看,获取查询的示例以及其指纹。

    详细信息部分使您可以EXPLAIN直接从PMM Web界面(仅指定数据库)在所选查询上运行。

    你可以在底部为所选查询运行“表信息”,这使你能够获得,以及通过直接从PMM Web界面查询使用的每个表:SHOWCREATETABLESHOWINDEXSHOWTABLESTATUS

    如果你的MySQL严格区分大小写,查看表信息可能会有问题。这个时候你可以在点击”Add db.table to list”把你要查看的表添加进去。

    6.2.2 Performance Schema

    PMM的查询数据的默认源是慢查询日志,它在MySQL 5.1及更高版本中可用。从MySQL 5.6(包括Percona Server 5.6及更高版本)开始,你可以选择从Performance Schema中解析查询数据。从MySQL 5.6.6开始,性能模式默认启用(MariaDB 10.0&10.1默认关闭)。

    Performance Schema不像慢查询日志那样具有数据丰富性,但它具有所有关键数据,并且通常更快地解析。如果你正在运行Percona Server,则正确配置的慢查询日志将以最低的开销提供最多的信息。否则,使用Performance Schema可能会提供更好的结果。

    要使用性能模式:

    1. 确保performance_schema变量设置为ON

    1

    2

    3

    4

    5

    6

    7

    mysql> SHOW VARIABLES LIKE 'performance_schema';

    +--------------------+-------+

    | Variable_name      | Value |

    +--------------------+-------+

    | performance_schema | ON    |

    +--------------------+-------+

    1 row in set (0.02 sec)

    如果没有,请添加以下行my.cnf并重新启动MySQL(不支持动态启动目前):

    1

    2

    [ mysql ]

    performance_schema = ON

    注意:默认情况下,MySQL 5.6.6及更高版本中启用了Performance Schema检测,在5.6之前的MySQL版本中完全不可用。

    2. 配置QAN代理从Performance Schema收集数据

    如果实例已经运行:

    在Query Analytics网络用户界面中,点击顶部的齿轮按钮。

    在“ 查询分析”下,从 “Collect from”下拉列表中选择“Performance Schema ”。

    单击Apply以保存更改。

    如果要使用pmm-admin工具添加新的监控实例,请使用该选项,例如:--query-sourceperfschema

    1$ pmm-admin add mysql --user root --password root --create-user --query-source perfschema

    另外,打开Query Analytics,点击view database and server summary info按钮应该会显示如下信息:

    解决方法:需要安装percona-toolkit包即可

    1$ yum install percona-toolkit

    6.3 Orchestrator

    Orchestrator是MySQL复制拓扑管理和可视化工具(它是一个独立的工具,不与PMM集成),你可以使用PMM服务器地址/orchestrator后的URL访问它。或者,你可以单击主PMM服务器着陆页上的MySQL复制拓扑管理器按钮。

    要使用它,在所有管理实例上为Orchestrator创建一个MySQL用户:

    1GRANT SUPER,PROCESS,REPLICATION SLAVE,RELOAD ON *。* TO'orc_client_user'@'%'IDENTIFIED BY'orc_client_password';

    注意:示例中的凭据是默认值,如果使用不同的用户名或密码,则必须使用以下选项在运行PMM Server时传递它们 :

    1-e ORCHESTRATOR_USER = name -e ORCHESTRATOR_PASSWORD = pass

    然后,您可以使用Orchestrator Web界面中的Discover页将实例添加到拓扑。

    七、添加MongoDB监控

    7.1 连接PMM服务器

    安装PMM Client之后,它不会自动连接到PMM Server。要将客户端连接到PMM服务器,请使用该命令指定IP地址。

    1

    2

    3

    4

    5

    6

    $ pmm-admin config --server 10.10.0.188

    OK, PMM server is alive.

    PMM Server      | 10.10.0.188

    Client Name     | tosa1-tcjf-db1

    Client Address  | 10.100.172.240

    7.2 添加MongoDB监控

    这将创建pmm-mongodb-metrics-42003收集此特定MongoDB实例的本地MongoDB指标的服务。

    1$ pmm-admin add mongodb --cluster rs1 --uri mongodb://admin:123456@localhost:27017

    八、仪表盘设置

    默认情况下,仪表盘中不是所有的dashboard都可以正确显示,有一些是专门为Percona或MariaDB提供的监控指标。或者有一些需要专门的插件支持才可以正确显示。

    但是收集图表的指标和统计信息会增加性能开销,所以你可以一直不断收集和绘制低开销的指标,只有在排除问题时才去启用高开销指标。

    MySQL InnoDB Metrics

    InnoDB指标提供有关InnoDB操作的详细信息,虽然你可以选择仅捕获特定计数器,但即使所有这些计数器始终启用,它们的开销也很低。要启用所有InnoDB指标,请将全局innodb_monitor_enable变量设置为all:

    1mysql> SET GLOBAL innodb_monitor_enable = all;

    MySQL User Statistics

    用户统计信息是Percona Server和MariaDB中可用的功能,它提供有关用户活动,单独表和索引访问的信息。在某些情况下,收集用户统计信息可能会导致高开销,因此请谨慎使用此功能。要启用用户统计信息,请将userstat变量设置为1即可。

    MySQL Performance Schema

    使用MySQL 5.6或更高版本,默认情况下启用性能模式检测。如果未启用某些仪器,则在“ MySQL Performance Schema”仪表板中将看不到相应的图形。要启用完整的仪器设置,请将–performance_schema_instrument选项设置’%=on’为启动时:

    注意:此选项可能导致额外的开销,应谨慎使用。

    MySQL Query Response Time

    查询响应时间分配是Percona Server中可用的功能(MariaDB部分可用),它提供有关不同查询组的查询响应时间更改的信息,通常允许在导致严重问题之前发现性能问题。

    注意:此功能导致非常高的开销,特别是在每秒处理超过10,000个查询的系统上,仅在故障排除问题时暂时使用它。

    启用查询响应时间的收集:

    1. 安装QUERY_RESPONSE_TIME插件

    1

    2

    3

    4

    mysql> INSTALL  PLUGIN  QUERY_RESPONSE_TIME_AUDIT  SONAME  'query_response_time.so';

    mysql> INSTALL  PLUGIN  QUERY_RESPONSE_TIME  SONAME  'query_response_time.so';

    mysql> INSTALL  PLUGIN  QUERY_RESPONSE_TIME_READ  SONAME  'query_response_time.so';

    mysql> INSTALL  PLUGIN  QUERY_RESPONSE_TIME_WRITE  SONAME  'query_response_time.so';

    2. 将全局query_response_time_stats变量设置为ON

    1mysql> SETGLOBALquery_response_time_stats=ON;

    九、经常问的问题?

    9.1 如何控制Prometheus的内存消耗?

    默认情况下,PMM Server中的Prometheus最多可以使用256MB的内存来存储最近使用的数据块。根据进入普罗米修斯的数据量,你可能需要更高的限制才能避免限制数据吞吐,或者如果其他进程需要更少的内存消耗。

    你可以通过METRICS_MEMORY在创建和运行PMM Server容器时传递环境变量来控制Prometheus允许的内存消耗。要设置环境变量,请使用该-e选项。该值必须以千字节为单位传递。例如,将限制设置为4GB内存:

    1-e METRICS_MEMORY=4194304

    注意:限制仅影响为数据块保留的内存,普罗米修斯的实际RAM使用率更高,建议使用比数据块占用的预期内存至少三倍的内存。

    9.2 如何控制Prometheus的数据保留?

    默认情况下,PMM服务器中的Prometheus将时间序列数据存储30天,根据可用的磁盘空间和您的要求,您可能需要调整数据保留时间。

    您可以通过METRICS_RETENTION在创建和运行PMM Server容器时传递环境变量来控制Prometheus的数据保留时间。要设置环境变量,请使用该-e选项。该值以小时,分钟和秒的组合传递。例如,默认值为30天720h0m0s。你可能不需要比数字小时更精确,所以你可以丢弃分钟和秒。例如,将保留期限减少到8天:

    1-e METRICS_RETENTION = 192h

    9.3 常见的性能考虑是什么?

    如果MySQL服务器有很多模式或表,建议在添加实例时禁用每个表的指标:

    1$ sudo pmm-admin add mysql --disable-tablestats

    注意:如果有超过1000个表,表统计信息将自动禁用。

    9.4 可以一次停止所有服务吗?

    是的,你可以使用pmm-admin启动和停止与添加的监控实例相对应的单个服务,或者一次启动所有这些服务。

    启动和停止所有服务:

    1

    2

    $ sudo pmm-admin stop --all

    $ sudo pmm-admin start --all

    9.5 PMM客户端日志文件位于哪里?

    pmm-admin添加监控实例时创建的每个服务都有一个单独的日志文件/var/log/。文件名具有以下语法:pmm--.log。

    例如,QAN监控服务的日志文件是/var/log/pmm-mysql-queries-0.log。所以有问题看日志即可。

    9.6 PMM客户端创建的服务在哪里?

    使用该pmm-admin工具添加监控实例时,会创建相应的服务。该服务的名称具有以下语法: pmm--

    例如:pmm-mysql-metrics-42002。

    服务的位置取决于服务管理器:

    systemd:/etc/systemd/system/

    upstart:/etc/init/

    systemv:/etc/init.d/

    要查看系统上使用哪个服务管理器,请运行:pmm-admin info

    9.7 PMM如何配置安全访问模式?

    你可以使用以下安全功能来保护PMM免受未经授权的访问:

    HTTP密码保护在访问PMM服务器 Web界面时添加身份验证

    SSL加密保护PMM客户端和PMM服务器之间的流量

    9.7.1 启用密码保护

    你可以在创建和运行PMM Server容器时传递环境变量来设置访问PMM Server Web界面的密码。要设置环境变量,请使用该选项。例如,要设置密码为:

    1SERVER_PASSWORD -e pass1234

    默认情况下,用户名为pmm。你可以通过传递SERVER_USER变量来改变它。

    例如:

    1

    2

    3

    4

    5

    6

    7

    8

    docker run -d -p 80:80 \

      --volumes-from pmm-data \

      --name pmm-server \

      -e SERVER_USER=admin \

      -e SERVER_PASSWORD=admin \

      --restart always \

      --init \

      percona/pmm-server:1.4.1

    PMM客户端使用相同的凭据与PMM服务器进行通信,如果按照所述设置用户名和密码,请在将PMM Client连接到PMM服务器时指定它们:

    1$ pmm-admin config --server 10.10.0.188 --server-user admin --server-password admin

    9.7.2 启用SSL保护

    PMM中的安全功能

    9.8 PMM-Client设置Client Name

    在PMM客户端使用pmm-admin list查看监控应用时,其NAME字段的名称取自“Client Name”,而“Client Name”来自HOSTNAME。所以这个某些时候会有问题,比如在Web中显示PMM-Client名字几个数据库都是localhost.localostdoman,这就很不好分辨了。另外可能你想在Web界面直接显示主机IP地址,这时就需要调整默认方式了。有两种方法可以解决。

    一:直接修改“Client Name”

    1

    2

    3

    4

    $ pmm-admin add mysql --help

    .....

    Global Flags:

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

    在文件/usr/local/percona/pmm-client/pmm.yml中可以修改“Client Name”。

    二、添加监控时指定名称

    1$ pmm-admin add mysql --user monitor --password '123456' --host localhost --port 3306 172.18.16.1

    相关文章

      网友评论

          本文标题:使用PMM监控MySQL及MongoDB

          本文链接:https://www.haomeiwen.com/subject/lnizfftx.html