Linux 一键安装脚本部署prometheus和granfana
Linux 一键安装脚本部署prometheus和granfana
## 基于shell脚本进行二进制安装prometheus和grafana
#cat prometheus_grafana.sh
#!/bin/bash
#********************************************************************
#Author: wei
#********************************************************************
. /etc/rc.d/init.d/functions
set -e
Useradd () {
useradd -s /sbin/nologin -M prometheus
}
Package_install () {
#准备prometheus-2.23.0.linux-amd64.tar.gz 和 grafana-enterprise-7.3.2.linux-amd64.tar.gz
[ -f ./prometheus-2.23.0.linux-amd64.tar.gz ] || wget https://github.com/prometheus/prometheus/archive/refs/tags/v2.23.0.tar.gz
[ -f ./grafana-enterprise-7.3.2.linux-amd64.tar.gz ] || wget https://dl.grafana.com/enterprise/release/grafana-enterprise-7.3.2.linux-amd64.tar.gz
tar xvf prometheus-2.23.0.linux-amd64.tar.gz -C /data
chown -R prometheus:prometheus /data/prometheus-2.23.0.linux-amd64
echo 'export PATH=/data/prometheus-2.23.0.linux-amd64:$PATH' >> /etc/profile && source /etc/profile
cat > /usr/lib/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/data/prometheus-2.23.0.linux-amd64/prometheus --config.file=/data/prometheus-2.23.0.linux-amd64/prometheus.yml --storage.tsdb.path=/data/prometheus-2.23.0.linux-amd64/data
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl restart prometheus
systemctl enable prometheus
tar -xvf grafana-enterprise-7.3.2.linux-amd64.tar.gz -C /data
cat > /usr/lib/systemd/system/grafana-server.service <<EOF
[Unit]
Description=Grafana
After=network.target
[Service]
Type=notify
ExecStart=/data/grafana-7.3.2/bin/grafana-server -homepath /data/grafana-7.3.2
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start grafana-server
systemctl enable grafana-server
}
Useradd
Package_install && action "prometheus grafana 安装成功"
访问验证
浏览器访问IP:port
添加节点监控
监控节点指标
#wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
#tar xvf node_exporter-1.3.1.linux-amd64.tar.gz -C /data
#cat << EOF > /usr/lib/systemd/system/node_exporter.service
[Service]
User=prometheus
Group=prometheus
ExecStart=/data/node_exporter-1.3.1.linux-amd64/node_exporter
[Install]
WantedBy=multi-user.target
[Unit]
Description=node_exporter
After=network.target
EOF
#systemctl daemon-reload
#systemctl status node_exporter
添加prometheus.yml配置
#egrep -v '^#|^$|^[ ]+#' /data/prometheus-2.23.0.linux-amd64/prometheus.yml
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node' #添加要监控的主机和端口
metrics_path: '/metrics'
static_configs:
- targets:
- 'localhost:9090'
- '10.0.0.117:9100'
- '10.0.0.127:9100'
- '10.0.0.137:9100'
官方链接
prometheus.io/download/ grafana.com/grafana/dow… github.com/prometheus/…