简介
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
评论
