济南做手机网站,wordpress文章图片弹出效果,帝国网站管理系统安装,今晚赛事比分预测我们在进行测试时#xff0c;不可能一直手动看着服务器的性能消耗#xff0c;这时候就需要有个工具替我们监控服务器的性能消耗。这里记录下grafanaPrometheusnodeExporter的组合用于监控服务器。
简单介绍#xff1a;
grafana#xff1a;看板工具#xff0c;所有采集的…我们在进行测试时不可能一直手动看着服务器的性能消耗这时候就需要有个工具替我们监控服务器的性能消耗。这里记录下grafanaPrometheusnodeExporter的组合用于监控服务器。
简单介绍
grafana看板工具所有采集的性能数据都会展示在这个看板上官网: link Prometheus: 监控系统数据的采集、存储、查询等主要功能都是在它这里参考文档: link node_exporter其是Prometheus的一个采集组件可以用来采集机器上的数据并暴露接口给Prometheus以此将数据传过去。 这是prometheus官网的架构图可以参考这个看一下 我这里简单概述一下我们使用到的功能即node_exporter采集机器节点上的性能数据并将数据传给Prometheus处理grafana再从Prometheus那里获取数据展示在看板上。exporter有多种类型比如采集容器的mysql的这里node_exporter直接是采集整个机器的 本文grafana和Prometheus是使用docker安装部署的如果机器上未装docker可参考链接: link 本文为最新的安装流程可直接按照该流程安装部署。
1.安装grafana
命令为
docker run -d -p 3000:3000 --namegrafana grafana/grafana-oss2.安装Prometheus
1.配置Prometheus的配置文件
mkdir -p /opt/monitor/prometheus
tee /opt/monitor/prometheus/prometheus.yml - EOF
global:# 拉取规则scrape_interval: 10s# 执行规则频率evaluation_interval: 10sscrape_configs:- job_name: prometheus # 任务名static_configs:- targets: [localhost:9100] # 地址和端口注意如果是docker安装的话这个loalhost要替换成ip地址
EOF这里的地址如果是采集本机的写localhost即可要是采集其它机器的可以填对应的ip这里的端口不是9090而是9100与下面的node_exporter对应的而且如果是docker安装的话这个loalhost要替换成机器的ip地址不然容器内部根据localhost可识别不了机器实际的ip
2.用配置文件部署启动Prometheus
docker run -d -p 9090:9090 -v /opt/monitor/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml --nameprometheus prom/prometheus3.安装node_exporter
这里安装node_exporter是手动安装的为什么不用docker直接安装呢这是因为docker安装的exporter是在容器里面的从容器里采集机器本机的数据的时候并不完全有时会导致和实际数据相差较大本人已踩过坑这里建议手动安装到机器上。 下载地址: link 直接下载下来传到机器上并解压 然后我们配置服务启动项
tee /etc/systemd/system/node_exporter.service - EOF
[Unit]
Descriptionnode_exporter
Afternetwork.target[Service]
ExecStart/opt/monitor/node_exporter/node_exporter --web.listen-address:9100[Install]
WantedBymulti-user.target
EOF配置完成后我们启动服务
systemctl enable node_exporter # 不是root用户前面都加一下sudo
systemctl start node_exporter
systemctl status node_exporter4.监控服务串联
至此我们各个模块都是各自安装完了接下来我们把它们连成一个整体首先看下node_exporter和Prometheus能否正常访问。
node exporter和Prometheus
查看node_exporter可以浏览器直接访问http://192.168.238.128:9100/这里192.168.238.128就是我linux机器的地址 显示无法访问。。。排查了一下防火墙忘记关了。自己内网用的机器平时可以把防火墙关了docker安装的服务端口未被防火墙限制手动安装的服务端口会被限制 这时再重新访问下 这里就是其采集的信息可以看出采集服务已正常可用了。 然后我们看下Prometheus浏览器直接访问http://192.168.238.128:9090/ 也没问题我们在上面输入框输点东西试一下数据能不能传上来
100 * (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes))可以看出数据已经传上来了这里时间不太对应该是时区的问题吗暂时不用管。至此node exporter和Prometheus的对接正常了。
grafana配置
然后我们登录grafanahttp://192.168.238.128:3000/ 这里初始用户名密码是admin/admin登录后可以修改下密码grafana这里我们主要是配置下数据源以及展示模版因为Prometheus那里的数据还没有和grafana对接而且展示的数据也未经进一步处理展示效果一般。
配置数据源
进去找一下data sources几个版本的grafana位置是不一样的这个自己找一下即可 这里选择Prometheus 配置页面配置下名称可使用默认的以及连接的url这个就是Prometheus的地址和端口即我们上面访问的http://192.168.238.128:9090/ 其他的默认即可最后点击这个savetest连接正常会弹出绿色的提示 到这里数据源就配置完成了。
导入监控模版
这时候的数据都是Prometheus处理过的虽然也有图表但是比较简单我们可以导入一个看板的模版使其展示更加丰富更加友好。也可以自己写新的 我们访问https://grafana.com/grafana/dashboards/这个网址上面有已有的模版可以查看下哪个适合我们 在这边搜索node exporter可以搜索出所有node exporter的模版 这里我们就选用第一个点击进去 这里有两个选项一个是复制id一个是下载json这里我们直接复制id好了。这个json其实就是模版文件了但是我们也可以用id来自动导入。 然后我们进入自己搭建的grafana页面点击这个import各个版本的UI略有不同按键位置可能也不同 这里输入刚刚复制的id然后点击load 加载完成后进入这个页面 这里选我们刚刚配好的数据源 然后点击import就跳转到看板页面了如果页面没有数据可查看左上角这几个选项是不是正确或者可以等一会也有可能数据还没有上传上来。 至此监控服务就部署好了无论是做性能还是可靠性我们可以对服务器进行长时间监测了。
问题记录
实际部署时也遇到了一些其他问题这里记录下 1.导入Node Exporter Full监控模版id为1860时grafana一直报找不到方法这个主要是1860这个模板和grafana当前版本不兼容更新grafana即可。 2.监控数据不准确的问题这个上面已经提到解决办法是node_exporter手动直接安装在服务器上。 3.Prometheus可添加多个监控节点网络能正常连通即可修改Prometheus配置文件后需重启下服务。