这种Exporter需要自己写吗?
一般不需要,官网上已经有大量的Exporter,上面我们已经列出过官网的Exporter清单 地址。
而且有的软件已经集成了Prometheus的Exporter,也就是说软件本身就提供了Prometheus需要的各种指标数据。最典型的就是k8s,他们是云原生基金会的第一和第二个项目。
如果需要特殊的监控,可能就要你自己写Exporter了。
实例: node-exporter监控服务器上面prometheus已经安装好了,现在来安装一个Exporter监控实例。
来安装一个监控服务器主机cpu、内存和磁盘等信息的exporter,直接用node-exporter。它主要用于收集类 UNIX 系统的信息。
步骤:
1.先修改prometheus.yml信息,
global: scrape_interval: 15s external_labels: monitor: 'first-monitor' scrape_configs: - job_name: prometheus scrape_interval: 5s static_configs: - targets: ['127.0.0.1:9090'] - targets: ['127.0.0.1:9100'] # 这里开始增加的监控信息 labels: group: 'local-node-exporter'2.用docker安装并启动node-exporter:
docker run -d --name=node-exporter -p 9100:9100 prom/node-exporter
3.然后重启docker prometheus,让刚才修改的配置生效:
docker restart prometheus
4.在浏览器上直接输入: :9090/targets。或者,你在界面上点击 Status 菜单 -> Targets 菜单,来浏览metrics信息。
如果你是在服务器上安装,那么这里的 127.0.0.1 就是服务器IP地址,或者域名。
浏览器输出的web界面如下:(我用的远程服务器测试,所以用了ip)
可以看到里面有一个 9100 端口的 metrics 连接,点进去后,就可以看到一些采集信息。
说明刚才配置的node-exporter已经加入到prometheus的targets中了。如下图:
点击web界面最上面的菜单 Graph
选择下面的 Graph,然后我们选择一个 node_memory_Active_bytes 来看一看,
然后点击 Execute 按钮 , 就会出来如下图所示图形:
上面我们通过Prometheus自带的UI,查看不同指标视图,但是它的功能很简单。如果需要强大的展示系统,能定制不同指标的面板,支持不同类型的展示方式,如曲线图、热点图,TopN等,那么grafana比较合适。它可以对promethdus数据进行可视化的展示。
grafana是一个大型可视化系统,功能强大,可以创建自己的自定义面板,支持多种数据来源,
比如:OpenTSDB、Elasticsearch、Prometheus 等,可以到官网去查看支持的数据源种类,而且它插件也很多。
官网
doc
安装官网安装文档,它有不同平台安装的Doc。
我选择最简单的一种,直接用docker安装,命令如下:
docker run -d -p 3000:3000 --name=grafana grafana/grafana
Docker安装完后,最后会出来一些提示信息:
... ...
Digest:sha256:0e8b556a7fc9b95c03669509ec50be19c16b82b9e9078f79fa35a71f484bc047
Status: Downloaded newer image for docker.io/grafana/grafana:latest 97d1c768ce6c541fa58790ec97fd06783633833cd9e74b12c16266dd264f8d0f
说明安装成功了。我们在浏览器上看看界面,输入下面地址:
:3000/login
然后输入初始密码 admin/admin 登录进入。
我安装的版本是:Grafana v7.0.5
grafana设置 增加prometheus数据源并展示1.点击如下图的Data Source: