summaryrefslogtreecommitdiff
path: root/app-metrics/mysqld_exporter
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-metrics/mysqld_exporter
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-metrics/mysqld_exporter')
-rw-r--r--app-metrics/mysqld_exporter/Manifest6
-rw-r--r--app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd73
-rw-r--r--app-metrics/mysqld_exporter/files/mysqld_exporter.confd26
-rw-r--r--app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate5
-rw-r--r--app-metrics/mysqld_exporter/metadata.xml11
-rw-r--r--app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild61
6 files changed, 182 insertions, 0 deletions
diff --git a/app-metrics/mysqld_exporter/Manifest b/app-metrics/mysqld_exporter/Manifest
new file mode 100644
index 000000000000..34631cf42efc
--- /dev/null
+++ b/app-metrics/mysqld_exporter/Manifest
@@ -0,0 +1,6 @@
+AUX mysqld_exporter-r1.initd 2053 BLAKE2B 46542a80ac4c894c0cf4f50b8e8a616a019f1c2d7c6846b524b626859bf521d6f5b15336537c6fb06c5f876dd0d8adcd592363a678bc6779bfb5352a93dca06b SHA512 3a7c91492a2533cbdb2846cb5f3a03e66caf332ff931d10227c32332aaf210e74f2dd56977c5146a59042529dfb14eebd0c78e8dc63675d4884958bdc81f5252
+AUX mysqld_exporter.confd 891 BLAKE2B 340b8d6b5f3fdc0a52851197cfd94b1d9d20fa3cda349c581a016c6cc7edd53cb7d86b634487551f916fd5c84294add402397cb9bf0fc2efb211b589dd571dd2 SHA512 ed4f949c8f5f88ad54c536342adf90be5d74922b54c383735a957e571aba341057830c7e8cdc0e45b53e439c5297d3ad70ba7bd178f77d10615787ed51bcc03f
+AUX mysqld_exporter.logrotate 68 BLAKE2B 04a9a0df5dae2a2afd3374cd6f6fd5d04df7629bc85ed63792ecc9e2b4772668d1f5b1fe4baf14b17c26a495ffa1ed3a7d748719db9a72f427587243505158d1 SHA512 3eb2e6bfa0eae0847c0b1e2e7fd990068cb0ad570d14463c88a8860d70ebc378b2e3bc4141f0a98e95304c972c765ae48dbff726b208ba825fe1f4e58765e462
+DIST mysqld_exporter-0.10.0.tar.gz 971604 BLAKE2B ec077b7b6a15f6173e5cc04e741c51c4d26a214601da8eb1aede49ee325f52bea2140b8e5b3bdbc2a1e527e40c95099dca2a57501d44a26e787cdc330f4aa8b8 SHA512 0a7b0ff537ad59a9b64aa18dfe1d1eb9253b12ae566d5c151555fbd4457b7e65890b6569632b452ae317b3acbfa94c12d96f6fb6e4f982b9b2161fc4747330f5
+EBUILD mysqld_exporter-0.10.0-r1.ebuild 1564 BLAKE2B e7342d8cd4a1b80c4ab3379bc2a4167a6127685c34e520929d1095b04c348b57d9d082ff5daa87f32c46df9f3d252acb205c63fe5e8e0941d625b1b85753c2f8 SHA512 6c2d62e603163bfc42b2508765da807322cdaae0d4534a96a319c5f3751d0a52178d2e3c110fe50ed0b87e563a87c91a1d9009c881b84c64fe79699cc52c3dbf
+MISC metadata.xml 342 BLAKE2B c99db8a7ba47d8b948f5e8623c98ff234a67d14485a09a412d55155b878fe2cff4594934f2e1aef749072f4f52ca8c0b660e52764cc20b40aedc3ae2280d8fdd SHA512 55dcb15bda103364487e98359157961d7859af7e38cef4030e53fe2fb50ded0e34d27a1607171e62d60dd53e93b2cd1f30becded706dcb362ce3f45052cd0203
diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd
new file mode 100644
index 000000000000..0aecd1025b82
--- /dev/null
+++ b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd
@@ -0,0 +1,73 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus exporter for MySQL server metrics"
+
+EXPORTER_FLAGS=${EXPORTER_FLAGS:-""}
+EXPORTER_USER=${EXPORTER_USER:-"mysqld_exporter"}
+EXPORTER_GROUP=${EXPORTER_GROUP:-"mysqld_exporter"}
+EXPORTER_PIDFILE=${EXPORTER_PIDFILE:-"/run/${RC_SVCNAME}.pid"}
+EXPORTER_SSDARGS=${EXPORTER_SSDARGS:-"--wait 1000"}
+EXPORTER_TERMTIMEOUT=${EXPORTER_TERMTIMEOUT:-"TERM/60/KILL/5"}
+
+command="/usr/bin/mysqld_exporter"
+command_args="${EXPORTER_FLAGS}"
+command_background="true"
+start_stop_daemon_args="${EXPORTER_SSDARGS}"
+start_stop_daemon_args="${start_stop_daemon_args} --user ${EXPORTER_USER}"
+start_stop_daemon_args="${start_stop_daemon_args} --group ${EXPORTER_GROUP}"
+
+# We are forcing log files because upstream is going to remove syslog support :/
+start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/mysqld_exporter/${RC_SVCNAME}.log"
+start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/mysqld_exporter/${RC_SVCNAME}.log"
+
+getconfig() {
+ local key="$1"
+ local value_default="$2"
+ local value=
+
+ if service_started; then
+ value="$(service_get_value "${key}")"
+ fi
+
+ if [ -z "${value}" ]; then
+ # Value not explicitly set
+ echo "${value_default}"
+ else
+ echo "${value}"
+ fi
+
+ return 0
+}
+
+pidfile="$(getconfig pidfile ${EXPORTER_PIDFILE})"
+retry="$(getconfig retry ${EXPORTER_TERMTIMEOUT})"
+
+configtest() {
+ if test "${command_args#*config\.my-cnf}" = "${command_args}"; then
+ local _default_config_file="/var/lib/mysqld_exporter/.my.cnf"
+ if [ ! -s "${_default_config_file}" ]; then
+ eerror "No MySQL credentials found in \"${_default_config_file}\"!"
+ eerror "Either create that file and add credentials or specify another file via \"-config.my-cnf\" flag."
+ return 1
+ fi
+ fi
+
+ return 0
+}
+
+depend() {
+ after net
+ use mysql
+}
+
+start_pre() {
+ if [ "${RC_CMD}" != "restart" ]; then
+ configtest || return 1
+ fi
+}
+
+start_post() {
+ service_set_value retry "${EXPORTER_TERMTIMEOUT}"
+}
diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter.confd b/app-metrics/mysqld_exporter/files/mysqld_exporter.confd
new file mode 100644
index 000000000000..249ed7ea4aa4
--- /dev/null
+++ b/app-metrics/mysqld_exporter/files/mysqld_exporter.confd
@@ -0,0 +1,26 @@
+# /etc/conf.d/mysqld_exporter
+
+# PID file
+#EXPORTER_PIDFILE="/run/${RC_SVCNAME}.pid"
+
+# The termination timeout (start-stop-daemon parameter "retry") ensures
+# that the service will be terminated within a given time (60 + 5 seconds
+# per default) when you are stopping the service.
+#EXPORTER_TERMTIMEOUT="TERM/60/KILL/5"
+
+# User to run exporter as
+#EXPORTER_USER="mysqld_exporter"
+
+# User group to run exporter as
+#EXPORTER_GROUP="mysqld_exporter"
+
+# You can use this configuration option to pass additional options to the
+# start-stop-daemon, see start-stop-daemon(8) for more details.
+# Per default we wait 1000ms after we have started the service to ensure
+# that the daemon is really up and running.
+#EXPORTER_SSDARGS="--wait 1000"
+
+# Exporter flags
+# See `mysqld_exporter --help` for more details
+EXPORTER_FLAGS="-log.level=info"
+#EXPORTER_FLAGS="${EXPORTER_FLAGS} -yourAdditionalFlag"
diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate b/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate
new file mode 100644
index 000000000000..ec360d7ab4cd
--- /dev/null
+++ b/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate
@@ -0,0 +1,5 @@
+/var/log/mysqld_exporter/*.log {
+ missingok
+ notifempty
+ size 30k
+}
diff --git a/app-metrics/mysqld_exporter/metadata.xml b/app-metrics/mysqld_exporter/metadata.xml
new file mode 100644
index 000000000000..adebc721a7e3
--- /dev/null
+++ b/app-metrics/mysqld_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>whissi@gentoo.org</email>
+ <name>Thomas Deutschmann</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/mysqld_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild b/app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..77a69fda97f7
--- /dev/null
+++ b/app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/mysqld_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+MYSQLD_EXPORTER_COMMIT="8068006"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for MySQL server metrics"
+HOMEPAGE="https://github.com/prometheus/mysqld_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /var/lib/mysqld_exporter ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${MYSQLD_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/mysqld_exporter
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+
+ keepdir /var/lib/mysqld_exporter /var/log/mysqld_exporter
+ fowners ${PN}:${PN} /var/lib/mysqld_exporter /var/log/mysqld_exporter
+ fperms 0770 /var/lib/mysqld_exporter
+
+ newinitd "${FILESDIR}"/${PN}-r1.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ elog "Create \"${EROOT%/}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file."
+ fi
+}