elasticsearch-prometheus-exporter是ES用于Prometheus exporter的插件,可以通过给elasticsearch安装这个插件并配置Prometheus来完成Prometheus监控elasticsearch。
1、安装elasticsearch-prometheus-exporter
- 执行以下命令,
./bin/elasticsearch-plugin install -b https://github.com/vvanholl/elasticsearch-prometheus-exporter/releases/download/7.3.2.0/prometheus-exporter-7.3.2.0.zip
返回如下:
-> Downloading https://github.com/vvanholl/elasticsearch-prometheus-exporter/releases/download/7.3.2.0/prometheus-exporter-7.3.2.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.reflect.ReflectPermission suppressAccessChecks
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed prometheus-exporter
看到这个日志,我一开始以为需要我们手动开启一些java权限,在咨询开发同学之后,明白原来他的意思是已经开通了这个权限,需要我们注意一下。
我们可以去此插件所在的jar包下看到有一个名为plugin-security.policy 的文件
> more plugin-security.policy
grant {
permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
permission java.lang.RuntimePermission "accessDeclaredMembers";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};
可以看到已经开启了这个权限。
2)重启ES
3)验证
访问http://localhost:9200/_prometheus/metrics,可以看到elasticsearch相关的metrics。
2、配置Prometheus
1)修改Prometheus.yml在scrape_configs:下新增一个job,如下:
scrape_configs:
# elasticsearch moinitor
- job_name: 'elasticsearch'
scrape_interval: 10s
metrics_path: "/_prometheus/metrics"
static_configs:
- targets: ['localhost:9200']
2)重启Prometheus
./prometheus --config.file=prometheus.yml
3)登陆Prometheus graph 查看,可以看到es相关的metric,如下: