Rpm working again, systemd working on centos 7

This commit is contained in:
Torkel Ödegaard
2015-04-10 16:20:01 +02:00
parent 3e49609099
commit d32c03ed11
7 changed files with 155 additions and 85 deletions
+1 -1
View File
@@ -70,7 +70,7 @@ case "$1" in
fi
# Prepare environment
mkdir -p "$LOG_DIR" "$DATA_DIR" "$WORK_DIR" && chown "$GRAFANA_USER":"$GRAFANA_GROUP" "$LOG_DIR" "$DATA_DIR" "$WORK_DIR"
mkdir -p "$LOG_DIR" "$DATA_DIR" && chown "$GRAFANA_USER":"$GRAFANA_GROUP" "$LOG_DIR" "$DATA_DIR"
touch "$PID_FILE" && chown "$GRAFANA_USER":"$GRAFANA_GROUP" "$PID_FILE"
if [ -n "$MAX_OPEN_FILES" ]; then
+23 -27
View File
@@ -24,17 +24,17 @@ stopGrafana() {
fi
}
case "$1" in
configure)
# Initial installation: $1 == 1
# Upgrade: $1 == 2, and configured to restart on upgrade
if [ $1 -eq 1 ] ; then
[ -z "$GRAFANA_USER" ] && GRAFANA_USER="grafana"
[ -z "$GRAFANA_GROUP" ] && GRAFANA_GROUP="grafana"
if ! getent group "$GRAFANA_GROUP" > /dev/null 2>&1 ; then
addgroup --system "$GRAFANA_GROUP" --quiet
groupadd -r "$GRAFANA_GROUP"
fi
if ! id $GRAFANA_USER > /dev/null 2>&1 ; then
adduser --system --home /usr/share/grafana --no-create-home \
--ingroup "$GRAFANA_GROUP" --disabled-password --shell /bin/false \
"$GRAFANA_USER"
if ! getent passwd "$GRAFANA_USER" > /dev/null 2>&1 ; then
useradd -r -g grafana -d /usr/share/grafana -s /sbin/nologin \
-c "grafana user" grafana
fi
# Set user permissions on /var/log/grafana, /var/lib/grafana
@@ -48,24 +48,20 @@ case "$1" in
find /etc/grafana -type f -exec chmod 644 {} ';'
find /etc/grafana -type d -exec chmod 755 {} ';'
# if $2 is set, this is an upgrade
if ( [ -n $2 ] && [ "$RESTART_ON_UPGRADE" = "true" ] ) ; then
startGrafana
# this is a fresh installation
elif [ -z $2 ] ; then
if [ -x /bin/systemctl ] ; then
echo "### NOT starting on installation, please execute the following statements to configure elasticsearch to start automatically using systemd"
echo " sudo /bin/systemctl daemon-reload"
echo " sudo /bin/systemctl enable grafana-server.service"
echo "### You can start grafana-server by executing"
echo " sudo /bin/systemctl start grafana-server.service"
if [ -x /bin/systemctl ] ; then
echo "### NOT starting on installation, please execute the following statements to configure elasticsearch to start automatically using systemd"
echo " sudo /bin/systemctl daemon-reload"
echo " sudo /bin/systemctl enable grafana-server.service"
echo "### You can start grafana-server by executing"
echo " sudo /bin/systemctl start grafana-server.service"
elif [ -x /usr/sbin/update-rc.d ] ; then
echo "### NOT starting grafana-server by default on bootup, please execute"
echo " sudo update-rc.d grafana-server defaults 95 10"
echo "### In order to start grafana-server, execute"
echo " sudo service grafana-server start"
fi
fi
;;
esac
elif [ -x /usr/sbin/update-rc.d ] ; then
echo "### NOT starting grafana-server by default on bootup, please execute"
echo " sudo update-rc.d grafana-server defaults 95 10"
echo "### In order to start grafana-server, execute"
echo " sudo service grafana-server start"
fi
elif [ $1 -ge 2 -a "$RESTART_ON_UPGRADE" == "true" ] ; then
stopGrafana
startGrafana
fi
+14 -13
View File
@@ -20,9 +20,21 @@
# 3. Centos with initscripts package installed
PATH=/bin:/usr/bin:/sbin:/usr/sbin
NAME=grafana
NAME=grafana-server
DESC="Grafana Server"
GRAFANA_USER=grafana
GRAFANA_GROUP=grafana
GRAFANA_HOME=/usr/share/grafana
CONF_DIR=/etc/grafana
WORK_DIR=$GRAFANA_HOME
DATA_DIR=/var/lib/grafana
LOG_DIR=/var/log/grafana
CONF_FILE=$CONF_DIR/grafana.ini
MAX_OPEN_FILES=10000
PID_FILE=/var/run/$NAME.pid
DAEMON=/usr/sbin/$NAME
#
# init.d / servicectl compatibility (openSUSE)
#
@@ -38,21 +50,10 @@ if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
fi
GRAFANA_USER=grafana
GRAFANA_GROUP=grafana
GRAFANA_HOME=/opt/$NAME
CONF_DIR=/etc/$NAME
WORK_DIR=$GRAFANA_HOME
DATA_DIR=$GRAFANA_HOME/data
LOG_DIR=/var/log/$NAME
CONF_FILE=$CONF_DIR/grafana.ini
MAX_OPEN_FILES=65535
# overwrite settings from default file
[ -e /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME
PID_FILE=/var/run/$NAME.pid
DAEMON=$GRAFANA_HOME/bin/grafana
DAEMON_OPTS="--pidfile=${PID_FILE} --config=${CONF_FILE} --default-data-path=${DATA_DIR} --default-log-path=${LOG_DIR} web"
# Check DAEMON exists
@@ -88,7 +89,7 @@ case "$1" in
fi
# Prepare environment
mkdir -p "$LOG_DIR" "$DATA_DIR" "$WORK_DIR" && chown "$GRAFANA_USER":"$GRAFANA_GROUP" "$LOG_DIR" "$DATA_DIR" "$WORK_DIR"
mkdir -p "$LOG_DIR" "$DATA_DIR" && chown "$GRAFANA_USER":"$GRAFANA_GROUP" "$LOG_DIR" "$DATA_DIR"
touch "$PID_FILE" && chown "$GRAFANA_USER":"$GRAFANA_GROUP" "$PID_FILE"
if [ -n "$MAX_OPEN_FILES" ]; then
+11 -9
View File
@@ -1,15 +1,17 @@
GRAFANA_USER=grafana
#GRAFANA_USER=grafana
GRAFANA_GROUP=grafana
#GRAFANA_GROUP=grafana
GRAFANA_HOME=/usr/share/grafana
#LOG_DIR=/var/log/grafana
LOG_DIR=/var/log/grafana
#GRAFANA_HOME=/opt/grafana
#DATA_DIR=/opt/data/grafana
#WORK_DIR=/opt/grafana
DATA_DIR=/var/lib/grafana
#CONF_DIR=/etc/grafana
#CONF_FILE=/etc/grafana/grafana.ini
MAX_OPEN_FILES=10000
#RESTART_ON_UPGRADE=true
CONF_DIR=/etc/grafana
CONF_FILE=/etc/grafana/grafana.ini
RESTART_ON_UPGRADE=true
@@ -0,0 +1,21 @@
[Unit]
Description=Starts and stops a single grafana instance on this system
Documentation=http://docs.grafana.org
Wants=network-online.target
After=network-online.target
[Service]
EnvironmentFile=/etc/sysconfig/grafana-server
User=grafana
Group=grafana
Type=simple
WorkingDirectory=/usr/share/grafana
ExecStart=/usr/sbin/grafana-server \
--config=${CONF_FILE} \
cfg:default.paths.logs=${LOG_DIR} \
cfg:default.paths.data=${DATA_DIR} \
LimitNOFILE=10000
TimeoutStopSec=20
[Install]
WantedBy=multi-user.target