目录
1.1上传node_exporter到opt目录中,并且解压
| 服务器类型 | IP地址 | 组件 |
| prometheus服务器 | 192.168.187.48 | prometheus,node_exporter |
| mysql服务器 | 192.168.187.78 | mysql——exporter和mariadb |
| agent服务器 | 192.168.187.68 | node-exporter |
| agent服务器 | 192.168.187.108 | node-exporter |
| Grafana服务器 | 192.168.187.98 | Grafana |
prometheus下载地址:
https://prometheus.io/download/
- [root@pro1 ~]#cd /opt
- [root@pro1 opt]#rz -E
- rz waiting to receive.
- [root@pro1 opt]#ls
- ELK fdisk.sh gfsrepo mysql-5.7.20 mysql_all.sql prometheus-2.27.1.linux-amd64.tar.gz rh
- [root@pro1 opt]#tar zxvf prometheus-2.27.1.linux-amd64.tar.gz
- [root@pro1 opt]#ls
- ELK gfsrepo mysql_all.sql prometheus-2.27.1.linux-amd64.tar.gz
- fdisk.sh mysql-5.7.20 prometheus-2.27.1.linux-amd64 rh
- [root@pro1 opt]#mv prometheus-2.27.1.linux-amd64 /usr/local/prometheus
- [root@pro1 opt]#cd /usr/local/prometheus/
- [root@pro1 prometheus]#ls
- console_libraries consoles LICENSE NOTICE prometheus prometheus.yml promtool

- [root@pro1 prometheus]#vim /usr/local/prometheus/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:
- # 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: ['192.168.187.48:9090']

- [root@pro1 prometheus]#vim /usr/lib/systemd/system/prometheus.service
-
- [Unit]
- Description=Prometheus Server
- Documentation=https://prometheus.io
- After=network.target
-
- [Service]
- Type=simple
- ExecStart=/usr/local/prometheus/prometheus \
- --config.file=/usr/local/prometheus/prometheus.yml \
- --storage.tsdb.path=/usr/local/prometheus/data/ \
- --storage.tsdb.retention=15d \
- --web.enable-lifecycle
-
- ExecReload=/bin/kill -HUP $MAINPID
- Restart=on-failure
-
- [Install]
- WantedBy=multi-user.target

- systemctl start prometheus
- systemctl enable prometheus
-
- netstat -natp | grep :9090
-
- 浏览器访问:http://192.168.187.48:9090 ,访问到 Prometheus 的 Web UI 界面
- 点击页面的 Status -> Targets,如看到 Target 状态都为 UP,说明 Prometheus 能正常采集到数据
- http://192.168.187.48:9090/metrics ,可以看到 Prometheus 采集到自己的指标数



通过http:// 192.168.187.48/metrics 可以查看到监控的数据:

在远程linux主机(被监控端agent)上安装node_exporter组件
下载地址
https://prometheus.io/download/
- [root@grafana ~]#cd /opt
- [root@grafana opt]#rz -E
- rz waiting to receive.
- [root@grafana opt]#ls
- mysql-5.7.20 node_exporter-1.1.2.linux-amd64.tar.gz rh
- [root@grafana opt]#tar zxvf node_exporter-1.1.2.linux-amd64.tar.gz
- node_exporter-1.1.2.linux-amd64/
- node_exporter-1.1.2.linux-amd64/LICENSE
- node_exporter-1.1.2.linux-amd64/NOTICE
- node_exporter-1.1.2.linux-amd64/node_exporter
- [root@grafana opt]#ls
- mysql-5.7.20 node_exporter-1.1.2.linux-amd64 node_exporter-1.1.2.linux-amd64.tar.gz rh
- [root@grafana opt]#mv node_exporter-1.1.2.linux-amd64 /usr/local/bin
- [root@grafana opt]#cd /usr/local/bin/node_exporter-1.1.2.linux-amd64/
- [root@grafana node_exporter-1.1.2.linux-amd64]#ls
- LICENSE node_exporter NOTICE
- ./node_exporter #执行脚本
-
-
- netstat -natp | grep :9100
-
-
- 浏览器访问:http://192.168.109.20:9100/metrics ,可以看到 Node Exporter 采集到的指标数值

- [root@pro1 prometheus]#vim /usr/local/prometheus/prometheus.yml
- - job_name: 'agent'
- static_configs:
- - targets: ['192.168.187.68:9100']

重启服务

回到 web 管理界面→点 Status→点 Targets→可以看到多了一台监控目标

在 192.168.187.78上安装 mysqld_exporter组件
mysqld_exporter 是 Prometheus 的 MySQL 指标导出插件。Github 地址:GitHub - prometheus/mysqld_exporter: Exporter for MySQL server metrics。这里来演示它的部署。

- [root@mysql opt]#tar zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local
- [root@mysql opt]#cd /usr/local/
- [root@mysql local]#mv mysqld_exporter-0.12.1.linux-amd64/ mysqld_exporter

在mysql中创建监控用户,并赋权
- create user 'exporter'@'localhost' IDENTIFIED BY '123456';
-
- GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'exporter'@'localhost';

为mysqld_exporter 创建个配置文件
vim /usr/local/mysqld_exporter/mysqld_exporter.cnf
启动组件
nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/mysqld_exporter.cnf &

浏览器访问一下默认端口为9104

在Prometheus的配置文件中添加node_exporter 和 mysqld_exporter 的配置

然后重启一下 重新访问


看到新增的被监控节点,就是说明配置成功
会主界面搜索 MySQL 相关参数,比如:mysql_global_variables_auto_increment_increment

Grafana 是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警。
下载地址
https://grafana.com/grafana/download/
- #使用yum解决依赖关系 我这边直接上传软件包到opt
- yum install -y grafana-7.4.0-1.x86_64.rpm 或
- mkdir /mnt/grafana
-
- cd /mnt/grafana
-
- 上传安装包
- rpm -ivh grafana-7.3.6-1.x86_64.rpm 解压
-
- systemctl start grafana-server
- systemctl enable grafana-server
- netstat -natp | grep :3000
-
- #账号密码默认为admin,admin
- grafana默认配置文件目录 /etc/grafana/grafana.ini
- 浏览器访问:http://192.168.187.98:3000 ,默认账号和密码为 admin/admin








