最初安装版本,prometheus 和 JMX Exporter 版本都与目前安装的一致。grafana版本版本为 grafana-8.0.4-1.x86_64.rpm,引入的模板ID:8563。
当时安装好之后,配置好 grafana 的 Data sources 和 Manage 之后,出现的问题是浏览器控制台报错信息如下:
WebSocket connection to 'ws://192.168.0.102:30000/api/live/ws' failed:
百度无果后,解决的方式是首先将 grafana 的版本从 8.0.4 降到 8.0.0,然后将 JMX Exporter 配置文件 simple-config.yml 内容做了修改,内容如下:
# 以下内容为最新内容,之前的内容参照《linux上使用JMX Exporter结合prometheus》中 simple-config.yml 的内容
lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
blacklistObjectNames: []
rules:
- pattern: 'java.lang<type=OperatingSystem><>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:'
name: os_$1_bytes
type: GAUGE
attrNameSnakeCase: true
- pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'
name: os_$1
type: GAUGE
attrNameSnakeCase: true
jmx_exporter 配置解释
下面是官方给出的 jmx_exporter 的配置样例:
---
startDelaySeconds: 0
hostPort: 127.0.0.1:1234
username:
password:
jmxUrl: service:jmx:rmi:///jndi/rmi://127.0.0.1:1234/jmxrmi
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
whitelistObjectNames: ["org.apache.cassandra.metrics:*"]
blacklistObjectNames: ["org.apache.cassandra.metrics:type=ColumnFamily,*"]
rules:
- pattern: 'org.apache.cassandra.metrics<type=(\w+), name=(\w+)><>Value: (\d+)'
name: cassandra_$1_$2
value: $3
valueFactor: 0.001
labels: {}
help: "Cassandra metric $1 $2"
type: GAUGE
attrNameSnakeCase: false
名称 | 描述 |
startDelaySeconds | 在处理请求前的启动延迟,单位为秒。在延迟期间,也就是启动前,任何的请求都只会返回空的指标集 |
hostPort | 远程JMX接入的主机与端口号。如果此配置项和jmxurl都没有被设置,则会与本地JVM会话。(以推荐的-javaagent 模式启动,并且没有配置远程JMX,则不用填此配置项。) |
username | 远程JMX身份认证的用户名 |
password | 远程JMX身份认证的密码 |
jmxUrl | 完整的 JMX URL,若配置了主机和端口则不应配置此项。 |
ssl | 是否开启与JMX的SSL通讯。要配置此项前必须设置一些系统属性: -Djavax.net.ssl.keyStore=/home/user/.keystore -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=/home/user/.truststore -Djavax.net.ssl.trustStorePassword=changeit |
lowercaseOutputName | 是否把指标名称转换为小写,默认为false。 |
lowercaseOutputLabelNames | 是否把标签名称转换为小写,默认为false |
whitelistObjectNames | 查询对象白名单,默认是所有mBeans对象。不在白名单则不会被查询。支持正则匹配。 |
blacklistObjectNames | 查询对象黑名单,默认无。支持正则匹配。 |
rules | 一个按顺序引用的规则列表,处理过程会在第一条规则匹配上时停止。未匹配上的atrributes则不会被收集。默认以默认格式收集所有指标 |
pattern | 匹配每一个bean attribute(属性)的正则样式。该样式不是锚定的。可以设置正则捕获组用与其他配置项(如上面的样例 name: cassandra_$1_$2)。默认匹配所有格式。 |
attrNameSnakeCase | 将attribute名称 转换为蛇形格式。例如 anAttrName 转换为 an_attr_name。默认为false |
name | 指标名。可以引用 pattern中设置的捕获组。如果没有指定则使用默认格式。如果为空,此attribute的处理会停止且没有输出。 |
value | 指标值。静态值和引用pattern捕获组均可。如果没指定则抓取mBean attribute对应的value值。 |
valueFactor | 指标值(或 mBean value)的乘数。多用于秒和毫秒等单位转化 |
labels | 标签名:标签值 形式的键值对。可引用捕获组。使用时必须配置 name 项。如果没有指定并且没有使用默认格式,则不会输出标签。 |
help | 指标的帮助信息,可引用捕获组 。使用时必须配置 name 项。默认为mBean attribute的描述和全名。 |
type | 指标格式,值为 GAUGE, COUNTER 或 UNTYPED. 使用时必须配置 name项,默认为 UNTYPED |