diff --git a/sys-process/netdata/Manifest b/sys-process/netdata/Manifest new file mode 100644 index 0000000..d086259 --- /dev/null +++ b/sys-process/netdata/Manifest @@ -0,0 +1,2 @@ +AUX netdata.service 294 SHA256 b372e4ee311532a7c83831c37ab06c7e6d94f1d2a90a8e553ab40e5b173012d1 SHA512 49643f1304cc6469c18f219f033dc0e6c420f60ab2e0b7dc453d9d7e21dc78c860d5b6186ff382e4551da65827613a2cd68ab1ce98d556670d9bad0ba43af0b9 WHIRLPOOL afd3fcc51849a915aacee1d6a208bddd41ebc713bc7372185fb8f6e087e93fcd6f338875dcd22e49fadda0a846e0a83d408a77e163f4418f6c51ad2ee95c5049 +EBUILD netdata-9999.ebuild 2435 SHA256 86b2098183bbf340bc6d65aa0ef2651872c2686927df33bc6b5173b249259ee8 SHA512 e7d65d07dd7ec1d97cc55289140f918d203ef60cca201414f02f039638307991dfa95f8733afaef56beb0dc8ba005a0ef3b71d999c8c60ffe7484c07ec3980a6 WHIRLPOOL e451cfa5c279bc36acb8bc8f41e5529acd2e7d9a945357d671221a112b307ba666936ef69ac244f6eca3556c6edcae17cfaec736b6e682eceb6393625355e0ce diff --git a/sys-process/netdata/files/netdata.service b/sys-process/netdata/files/netdata.service new file mode 100644 index 0000000..ad4a152 --- /dev/null +++ b/sys-process/netdata/files/netdata.service @@ -0,0 +1,14 @@ +[Unit] +Description=netdata +After=network.target httpd.service squid.service nfs-server.service mysqld.service named.service postfix.service + +[Service] +Type=simple +WorkingDirectory=/tmp +User=root +Group=root +ExecStart=/usr/sbin/netdata -nd +TimeoutStopSec=30 + +[Install] +WantedBy=multi-user.target diff --git a/sys-process/netdata/netdata-9999.ebuild b/sys-process/netdata/netdata-9999.ebuild new file mode 100644 index 0000000..72bc7d8 --- /dev/null +++ b/sys-process/netdata/netdata-9999.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit linux-info systemd user + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://github.com/firehol/${PN}.git" + inherit git-r3 autotools + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://firehol.org/download/${PN}/releases/v${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + + +DESCRIPTION="Linux real time system monitoring, done right!" +HOMEPAGE="https://github.com/firehol/netdata http://netdata.firehol.org/" + +LICENSE="GPL-3+ MIT BSD" +SLOT="0" +IUSE="+compression nfacct nodejs" + +# most unconditional dependencies are for plugins.d/charts.d.plugin: +RDEPEND=" + >=app-shells/bash-4:0 + net-misc/curl + net-misc/wget + virtual/awk + compression? ( sys-libs/zlib ) + nfacct? ( + net-firewall/nfacct + net-libs/libmnl + ) + nodejs? ( + net-libs/nodejs + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig" + +# check for Kernel-Samepage-Merging (CONFIG_KSM) +CONFIG_CHECK=" + ~KSM +" + +: ${NETDATA_USER:=netdata} + +pkg_setup() { + linux-info_pkg_setup + + enewgroup ${PN} + enewuser ${PN} -1 -1 / ${PN} +} + +src_prepare() { + default + [[ ${PV} == "9999" ]] && eautoreconf +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-user=${NETDATA_USER} \ + $(use_enable nfacct plugin-nfacct) \ + $(use_with compression zlib) +} + +src_install() { + default + + fowners ${NETDATA_USER} /var/log/netdata + + chown -Rc ${NETDATA_USER} "${ED}"/usr/share/${PN} || die + + cat >> "${T}"/${PN}-sysctl <<- EOF + kernel.mm.ksm.run = 1 + kernel.mm.ksm.sleep_millisecs = 1000 + EOF + + dodoc "${T}"/${PN}-sysctl + + newinitd system/netdata-openrc ${PN} + systemd_dounit "${FILESDIR}/netdata.service" +} + +pkg_postinst() { + if [[ -e "/sys/kernel/mm/ksm/run" ]]; then + elog "INFORMATION:" + echo "" + elog "I see you have kernel memory de-duper (called Kernel Same-page Merging," + elog "or KSM) available, but it is not currently enabled." + echo "" + elog "To enable it run:" + echo "" + elog "echo 1 >/sys/kernel/mm/ksm/run" + elog "echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs" + echo "" + elog "If you enable it, you will save 20-60% of netdata memory." + else + elog "INFORMATION:" + echo "" + elog "I see you do not have kernel memory de-duper (called Kernel Same-page" + elog "Merging, or KSM) available." + echo "" + elog "To enable it, you need a kernel built with CONFIG_KSM=y" + echo "" + elog "If you can have it, you will save 20-60% of netdata memory." + fi + +}