起因
因为公司服务太多了,偶尔会宕机,CPU运行内存使用太高,导致整个服务器上面的各种程序都卡死,所以需要有一个监控服务器状态的软件,因而有了这篇随笔。当然该随笔分几部分,一个是Windows系统监控,一个是Linux系统监控,数据库的监控暂时还没有做过,所以暂时空缺,以后补充。
Grafana和Prometheus实现服务器监控——Linux
简介
Prometheus是一个完整的监控和趋势系统,包括基于时间序列数据的内置和主动抓取,存储,查询,绘图和警报。
简单来说,我们可以用Prometheus来监控包括linux,window系统,nginx以及mysql的性能指标。
Grafana,一个将数据可视化的软件,具有非常高大上的ui设计。所以采用Grafana作为Prometheus的可视化工具
流程
- [1]下载Windows采集器(wmi_exporter )
下载地址:https://github.com/martinlindhe/wmi_exporter/releases/download/v0.3.3/wmi_exporter-0.3.3-amd64.msi
Windows默认9182端口。直接双击安装即可。
访问http://IP:9182/metrics;显示以下数据说明数据采集器安装成功
- [2]下载Prometheus安装包(Windows版本)
下载地址:https://prometheus.io/download/
- [3]下载Prometheus后直接解压,在文件夹中找到prometheus.yml配置文件,在配置文件中需要配置一下,用途:就是用来获取之前配置的Windows采集器(wmi_exporter )的数据,所以要配置上面的采集器的一些数据
- job_name: '工作名'
static_configs:
scrape_interval:5s
- targets: ['IP:9182']
下面是配置文件的全部内容
# 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=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['IP:9182']
- [4]如果直接启动不了,可能是端口占用了,那么就将默认端口9090改为8091访问并启动,倒不是说一定要改成8091,而是如果换一个端口起会比较好点,博主自己最开始试的时候端口一直被暂用导致起不来,所以最好找一个没有应用在使用的端口去起
prometheus.exe --config.file=prometheus.yml --web.listen-address=:8091 &
&是用于应用于后台启动
- [5]启动后访问:http://localhost:8091/,如果可以访问的话,就说明启动成功了,如下图这样:
在Status下的Targets中,如果显示的是UP说明监控正常,就可以进行下一步了
- [6]grafana配置Prometheus数据库:下载garfana
下载地址:https://grafana.com/grafana/download
进入bin目录下,选择grafana-server.exe即可 - [7]grafana配置Prometheus数据库:访问grafana
http://ip:3000, 用户名/密码 admin/admin
登录后可能会有个邮件注册的页面,不用理会,直接跳过就好了 - [8]grafana配置Prometheus数据库:配置数据源
进入是下面这样的页面,然后选择Add your first data source,进行配置即可
因为上面配置的数据源是prometheus 所以下面的数据源要选择一样的
下面选项一般只需要配置name(这个是你配置的名称),url(这个就是你的prometheus的地址)
配置完后保存测试,如果测试通过就说明好了,你就可以自己定义模块显示,但是博主比较懒,直接引用别人已经做好的模块,下面也是介绍直接用别的模块 - [9]grafana配置Prometheus数据库:导入别人的dashboard
前往https://grafana.com/grafana/dashboards
左侧可以进行搜索,直接定位到我们需要的模版,然后就是点进去找到copyID就可以了,这里说明一下,不是任何模版都兼容自己的服务器的,所以可以多试几个模版,服务器版本不用,显示的内容多少有点区别
然后将刚刚复制来的ID,放在Import页面中,Import页面中支持直接复制ID,也支持你去复制json模版语句
点击load,如果加载不出来,可能是网络不好,多点几次,然后就是下面的样子,然后你可以设置name(是到时候在主页显示的名称,可以改)VictoriaMetrics(是加入你刚刚配置的数据源的)然后就点击improt就好了
以上就是Grafana和Prometheus实现服务器监控Windows了