在我的Fedora 30笔记本上,我安装并运行了Performance Co-Pilot (PCP)守护程序,并从软件包中安装了Prometheus。golang-github-prometheus-prometheus-1.8.0-4.fc30.x86_64
. 在PCP收集器的配置中,我指定了以下度量名空间。
# Performance Metrics Domain Specifications
#
# This file is automatically generated during the build
# Name Id IPC IPC Params File/Cmd
#root 1 pipe binary /var/lib/pcp/pmdas/root/pmdaroot
#pmcd 2 dso pmcd_init /var/lib/pcp/pmdas/pmcd/pmda_pmcd.so
proc 3 pipe binary /var/lib/pcp/pmdas/proc/pmdaproc -d 3
#xfs 11 pipe binary /var/lib/pcp/pmdas/xfs/pmdaxfs -d 11
linux 60 pipe binary /var/lib/pcp/pmdas/linux/pmdalinux
#pmproxy 4 dso pmproxy_init /var/lib/pcp/pmdas/mmv/pmda_mmv.so
mmv 70 dso mmv_init /var/lib/pcp/pmdas/mmv/pmda_mmv.so
#jbd2 122 dso jbd2_init /var/lib/pcp/pmdas/jbd2/pmda_jbd2.so
#kvm 95 pipe binary /var/lib/pcp/pmdas/kvm/pmdakvm -d 95
[access]
disallow ".*" : store;
disallow ":*" : store;
allow "local:*" : all;
当我访问URL时 localhost:44323/metrics
输出是非常丰富的,涵盖了许多命名空间,即mem、网络、内核、filesys、hotproc等,但当我用Prometheus刮取它时,工作被定义为:我看到目标状态为UP,但控制台中只有这两个度量命名空间可以查询:hinv和mem。
scrape_configs:
- job_name: 'pcp'
scrape_interval: 10s
sample_limit: 0
static_configs:
- targets: ['127.0.0.1:44323']
我看到目标状态为 "UP",但在控制台中只有这两个度量命名空间可供查询: hinv和mem。我试着把其他的度量名称从 /metrics
页面,但查询的结果是错误的:'No datapoints found'。起初我以为问题可能是由于每个目标的采样数量有限制,或者采样间隔太小(我最初设置为1s),但hinv和mem并不挨着,而且它们之间还有其他指标(即filesys、kernel)被省略了。这可能是什么原因呢?
我还没有找到问题的确切原因,但它一定是特定的版本,因为在我下载并启动最新的2.19版本后,问题就消失了,而且在完全相同的配置下,Prometheus可以从目标读取所有指标。