Automatically send pm2 monit stasts to Elasticsearch
$ npm install pm2 -g
$ pm2 install pm2-monit-elk
Default settings:
interval
is10
second. Represents the refresh_rate of the cpu and network workers.elasticsearch_url
islocalhost:9200
. Represents Elasticsearch host URL.elasticsearch_index
isserver_monitoring
. Represents index to save server monitoring logs in Elasticsearch.elasticsearch_user
is blank by default.elasticsearch_password
is blank by default.
To modify the config values you can use Keymetrics dashboard or the following commands:
pm2 set pm2-monit-elk:interval 2
pm2 set pm2-monit-elk:elasticsearch_url es.example.com:9200
pm2 set pm2-monit-elk:elasticsearch_index server_monitoring_new
pm2 set pm2-monit-elk:elasticsearch_user username
pm2 set pm2-monit-elk:elasticsearch_password password
NOTE: If basic authentication is enabled on your elasticsearch, specially via Search Guard, provide username and password as part of host url e.g. "http://username:pass@localhost:9200"
interval
value to 10 or more.
$ pm2 uninstall pm2-monit-elk
$ pm2 module:update pm2-monit-elk
MIT
Thnaks to @jokerguys and his repository https://github.com/jokerguys/pm2-server-monit-elasticsearch for some ideas.