一、部署Prometheus监控
1.环境准备工作
服务器 | IP地址 | 组件 |
---|
Prometheus服务器 | 192.168.226.128 | Prometheus、node_exporter | agent服务器 | 192.168.226.129 | node_exporter | grafana服务器 | 192.168.226.130 | Grafana |
2.puometheus部署
prometheus下载地址
https://prometheus.io/download/
2.1上传prometheus到opt目录下,并解压
[root@prometheus opt]
prometheus-2.27.1.linux-amd64.tar.gz rh
[root@prometheus opt]
[root@prometheus opt]
prometheus-2.27.1.linux-amd64 prometheus-2.27.1.linux-amd64.tar.gz rh
[root@prometheus opt]
[root@prometheus opt]
[root@prometheus prometheus]
console_libraries consoles LICENSE NOTICE prometheus prometheus.yml promtool
2.2修改prometheus配置文件
cat /usr/local/prometheus/prometheus.yml | grep -v "^#"
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_timeout: 10s
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
2.3配置系统启动文件,设置开机自启
[root@prometheus prometheus]
[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
2.4开启prometheus,并访问网页验证
systemctl start prometheus
systemctl enable prometheus
netstat -natp | grep :9090
浏览器访问:http://192.168.226.128:9090 ,访问到 Prometheus 的 Web UI 界面
点击页面的 Status -> Targets,如看到 Target 状态都为 UP,说明 Prometheus 能正常采集到数据
http://192.168.226.128:9090/metrics ,可以看到 Prometheus 采集到自己的指标数据
通过http://192.168.226.128:9090/metrics可以查看到监控的数据
二、部署Exporter(192.168.226.129)
1.监控远程Linux主机192.168.226.129
在远程Linux主机(被监控端agent)上安装node_exporter组件
下载地址
https://prometheus.io/download/
1.1上传node_exporter到opt目录,并解压
tar zxf node_exporter-1.1.2.linux-amd64.tar.gz
mv node_exporter-1.1.2.linux-amd64 /usr/local/bin/
1.2启动node_exporter
./node_exporter
netstat -natp | grep :9100
浏览器访问:http://192.168.226.129:9100/metrics ,可以看到 Node Exporter 采集到的指标数据
** 通过浏览器访问 http:// 被监控端 IP:9100/metrics 就可以查看到 node_exporter 在被监控端收集的监控信息:**
1.3修改prometheus服务器的配置文件
回到prometheus服务器的配置文件里添加被监控机器的配置段
vim prometheus.yml
- job_name: 'nodes'
static_configs:
- tarhets: ['192.168.226.129:9100']
改完配置文件后,重启服务
1.4访问prometheus服务器
回到 web 管理界面→点 Status→点 Targets→可以看到多了一台监控目标
2.监控远程MySQL
在被管理机 agent上安装 mysqld_exporter 组件
下载地址:
https://prometheus.io/download/
2.1上传mysqld_exporter到opt目录下,解压
tar zxf mysqld_exporter-0.12.1.linux-amd64.tar.gz
mv mysqld_exporter-0.12.1.linux-amd64 /usr/local/mysqld_exporter
2.2进入到mysql数据库,进行授权
为了方便MySQL数据库已经安装,我们直接进入数据库授权即可
进入到数据库
create user 'exporter'@'%' identified by '123456';
grant process,replication client,select on *.* to 'exporter'@'%' identified by '123456';
flush privileges;
2.3为mysqld_exporter创建个配置文件
vim /usr/local/mysqld_exporter/mysqld_exporter.cnf
[client]
?
user=exporter
?
password=123456
2.4启动组件
./mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/mysqld_exporter.cnf
2.5浏览器访问一下默认端口9104
http://192.168.226.129:9104/metrics
这样就启动成功了
2.6修改prometheus服务器的配置文件
回到 Prometheus 服务器的配置文件里添加被监控的 mysql 的配置段
vim prometheus.yml
- job_name: 'node_mysql'
static_configs:
- targets: ['192.168.226.129:9104']
重启服务,看一下状态
2.7访问prometheus服务器
**回到 web 管理界面→点 Status→点 Targets→可以看到监控 mysql **
三、部署Grafana进行展示
Grafana 是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警
下载地址
https://grafana.com/grafana/download/
1.下载安装Grafana(192.168.226.130)
rpm -ivh /opt/grafana-7.3.6-1.x86_64.rpm
systemctl start grafana-server
systemctl enable grafana-server
netstat -natp | grep :3000
浏览器访问:http://192.168.109.19:3000 ,默认账号和密码为 admin/admin
通过浏览器访问 http:// grafana 服务器 IP:3000 就到了登录界面,使用默认的 admin 用户,admin 密码就可以登陆了
2.配置数据源
下面我们把 Prometheus 服务器收集的数据做为一个数据源添加到 grafana,让 grafana 可以得到 Prometheus 的数据
3.导入模板
点击prometheus_data,选择Dashboards
4.为数据源做数据展示
自定义名称,点击保存
最后在dashboard可以查看到 注:有多条数据的时候,可以在查询的键值后面加个大括号,括号里的条件表示只匹配当前的监控项。
5.导入grafana监控模板
浏览器访问:https://grafana.com/grafana/dashboards ,在页面中搜索 node exporter ,选择适合的面板,点击 Copy ID 或者 Download JSON
在 grafana 页面中,+ Create -> Import ,输入面板 ID 号或者上传 JSON 文件,点击 Load,即可导入监控面板
6.Grafana图形显示MySQL监控数据
在 grafana 上修改配置文件,并下载安装 mysql 监控的 dashboard(包含相关 json 文件,这些 json 文件可以看作是开发人员开发的一个监控模板) 在grafana图形化界面导入相关的json文件 用grafana服务器上的firefox浏览器打开,方便上传,模板这里选择7362
这里我们添加了一个新的模板,ID号为7362
|