系统监控

YuJia小于 1 分钟

参考文档

https://www.prometheus.wang/quickstart/use-grafana-create-dashboard.htmlopen in new window

数据源采集

Prometheusopen in new window -- 将它理解为一个集中的数据仓库 各种exporter作为Prometheus的具体数据源

Prometheus安装 Docker

docker pull bitnami/prometheus

Node_Exporter安装启动

创建文件夹

mkdir -p /opt/prometheus && cd /opt/prometheus

下载地址open in new window

wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gzopen in new window

解压

tar -zxf node_exporter-1.7.0.linux-amd64.tar.gz && mv node_exporter-1.7.0.linux-amd64/node_exporter . && chmod +x node_exporter

编写启动命令至启动项

# 创建可执行文件
vim /etc/rc.d/init.d/node_exporter
# 填入如下内容
#!/bin/bash
#
# /etc/rc.d/init.d/node_exporter
#
#  Prometheus node exporter
#
#  description: Prometheus node exporter
#  processname: node_exporter

# Source function library.
. /etc/rc.d/init.d/functions

PROGNAME=node_exporter
PROG=/opt/prometheus/$PROGNAME
USER=root
LOGFILE=/var/log/prometheus.log
LOCKFILE=/var/run/$PROGNAME.pid

start() {
    echo -n "Starting $PROGNAME: "
    cd /opt/prometheus/
    daemon --user $USER --pidfile="$LOCKFILE" "$PROG &>$LOGFILE &"
    echo $(pidof proc $PROGNAME) >$LOCKFILE
    echo
}

stop() {
    echo -n "Shutting down $PROGNAME: "
    killproc $PROGNAME
    rm -f $LOCKFILE
    echo
}


case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    status)
    status $PROGNAME
    ;;
    restart)
    stop
    start
    ;;
    reload)
    echo "Sending SIGHUP to $PROGNAME"
    kill -SIGHUP $(pidof proc $PROGNAME)#!/bin/bash
    ;;
    *)
        echo "Usage: service node_exporter {start|stop|status|reload|restart}"
        exit 1
    ;;
esac
# 添加执行权限
chmod +x /etc/rc.d/init.d/node_exporter

# 启动服务
service node_exporter start

# 确认服务已启动
cat /var/log/prometheus.log

配置监控节点至 prometheus.yml

数据可视化

Grafanaopen in new window -- 将 Prometheus 数据进行可视化展示

Docker

docker pull grafana/grafana-enterprise