Pushgateway安装部署和使用

源码地址:https://github.com/prometheus/pushgateway
下载安装包:https://github.com/prometheus/pushgateway/releases/download/v1.0.0/pushgateway-1.0.0.linux-amd64.tar.gz

解压文件
tar -zxvf pushgateway-1.0.0.linux-amd64.tar.gz

修改文件名
mv pushgateway-1.0.0.linux-amd64 pushgateway-1.0.0

创建文件夹

mkdir -p /tol/pushgateway/data/
mkdir -p /tol/pushgateway/log/

修改启动脚本

#!/bin/sh
cd `dirname $0`
BIN_DIR=`pwd`

LOG_DIR=$BIN_DIR/logs
if [ ! -d $LOG_DIR ]; then
	echo "mkdir -p $LOG_DIR"
	mkdir -p $LOG_DIR
fi
LOG_FILE=$LOG_DIR/pushgateway.log
DATA_DIR=$BIN_DIR/data
if [ ! -d $DATA_DIR ]; then
        echo "mkdir -p $DATA_DIR"
        mkdir -p $DATA_DIR
fi
DATA_FILE=$DATA_DIR/file.data
nohup ${BIN_DIR}/pushgateway --web.listen-address=":9091" --web.enable-admin-api --web.enable-lifecycle --persistence.interval=5m --persistence.file="$DATA_FILE" --log.level=warn > $LOG_FILE 2>&1 &

停止脚本

#!/bin/sh
cd `dirname $0`
BIN_DIR=`pwd`

PID=`ps -ef|grep ${BIN_DIR} |grep -v grep|grep -v stop |awk '{print $2}'`
if [ ! -z "$PID" ]; then
    kill -9 $PID
fi
echo "kill $PID"

QA

persistence 并没有什么作用,因为如果应用推送不挂,那么pushgateway会一直接受到请求,并不会因为此而丢掉数据,只需要保证pgw在死亡后,能及时重启即可。
pgw不能自动的清理数据,也就是说,当一个任务不在推送的时候,pgw并不能自动的清除这个任务下的指标,那么会造成任务不在推送,prometheus却一直在拉取这些数据信息。其实这些数据信息已经是没有意义的了,也无法用此来判断应用是完成了,还是意外宕机。因此我们写了一个定时任务来清理pgw的指标内容。
curl -X PUT --connect-timeout 3 -m 5 http://172.168.1.120:9091/api/v1/admin/wipe
需要开启管理api:--web.enable-admin-ap

你可能感兴趣的:(prometheus,pushgateway)