Prometheus Install
prometheus server
docker pull prom/prometheus
docker run -d \
--net="host" \
-p 9090:9090 \
--name=prometheus \
-v /opt/prometheus/config:/etc/prometheus \
prom/prometheus
exporter
-
node-exporter
docker pull prom/node-exporter
docker run -d -p 9100:9100 \
--net="host" \
--name=node-exporter \
prom/node-exporter
docker run -d -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
prom/node-exporter
-
jmx-exporter
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/jmx_prometheus_javaagent-0.15.0.jar
java -javaagent:./jmx_prometheus_javaagent-0.15.0.jar=8080:config.yaml -jar yourJar.jar
java -javaagent:/opt/prometheus/jmx_prometheus_javaagent-0.15.0.jar=3010:/opt/prometheus/jmx-config.yml -jar /root/demo-0.0.1-SNAPSHOT01.jar &
https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/
grafana
docker pull grafana/grafana
https://grafana.com/grafana/dashboards?pg=dashboards&plcmt=featured-sub1
docker run -d \
--net="host" \
-p 3000:3000 \
--name=grafana \
-v /opt/prometheus/grafana:/var/lib/grafana \
grafana/grafana
postgres_exporter
docker pull wrouesnel/postgres_exporter
docker run --net=host --name=postgres_exporter -e DATA_SOURCE_NAME="postgresql://postgres:postgres@localhost:5432/idmdb?sslmode=disable" wrouesnel/postgres_exporter
wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.8.0/postgres_exporter_v0.8.0_linux-amd64.tar.gz
CREATE USER postgres_exporter PASSWORD 'password';
ALTER USER postgres_exporter SET SEARCH_PATH TO postgres_exporter,pg_catalog;
CREATE SCHEMA postgres_exporter AUTHORIZATION postgres_exporter;
CREATE FUNCTION postgres_exporter.f_select_pg_stat_activity()
RETURNS setof pg_catalog.pg_stat_activity
LANGUAGE sql
SECURITY DEFINER
AS $$
SELECT * from pg_catalog.pg_stat_activity;
$$;
CREATE FUNCTION postgres_exporter.f_select_pg_stat_replication()
RETURNS setof pg_catalog.pg_stat_replication
LANGUAGE sql
SECURITY DEFINER
AS $$
SELECT * from pg_catalog.pg_stat_replication;
$$;
CREATE VIEW postgres_exporter.pg_stat_replication
AS
SELECT * FROM postgres_exporter.f_select_pg_stat_replication();
CREATE VIEW postgres_exporter.pg_stat_activity
AS
SELECT * FROM postgres_exporter.f_select_pg_stat_activity();
GRANT SELECT ON postgres_exporter.pg_stat_replication TO postgres_exporter;
GRANT SELECT ON postgres_exporter.pg_stat_activity TO postgres_exporter;