简介
pmm-admin - 管理 PMM
概要
pmm-admin [FLAGS]
pmm-admin config [FLAGS] --server-url=server-url
pmm-admin add DATABASE [FLAGS] [NAME] [ADDRESS]
数据库:= [ MongoDB | MySQL | PostgreSQL | 代理SQL ]
pmm-admin add external [FLAGS] [NAME] [ADDRESS] (注意:技术预览功能)
pmm-admin add haproxy [FLAGS] [NAME]
pmm-admin add external [FLAGS] [NAME] [ADDRESS]
pmm-admin add external-serverless [FLAGS] [NAME] [ADDRESS]
pmm-admin remove [FLAGS] service-type [service-name]
pmm-admin register [FLAGS] [node-address] [node-type] [node-name]
pmm-admin list [FLAGS] [node-address]
pmm-admin status [FLAGS] [node-address]
pmm-admin summary [FLAGS] [node-address]
pmm-admin annotate [--node|--service] [--tags <tags>] [node-name|service-name]
pmm-admin help [COMMAND]
描述
pmm-admin 是一个命令行工具,用于使用一组 COMMAND 关键字和相关联的 FLAGS 来管理 PMM。
PMM 通过 PMM 代理进程与 PMM 服务器通信。
通用标志
-h,--help- 显示帮助并退出。
--help-long- 显示扩展帮助并退出。
--help-man- 生成
man页面。(pmm-admin --help-man | man -l -用于查看。) --debug- 启用调试日志记录。
--trace- 启用跟踪日志记录(意味着调试)。
--json- 启用 JSON 输出。
--version- 显示应用程序版本并退出。
--server-url=server-url- PMM 服务器 URL
https://username:password@pmm-server-host/格式。 --server-insecure-tls- 跳过 PMM 服务器 TLS 证书验证。
--group=<group-name>- 外部服务的组名。默认:
external
命令
一般命令
pmm-admin help [COMMAND]- 显示帮助
COMMAND。
信息命令
pmm-admin list --server-url=server-url [FLAGS]- 显示在此节点上运行的服务和代理,以及代理模式(推/拉)。
pmm-admin status --server-url=server-url [FLAGS]显示有关本地 pmm-agent 及其连接的服务器和客户端的以下信息:
- 代理:代理 ID、节点 ID。
- PMM 服务器:URL 和版本。
- PMM 客户端:连接状态、时间漂移、延迟、
vmagent状态、pmm-admin版本。 - 代理:代理 ID 路径和客户端名称。
旗帜:
--wait=<period><unit>- 等待 pmm-agent 成功响应的时间。周期是一个整数。单位是
ms毫秒,s秒,m分钟,h小时之一。
pmm-admin summary --server-url=server-url [FLAGS]在当前目录中使用默认文件名创建存档文件
summary_<hostname>_<year>_<month>_<date>_<hour>_<minute>_<second>.zip。内容是两个目录,client并server包含诊断文本文件。旗帜:
--filename="filename"- 摘要存档文件名。
--skip-server- 跳过
logs.zip从 PMM 服务器获取。 --pprof- 在摘要中包含性能分析数据。
配置命令
pmm-admin config
pmm-admin config [FLAGS] [node-address] [node-type] [node-name]配置本地
pmm-agent.旗帜:
--node-id=node-id- 节点 ID(默认为自动检测)。
--node-model=node-model- 节点模型。
--region=region- 节点区域。
--az=availability-zone- 节点可用区。
--metrics-mode=mode- 代理节点导出器的指标流模式。允许值: -
auto:由服务器选择(默认)。-push:代理将推送指标。-pull:服务器从代理中抓取指标。
pmm-admin register
pmm-admin register [FLAGS] [node-address] [node-type] [node-name]向 PMM 服务器注册当前节点。
--server-url=server-url- PMM 服务器 URL
https://username:password@pmm-server-host/格式。 --machine-id="/machine_id/9812826a1c45454a98ba45c56cc4f5b0"- 节点机器 ID(默认为自动检测)。
--distro="linux"- 节点操作系统分发(默认为自动检测)。
--container-id=container-id- 容器标识。
--container-name=container-name- 容器名称。
--node-model=node-model- 节点模型。
--region=region- 节点区域。
--az=availability-zone- 节点可用区。
--custom-labels=labels- 自定义用户分配的标签。
pmm-admin remove
pmm-admin remove [FLAGS] service-type [service-name]从监控中删除服务。
--service-id=service-id- 服务标识。
--force- 删除具有该名称或 ID 的服务以及所有相关服务和代理。
删除服务时,收集的数据会在 PMM 服务器上保留指定的保留期限。
pmm-admin annotate
pmm-admin annotate [--node|--service] <annotation> [--tags <tags>] [--node-name=<node>] [--service-name=<service>]注释一个事件。(阅读更多)
<annotation>- 注释字符串。如果它包含空格,它应该被引用。
--node- 注释当前节点或由 指定的节点
--node-name。 --service- 注释当前节点上运行的所有服务,或由 指定的服务
--service-name。 --tags- 一个带引号的字符串,用于为注释定义一个或多个逗号分隔的标签。例子:
"tag 1,tag 2"。 --node-name- 被注释的节点名称。
--service-name- 被注释的服务名称。
组合标志
可以按以下示例所示组合标志。
--node- 当前节点。
--node-name- 带名称的节点。
--node --node-name=NODE_NAME- 带名称的节点。
--node --service-name- 带有名称的当前节点和服务。
--node --node-name --service-name- 具有名称的节点和具有名称的服务。
--node --service- 当前节点和当前节点的所有服务。
-node --node-name --service --service-name- 带有名称的服务和带有名称的节点。
--service- 当前节点的所有服务。
--service-name- 有名字的服务。
--service --service-name- 有名字的服务。
--service --node-name- 当前节点和具有名称的节点的所有服务。
--service-name --node-name- 带有名称的服务和带有名称的节点。
--service --service-name -node-name- 带有名称的服务和带有名称的节点。
提示
如果指定了节点或服务名称,则使用它们代替其他参数。
数据库命令
MongoDB
pmm-admin add mongodb [FLAGS] [node-name] [node-address]将 MongoDB 添加到监控中。
旗帜:
--node-id=node-id- 节点 ID(默认为自动检测)。
--pmm-agent-id=pmm-agent-id- 运行此实例的 pmm-agent 标识符(默认为自动检测)。
--username=username- MongoDB 用户名。
--password=password- MongoDB 密码。
--agent-password=password覆盖访问
/metrics端点的默认密码。(用户名是pmm,默认密码是代理 ID。)避免使用特殊字符,如''、';' 和自定义密码中的“$”。
--query-source=profiler- 查询来源,以下之一:
profiler,none(默认值:)profiler。 --environment=environment- 环境名称。
--cluster=cluster- 集群名称。
--replication-set=replication-set- 复制集名称。
--custom-labels=custom-labels- 自定义用户分配的标签。
--skip-connection-check- 跳过连接检查。
--tls- 使用 TLS 连接到数据库。
--tls-skip-verify- 跳过 TLS 证书验证。
--tls-certificate-key-file=PATHTOCERT- TLS 证书文件的路径。
--tls-certificate-key-file-password=IFPASSWORDTOCERTISSET- TLS 证书文件的密码。
--tls-ca-file=PATHTOCACERT- 证书颁发机构文件的路径。
--metrics-mode=mode- 代理节点导出器的指标流模式。允许值: -
auto:由服务器选择(默认)。-push:代理将推送指标。-pull:服务器从代理中抓取指标。
MySQL
pmm-admin add mysql [FLAGS] node-name node-address | [--name=service-name] --address=address[:port] | --socket将 MySQL 添加到监控中。
旗帜:
--address- MySQL 地址和端口(默认值:127.0.0.1:3306)。
--socket=socket- MySQL 套接字的路径。(使用
mysql -u root -p -e "select @@socket".找到套接字路径。) --node-id=node-id- 节点 ID(默认为自动检测)。
--pmm-agent-id=pmm-agent-id- 运行此实例的 pmm-agent 标识符(默认为自动检测)。
--username=username- MySQL用户名。
--password=password- MySQL 密码。
--agent-password=password覆盖访问
/metrics端点的默认密码。(用户名是pmm,默认密码是代理 ID。)避免使用特殊字符,如''、';' 和自定义密码中的“$”。
--query-source=slowlog- :SQL查询的一个来源
slowlog,perfschema,none(默认:slowlog)。对于slowlog查询源,您需要更改特定文件的权限。为此需要root权限。 --size-slow-logs=N以此大小旋转慢速日志文件。如果
0,则使用服务器定义的默认值。负值禁用日志轮换。单位后缀必须附加到数字,并且可以是以下之一:KiB,MiB,GiB,TiB用于基数为 2 的单位(1024、1048576 等)。
--disable-queryexamples- 禁用查询示例的收集。
--disable-tablestats禁用表统计信息收集。
排除低分辨率时间间隔的收集器:
--collect.auto_increment.columns--collect.info_schema.tables--collect.info_schema.tablestats--collect.perf_schema.indexiowaits--collect.perf_schema.tableiowaits--collect.perf_schema.file_instances
排除中等分辨率时间间隔的收集器:
--collect.perf_schema.tablelocks
--disable-tablestats-limit=disable-tablestats-limit- 如果表的数量超过指定数量(默认值:服务器定义),将禁用表统计信息收集。0=无限制。负值禁用收集。
--environment=environment- 环境名称。
--cluster=cluster- 集群名称。
--replication-set=replication-set- 复制集名称。
--custom-labels=custom-labels- 自定义用户分配的标签。
--skip-connection-check- 跳过连接检查。
--tls- 使用 TLS 连接到数据库。
--tls-skip-verify- 跳过 TLS 证书验证。
--tls-cert-file=PATHTOCERT- TLS 客户端证书文件的路径。
--tls-key=PATHTOCERTKEY- TLS 客户端证书文件的密钥。
--tls-ca-file=PATHTOCACERT- 证书颁发机构文件的路径。
--ssl-ca=PATHTOCACERT- 证书颁发机构 (CA) 证书文件的路径名。如果使用,必须指定服务器使用的相同证书。(-ssl-capath 类似,但指定了 CA 证书文件目录的路径名。)
--ssl-cert=PATHTOCERTKEY- 客户端公钥证书文件的路径名。
--ssl-key- 客户端私钥文件的路径名。
--ssl-skip-verify- 跳过 SSL 证书验证。
--metrics-mode=mode- 代理节点导出器的指标流模式。允许值: -
auto:由服务器选择(默认)。-push:代理将推送指标。-pull:服务器从代理中抓取指标。
PostgreSQL
pmm-admin add postgresql [FLAGS] [node-name] [node-address]将 PostgreSQL 添加到监控中。
旗帜:
--node-id=<node id>- 节点 ID(默认为自动检测)。
--pmm-agent-id=<pmm agent id>- 运行此实例的 pmm-agent 标识符(默认为自动检测)。
--username=<username>- PostgreSQL 用户名。
--password=<password>- PostgreSQL 密码。
--agent-password=password覆盖访问
/metrics端点的默认密码。(用户名是pmm,默认密码是代理 ID。)避免使用特殊字符,如''、';' 和自定义密码中的“$”。
--query-source=<query source>- :SQL查询的一个来源
pgstatements,pgstatmonitor,none(默认:pgstatements)。 --environment=<environment>- 环境名称。
--cluster=<cluster>- 集群名称。
--replication-set=<replication set>- 复制集名称。
--custom-labels=<custom labels>- 自定义用户分配的标签。
--skip-connection-check- 跳过连接检查。
--tls- 使用 TLS 连接到数据库。
--tls-skip-verify- 跳过 TLS 证书验证。
--tls-ca-file- TLS CA 证书文件。
--tls-cert-file- TLS 证书文件。
--tls-key-file- TLS 证书密钥文件。
--metrics-mode=mode- 代理节点导出器的指标流模式。允许值: -
auto:由服务器选择(默认)。-push:代理将推送指标。-pull:服务器从代理中抓取指标。
代理SQL
pmm-admin add proxysql [FLAGS] [node-name] [node-address]将 ProxySQL 添加到监控中。
旗帜:
--node-id=node-id- 节点 ID(默认为自动检测)。
--pmm-agent-id=pmm-agent-id- 运行此实例的 pmm-agent 标识符(默认为自动检测)。
--username=username- ProxySQL 用户名。
--password=password- 代理SQL 密码。
--agent-password=password覆盖访问
/metrics端点的默认密码。(用户名是pmm,默认密码是代理 ID。)避免使用特殊字符,如''、';' 和自定义密码中的“$”。
--environment=environment- 环境名称。
--cluster=cluster- 集群名称。
--replication-set=replication-set- 复制集名称。
--custom-labels=custom-labels- 自定义用户分配的标签。
--skip-connection-check- 跳过连接检查。
--tls- 使用 TLS 连接到数据库。
--tls-skip-verify- 跳过 TLS 证书验证。
--metrics-mode=mode- 代理节点导出器的指标流模式。允许值: -
auto:由服务器选择(默认)。-push:代理将推送指标。-pull:服务器从代理中抓取指标。 --disable-collectors- 要从导出器中排除的以逗号分隔的收集器名称列表。
代理
pmm-admin add haproxy [FLAGS] [NAME]将 HAProxy 添加到监控中。
旗帜:
--server-url=SERVER-URL- PMM 服务器 URL
https://username:password@pmm-server-host/格式。 --server-insecure-tls- 跳过 PMM 服务器 TLS 证书验证。
--username=USERNAME- HAProxy 用户名。
--password=PASSWORD- HAProxy 密码。
--scheme=SCHEME- 生成导出器指标端点(http 或 https)的 URI 的方案。
--metrics-path=METRICS-PATH- 公开指标的路径,用于生成 URI(默认:/metrics)。
--listen-port=LISTEN-PORT- haproxy 的侦听端口,公开用于抓取指标的指标(必需)。
--service-node-id=SERVICE-NODE-ID- 服务运行的节点 ID(默认为自动检测)。
--environment=ENVIRONMENT- 环境名称,如“生产”或“qa”。
--cluster=CLUSTER- 集群名称。
--replication-set=REPLICATION-SET- 复制集名称。
--custom-labels=CUSTOM-LABELS- 自定义用户分配的标签。示例:region=east,app=app1。
--metrics-mode=MODE- 代理节点导出器的指标流模式。允许值: -
auto:由服务器选择(默认)。-push:代理将推送指标。-pull:服务器从代理中抓取指标。 --skip-connection-check- 跳过连接检查。
其他命令
pmm-admin add external [FLAGS]添加要监控的外部数据源(如在端口上运行的自定义导出器)。
旗帜:
--service-name="current-hostname"- 服务名称(自动检测到的默认为
pmm-admin正在运行的主机名)。 --agent-node-id=AGENT-NODE-ID- 代理运行的节点 ID(默认为自动检测)。
--username=USERNAME- 外部用户名。
--password=PASSWORD- 外部密码。
--scheme=http or https- 生成导出器指标端点的 URI 的方案。
--metrics-path=/metrics- 公开指标的路径,用于生成 URI。
--listen-port=LISTEN-PORT- 用于抓取指标的外部导出器的侦听端口。(必需的。)
--service-node-id=SERVICE-NODE-ID- 服务运行的节点 ID(默认为自动检测)。
--environment=prod- 环境名称,如“生产”或“qa”。
--cluster=east-cluster- 集群名称。
--replication-set=rs1- 复制集名称。
--custom-labels=CUSTOM-LABELS- 自定义用户分配的标签。例子:
region=east,app=app1。 --metrics-mode=auto- 指标流模式,可以是
push:代理将推送指标,pull:服务器从代理中抓取指标或auto:由服务器选择。 --group="external"- 外部服务的组名。(默认:
external.)
pmm-admin add external-serverless [FLAGS]将远程节点上的外部服务添加到监控中。
用法示例:
pmm-admin add external-serverless --url=http://1.2.3.4:9093/metrics。此外,可以设置单个参数而不是
--url像:pmm-admin add external-serverless --scheme=http --host=1.2.3.4 --listen-port=9093 --metrics-path=/metrics --container-name=ddd --external-name=e125。请注意,某些参数是强制性的,具体取决于上下文。例如,如果指定
--url,则--schema其他相关参数不是必需的。但是,如果您指定,--host您必须提供构建目标 URL 所需的所有其他参数,或者您可以将--address主机和端口指定为单独的参数。旗帜:
--url=URL- 导出器指标端点的完整 URL。
--scheme=https- 生成导出器指标端点的 URL 的方案。
--username=USERNAME- 外部用户名。
--password=PASSWORD- 外部密码。
--address=1.2.3.4:9000- 外部出口商地址和端口。
--host=1.2.3.4- 外部出口商主机名或 IP 地址。
--listen-port=9999- 用于抓取指标的外部导出器的侦听端口。
--metrics-path=/metrics- 公开指标的路径,用于生成 URL。
--environment=testing- 环境名称。
--cluster=CLUSTER- 集群名称。
--replication-set=rs1- 复制集名称。
--custom-labels='app=myapp,region=s1'- 自定义用户分配的标签。
--group="external"- 外部服务的组名。(默认:
external.) --machine-id=MACHINE-ID- 节点机器 ID。
--distro=DISTRO- 节点操作系统分发。
--container-id=CONTAINER-ID- 容器标识。
--container-name=CONTAINER-NAME- 容器名称。
--node-model=NODE-MODEL- 节点模型。
--region=REGION- 节点区域。
--az=AZ- 节点可用区。
例子
pmm-admin add mysql --query-source=slowlog --username=pmm --password=pmm sl-mysql 127.0.0.1:3306
MySQL Service added.
Service ID : /service_id/a89191d4-7d75-44a9-b37f-a528e2c4550f
Service name: sl-mysql
pmm-admin add mysql --username=pmm --password=pmm --service-name=ps-mysql --host=127.0.0.1 --port=3306
pmm-admin status
pmm-admin status --wait=30s
Agent ID: /agent_id/c2a55ac6-a12f-4172-8850-4101237a4236
Node ID : /node_id/29b2cc24-3b90-4892-8d7e-4b44258d9309
PMM Server:
URL : https://x.x.x.x:443/
Version: 2.5.0
PMM Client:
Connected : true
Time drift: 2.152715ms
Latency : 465.658µs
pmm-admin version: 2.5.0
pmm-agent version: 2.5.0
Agents:
/agent_id/aeb42475-486c-4f48-a906-9546fc7859e8 mysql_slowlog_agent Running
禁用收集器
pmm-admin add mysql --disable-collectors='heartbeat,global_status,info_schema.innodb_cmp' --username=pmm --password=pmm --service-name=db1-mysql --host=127.0.0.1 --port=3306
对于您可以使用该--disable-collectors选项禁用的其他收集器,请访问每个导出器的官方存储库:
- 页面更新 2021-08-27




