文章目录
注意事项
安装包

daemonize的问题
若出现以下报错,则安装daemonize后重试,注意安装符合OS系统的rpm包
Starting node_exporter: ./node_exporter: line 34: daemonize: command not found
node_exporter的问题
使用getconf LONG_BIT查看系统版本,32位的系统使用node_exporter-1.0.1.linux-386.tar.gz这个32位的安装包
redhat5设置自启动
redhat5无法识别下文的脚本内容,需要改成如下内容:
vim /etc/init.d/node_exporter
#!/bin/bash
# chkconfig: 2345 80 80
# description: Start and Stop node_exporter
# Source function library.
安装node_exporter
node_exporter下载
mkdir -p /home/monitoring
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar解压node_exporter
cd /home/monitoring
tar -zxvf node_exporter-1.0.1.linux-amd64.tar.gz
mv node_exporter-1.0.1.linux-amd64 node_exporter
#修改权限
chmod 777 node_exporter/node_exporter
设置开机自启动
编辑自启动脚本
vim /etc/init.d/node_exporter
#!/bin/bash
# /etc/rc.d/init.d/node_exporter
# chkconfig: 2345 80 80
#
# config: /etc/prometheus/node_exporter.conf
# pidfile: /var/run/prometheus/node_exporter.pid
# Source function library.
. /etc/init.d/functions
RETVAL=0
PROG="node_exporter"
DAEMON_SYSCONFIG=/etc/sysconfig/${PROG}
DAEMON=/usr/bin/${PROG} #要把安装目录下/opt/node_exporter/node_exporter可执行文件拷贝到/usr/bin目录下
PID_FILE=/var/run/prometheus/${PROG}.pid
LOCK_FILE=/var/lock/subsys/${PROG}
LOG_FILE=/var/log/prometheus/node_exporter.log
DAEMON_USER="prometheus"
FQDN=$(hostname)
GOMAXPROCS=$(grep -c ^processor /proc/cpuinfo)
. ${DAEMON_SYSCONFIG}
start() {
if check_status > /dev/null; then
echo "node_exporter is already running"
exit 0
fi
echo -n $"Starting node_exporter: "
daemonize -u ${DAEMON_USER} -p ${PID_FILE} -l ${LOCK_FILE} -a -e ${LOG_FILE} -o ${LOG_FILE} ${DAEMON} ${ARGS}
RETVAL=$?
echo ""
return $RETVAL
}
stop() {
echo -n $"Stopping node_exporter: "
killproc -p ${PID_FILE} -d 10 ${DAEMON}
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${LOCK_FILE} ${PID_FILE}
return $RETVAL
}
check_status() {
status -p ${PID_FILE} ${DAEMON}
RETVAL=$?
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
check_status
;;
reload|force-reload)
reload
;;
restart)
stop
start
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
RETVAL=2
;;
esac
exit ${RETVAL}
编辑etc/sysconfig/node_exporter
vim /etc/sysconfig/node_exporter
##添加如下内容
ARGS=""
创建启动脚本中对应文件和目录
##开机脚本赋权
chmod 777 /etc/init.d/node_exporter
##拷贝可执行文件到/usr/bin/
cp /home/monitoring/node_exporter/node_exporter /usr/bin/node_exporter
## 添加用户组
groupadd -r prometheus
## 创建目录
mkdir -p /usr/hostonnet/prometheus/
useradd -r -g prometheus -s /sbin/nologin -d /usr/hostonnet/prometheus/ -c "prometheus Daemons" prometheus
## 家目录修改属主
chown -R prometheus:prometheus /usr/hostonnet/prometheus/
## 创建运行目录
mkdir -p /var/run/prometheus/
chmod 777 /var/run/prometheus/
## 创建pid文件,并赋权
touch /var/run/prometheus/node_exporter.pid
chmod 777 /var/run/prometheus/node_exporter.pid
## 创建日志目录,并创建日志文件,赋权,修改属主
mkdir -p /var/log/prometheus/
touch /var/log/prometheus/node_exporter.log
chmod 777 /var/log/prometheus
chmod 777 /var/log/prometheus/node_exporter.log
chown prometheus:prometheus /var/log/prometheus/node_exporter.log
安装daemonize
#centos6.5版本
rpm -ivh daemonize-1.7.7-1.el7.x86_64.rpm
#redhat5版本
rpm -ivh daemonize-1.6.0-1.el6.rf.i686.rpm
运行node_exporter
cd /etc/init.d/ && ./node_exporter start
#设置开机自启动
chkconfig node_exporter on
查看运行状态
ps -ef|grep node_exporter
ss -ntlp|grep 9100
访问
curl http://IP:9100/metrics或浏览器直接访问http://IP:9100/metrics
参考文档
Prometheus之node_exporter安装和设置开机启动服务–centos6.5
CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决
本文详细介绍了在CentOS 6和Redhat 5.8上安装部署node_exporter的步骤,包括解决daemonize问题,根据系统位数选择合适的node_exporter安装包,设置node_exporter开机自启动,并提供了解决CentOS中'chkconfig'服务不支持的问题。完成安装后,可以通过http://IP:9100/metrics进行访问和监控。
776

被折叠的 条评论
为什么被折叠?



