Ikhtisar
JMX connector digunakan untuk melakukan kueri informasi JMX dari semua node dalam kluster Presto. Connector ini umumnya digunakan untuk pemantauan sistem dan debugging. Anda dapat mengonfigurasi connector untuk melakukan dump berkala informasi JMX.
Konfigurasi
Buat file etc/catalog/jmx.properties, tambahkan konten berikut, lalu aktifkan JMX connector.
connector.name=jmx
Anda dapat menambahkan konten berikut ke dalam file konfigurasi untuk mengaktifkan dump berkala data JMX:
connector.name=jmx
jmx.dump-tables=java.lang:type=Runtime,com.facebook.presto.execution.scheduler:name=NodeScheduler
jmx.dump-period=10s
jmx.max-entries=86400
Dalam contoh tersebut:
dump-tablesadalah daftar Managed Beans (MBeans) yang dipisahkan dengan koma (,). Konfigurasi ini menentukan MBeans yang diambil sampelnya dan disimpan di memori selama setiap periode sampling.dump-periodmenunjukkan periode sampling, dengan nilai default 10s.max-entriesmenunjukkan jumlah maksimum catatan historis, dengan nilai default 86.400.
Jika nama metrik mengandung koma (,), karakter tersebut harus di-escape menggunakan \\,, seperti pada contoh berikut:
connector.name=jmx
jmx.dump-tables=com.facebook.presto.memory:type=memorypool\\,name=general,\
com.facebook.presto.memory:type=memorypool\\,name=system,\
com.facebook.presto.memory:type=memorypool\\,name=reserved
Tabel data
JMX connector menyediakan dua skema: current dan history. Secara spesifik:
current berisi MBean terkini dari setiap node. Nama MBean sama dengan nama tabel di skema current. Jika nama MBean mengandung karakter non-standar, nama tabel tersebut harus diapit oleh tanda kutip saat melakukan kueri. Nama MBean dapat diperoleh melalui pernyataan berikut:
SHOW TABLES FROM jmx.current;
Contoh:
--- Dapatkan informasi JVM dari setiap node
SELECT node, vmname, vmversion
FROM jmx.current."java.lang:type=runtime";
node | vmname | vmversion
--------------+-----------------------------------+-----------
ddc4df17-xxx | Java HotSpot(TM) 64-Bit Server VM | 24.60-b09
(1 row)
--- Dapatkan metrik yang menunjukkan jumlah maksimum dan minimum deskriptor file untuk setiap node
SELECT openfiledescriptorcount, maxfiledescriptorcount
FROM jmx.current."java.lang:type=operatingsystem";
openfiledescriptorcount | maxfiledescriptorcount
-------------------------+------------------------
329 | 10240
(1 row)
history berisi tabel data yang sesuai dengan metrik yang akan di-dump sebagaimana ditentukan dalam file konfigurasi. Pernyataan berikut melakukan kueri terhadap tabel data tersebut:
SELECT "timestamp", "uptime" FROM jmx.history."java.lang:type=runtime";
timestamp | uptime
-------------------------+--------
2016-01-28 10:18:50.000 | 11420
2016-01-28 10:19:00.000 | 21422
2016-01-28 10:19:10.000 | 31412
(3 rows)