#!/bin/sh # PROVIDE: postgres_exporter # REQUIRE: LOGIN # KEYWORD: shutdown # # rc-script for postgres_exporter # # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # postgres_exporter_enable (bool): Set to NO by default. # Set it to YES to enable postgres_exporter. # postgres_exporter_user (string): Set user that postgres_exporter will run under # Default is "nobody". # postgres_exporter_group (string): Set group that postgres_exporter will run under # Default is "nobody". # postgres_exporter_args (string): Set extra arguments to pass to postgres_exporter # Default is "". # postgres_exporter_listen_address (string):Set ip:port to listen on for web interface and telemetry. # Defaults to ":9187" # postgres_exporter_pg_user (string): Set the Postgres database user # Defaults to "postgres_exporter" # postgres_exporter_pg_pass (string): Set the Postgres datase password # Default is empty # postgres_exporter_pg_host (string): Set the Postgres database server # Defaults to "localhost" # postgres_exporter_pg_port (string): Set the Postgres database port # Defaults to "5432" # Add extra arguments via "postgres_exporter_args" # (see $ postgres_exporter --help) . /etc/rc.subr name=postgres_exporter rcvar=postgres_exporter_enable load_rc_config $name : ${postgres_exporter_enable:="NO"} : ${postgres_exporter_user:="nobody"} : ${postgres_exporter_group:="nobody"} : ${postgres_exporter_args:=""} : ${postgres_exporter_listen_address:=":9187"} : ${postgres_exporter_pg_user:="postgres_exporter"} : ${postgres_exporter_pg_pass:=""} : ${postgres_exporter_pg_host:="localhost"} : ${postgres_exporter_pg_port:="5432"} postgres_exporter_data_source_name="postgresql://${postgres_exporter_pg_user}:${postgres_exporter_pg_pass}@${postgres_exporter_pg_host}:${postgres_exporter_pg_port}/postgres?sslmode=disable" pidfile=/var/run/postgres_exporter.pid command="/usr/sbin/daemon" procname="/usr/local/bin/postgres_exporter" command_args="-f -p ${pidfile} -T ${name} \ /usr/bin/env DATA_SOURCE_NAME="${postgres_exporter_data_source_name}" ${procname} \ --web.listen-address=${postgres_exporter_listen_address} \ ${postgres_exporter_args}" start_precmd=postgres_exporter_startprecmd postgres_exporter_startprecmd() { if [ ! -e ${pidfile} ]; then install -o ${postgres_exporter_user} -g ${postgres_exporter_group} /dev/null ${pidfile}; fi } load_rc_config $name run_rc_command "$1"