1.安装Prometheus下载地址,假如要监控MySQL,则要至少需要三个安装包:
- prometheus程序包
- node_exporter:监控主机磁盘、内存、CPU等硬件性能指标的采集程序包。
- mysqld_exporter:监控MySQL各种性能指标的采集程序包。
百度云链接,提取码:csdn
2.解压缩prometheus:
mkdir /data
tar xvf prometheus-2.32.1.linux-amd64.tar.gz -C /data/
解压缩node_exporter和mysqld_exporter:
#监控Prometheus主机
tar xf node_exporter-1.3.1.linux-amd64.tar.gz -C /root/
#监控MySQL用
tar xf mysqld_exporter-0.13.0.linux-amd64.tar.gz -C /root/
3.编辑Prometheus配置文件
进入Prometheus的工作目录:
cd /data/
mv prometheus-2.32.1.linux-amd64/ prometheus
cd /data/prometheus
vi prometheus.yml
prometheus.yml
# 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:
- job_name: 'Host'
file_sd_configs:
- files:
- host.yml
metrics_path: /metrics
relabel_configs:
- source_labels: [__address__]
regex: (.*)
target_label: instance
replacement: $1
- source_labels: [__address__]
regex: (.*)
target_label: __address__
replacement: $1:9100
- job_name: 'MySQL'
file_sd_configs:
- files:
- mysql.yml
metrics_path: /metrics
relabel_configs:
- source_labels: [__address__]
regex: (.*)
target_label: instance
replacement: $1
- source_labels: [__address__]
regex: (.*)
target_label: __address__
replacement: $1:9104
- job_name: 'prometheus'
static_configs:
- targets:
- localhost:9090
host.yml
- labels:
service: test
targets:
- 10.120.130.21
mysql.yml
- labels:
service: test
targets:
- 10.120.130.21
启动Prometheus
/data/prometheus --storage.tsdb.retention=30d &
4.安装Grafana
#解压Grafana
tar xf grafana-enterprise-8.3.3.linux-amd64.tar.gz -C /data/prometheus/
#进入所在目录 并重命名
cd /data/prometheus/
mv grafana-8.3.3/ grafana
#启动
/data/prometheus/grafana/bin/grafana-server &
#centos7.x开启防火墙端口
firewall-cmd --zone=public --add-port=3000/tcp --permanent
#重启防火墙
firewall-cmd --reload
打开Grafana页面
http://127.0.0.1:3000(默认账号和密码为admin/admin)
配置prometheus数据源
下载grafana-dashboards-2.25.0.tar.gz,地址https://github.com/percona/grafana-dashboards/releases
#解压
tar xvf grafana-dashboards-2.25.0.tar.gz
cd grafana-dashboards-2.25.0/dashboards/MySQL
从这里导入到grafana
5.安装 node_exporter 和 mysqld_exporter
#解压缩node_exporter程序包
tar xf node_exporter-1.3.1.linux-amd64.tar.gz
mv node_exporter-1.3.1.linux-amd64 node_exporter
#启动node_exporter程序
cd node_exporter
nohup ./node_exporter &
#在mysql上配置监控使用的用户
GRANT REPLICATION CLIENT, PROCESS, SELECT ON *.* TO 'mysql_monitor'@'%' IDENTIFIED BY 'mysql_monitor';
FLUSH PRIVILEGES;
#解压缩mysqld_exporter程序包
tar xf mysqld_exporter-0.13.0.linux-amd64.tar.gz
mv mysqld_exporter-0.13.0.linux-amd64 mysqld_exporter
#在mysqld_exporter文件夹创建 .my.cnf文件
#文件内容
[client]
host=127.0.0.1
port=3306
user=mysql_monitor
password=mysql_monitor
#启动
nohup /data/prometheus/mysqld_exporter/mysqld_exporter --config.my-cnf="/data/prometheus/mysqld_exporter/.my.cnf" &