#!/bin/bash
echo'开始下载------node_exporter'wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
echo'下载完成,开始解压 ------node_exporter'tar zxvf node_exporter-0.17.0.linux-amd64.tar.gz
echo'解压完成,把文件转移到 /opt目录下并把名称改为 node_exporter'mv node_exporter-0.17.0.linux-amd64 /opt/node_exporter
echo'进入/opt/node_exporter目录'cd/opt/node_exporter
echo'启动node_exporter'nohup ./node_exporter &echo'开始下载------mysqld_exporter'wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
echo'下载完成,开始解压 ------mysqld_exporter'tar zxvf mysqld_exporter-0.11.0.linux-amd64.tar.gz
echo'解压完成,把文件转移到 /opt目录下并把名称改为 mysqld_exporter'mv mysqld_exporter-0.11.0.linux-amd64 /opt/mysqld_exporter
echo'运行mysqld_exporter需要连接到MySQL,需要授权'echo'需要提供mysql的账号密码'echo'先用root 账号登录mysql'mysql-u root -p
echo'输入密码登录成功执行授权sql语句'
grant replication client, process on *.* to user@"localhost" identified by"password";grant select on performance_schema.* tomysql_monitor@"localhost";
echo'授权后进入mysqld_exporter安装目录创建.my.cnf配置文件,并运行mysqld_exporter'cd/opt/mysqld_exporter
echo'创建.my.cnf配置文件'vi .my.cnf
i[client]
user=userpassword=password^[:wq
EOF
echo '运行mysqld_exporter'
nohup ./mysqld_exporter --config.my-cnf=.my.cnf &
echo '开始下载------/prometheus'
wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz
echo '下载完成,开始解压 ------/prometheus'
tar zxvf prometheus-2.8.1.linux-amd64.tar.gz
echo '解压完成,把文件转移到 /opt目录下并把名称改为 prometheus'
mv prometheus-2.8.1.linux-amd64 /opt/prometheus
echo '进入 /opt/prometheus目录'
cd /opt/prometheus
echo '开始修改prometheus.yml文件'
vim prometheus.yml < EOF
i
# my global config
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.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
- job_name: 'mysql'static_configs:- targets: ['localhost:9104']labels:
instance:'db1'
- job_name: 'node'static_configs:- targets: ['localhost:9100']labels:
instance:'nd1'
^[:wq
EOF
echo '配置文件修改完成,开始运行prometheus系统'
nohup ./prometheus --config.file=./prometheus.yml &
echo '浏览器访问 服务器的9090端口可以访问prometheus的页面'