对很多开发者来说,使用一些linux命令查看服务器的一些数据是很简单的,但是不能永久的靠命令来查看数据,利用可视化平台可以省去很多人工的开销,现在我推荐一个很强大的平台,可以监控服务器、mysql、influxdb、MongoDB、redis、docker、k8s、zabbix等等等数据,就是Grafana,下面我来详细的讲出部署和使用手册,本文只讲 mysql和服务器群的监控指南,如果学会了再监控其他的数据一点问题都没有。
一、先安装mysql_exporter 是一个mysql数据采集的工具
文件名:grafana-7.3.1.linux-amd64.tar 网上一堆可以下载到,
1. tar xzvf grafana-7.3.1.linux-amd64.tar
2. cd grafana-7.3.1.linux-amd64
3. 有3个文件,其中有一个执行文件是: mysqld_exporter,先别着急运行,需要干一件事情,在当前路径下,新建一个配置文件 vi my.cnf, 复制下面的代码到my.cnf 里,然后 wq 保存
[client]
user=数据库的用户名
password=数据库的密码
4. 然后运行 ./mysqld_exporter --config.my-cnf="my.cnf"
5. 运行起来后, mysqld_exporter 监听的端口是 9104,判断是否正常启动, netstat -apn|grep 9104 如果出现 listen 则启动成功
6. 输入命令: curl "http://127.0.0.1:9104/metrics" 这时命令行出现了很多打印输出,很正常 , 也可以把mysql_exporter设置为后台运行 nohup ./mysqld_exporter --config.my-cnf="my.cnf" >my_exporter.log 2>&1&
以上 mysql_exporter 安装完成,注明,mysql在哪台机器上,mysql_exporter 就要安装到哪台节点上,以上仅仅是安装和运行,mysql_exporter 会有很多操作命令,有意者自行查询和学习!
------------------------------------------------------------------------------------------------------------------------------------------
二、安装node_exporter 是监控服务器设备详情,如:网络、带宽、连接数、CPU、内存、磁盘IO等等
文件名:node_exporter-1.0.1.linux-amd64.tar
1. tar xzvf node_exporter-1.0.1.linux-amd64.tar
2. cd node_exporter-1.0.1.linux-amd64
3. 直接运行 ./node_exporter, 默认监听的是 9100端口
4. curl "http://127.0.0.1:9100/metrics" 然后和上面类似控制台打印输出很多信息
以上 node_exporter 安装完成,也可以设置为后台启动: nohup ./node_exporter >node_exporter.log 2>&1&
-----------------------------------------------------------------------------------------------------------------------------------------------
三、安装 普罗米修斯 prometheus,总体来介绍就是一个大杂烩,把所有的数据收集上来的平台,细节就不介绍了感兴趣自行查询
文件名:prometheus-2.3.2.linux-amd64.tar.gz 网上都可以下载得到
1. tar xzvf prometheus-2.3.2.linux-amd64.tar.gz
2. cd prometheus-2.3.2.linux-amd64.tar
3. 当前路径下会有很多文件,核心文件有2个:a. prometheus 执行文件、 b. prometheus.yml 配置文件
4. 先 vi prometheus.yml 翻到最下面找到 下面的配置,
static_configs:
- targets: ['127.0.0.1:9090'] 代表 prometheus 监听的是9090端口
5. 配置 mysql_expoter 和 node_exporter
6. mysql_exporter的配置如下:
- job_name: 'mysql'
static_configs:
- targets: ['127.0.0.1:9104']
labels:
instance: master_01
7. node_exporter的配置如下:
- job_name: 'node'
static_configs:
- targets: ['127.0.0.1:9100']
如果有多个node_exporter 就在 - targets: [ 用英文逗号分隔 写多个IP+端口的地址 ]
8. wq 保存退出,这时候 mysql和node的数据采集就配置好了,运行 prometheus ,直接后台运行命令:nohup ./prometheus --config.file=prometheus.yml >prometheus .log 2>&1&
9. 检测是否运行, 查看9090端口是否监听,http://127.0.0.1:9090 , netstat -apn|grep 9090 , prometheus 有一个自己的平台,如果不部署Grafana 可以看prometheus 的自己的平台,这里就不建议看prometheus 的平台,因为马上就要部署Grafana了!!
---------------------------------------------------------------------------------------------------------------------------------------------------------
四、部署Grafana
下载地址:https://download.csdn.net/download/Innovation_Miracle/13110779
1. tar xzvf grafana-7.3.1.linux-amd64.tar
2. cd grafana-7.3.1.linux-amd64
3. 简单介绍一下Grafana的目录,bin 执行程序,./grafana-server 是运行服务器平台,./grafana-cli 主要下载插件用 、conf 配置文件 、data 数据保存的路径,Grafana默认用的sqlite数据库,grafana.db 就在data目录下,可以复制出来用navicat打开,不需要密码,用户名是user、然后data下的plugins目录是放一些从granfa官网下载的组件、其他路径一般用不到就不多介绍了
4. 直接运行grafana 进行初始化,在bin路径下,./grafana-server 这时候控制台输出了很多初始化信息, 监听的端口是3000, 在浏览器访问: http://127.0.0.1:3000 或者服务器安装的把127.0.0.1 替换成服务器的IP ,并开放3000端口对外访问, 初始化的用户名和密码都是 admin, 登录进去会让你设置 mysql数据库账号密码、重新修改你的密码、 这两步完成后点击 data sources ---> 新建 prometheus
选择
点击最下面的按钮 Save & Test 如果弹出绿色窗口就代表配置没问题,然后点击
4. 输入1860,点击 load 按钮,加载服务器群模板, 输入7362和7991 点击load是加载mysql 监控的模板
5. 点击load 后 最下面有一个下拉框,选择
点击 import按钮 就完成了, 数据库监测和 服务器监测 的配置方式一样!
6. 服务器监测模板截图 1860:
1860模板可以监测的服务器数据很多,自建部署好可以详细研究
7. mysql模板示意 模板 7362:
能监测的数据也很全面;
8. Grafana 自定义监控项,先基于mysql和服务器
以上全部部署完成,如果想监测其他数据的话 在 plugin里面选择组件,或者去grafana官网下载,用 ./grafana-cli 工具下载组件