Prometheus的Pushgateway配置

原理参照官网pushgateway或网上其它文章,这里只有配置

#pull docker 镜像

docker pull prom/pushgateway

#运行(默认没有认证,如果需要加认证可以使用nginx做反响代理)

docker run -d \
  --name=pushgateway \
  -p 9091:9091 \
  prom/pushgateway

#访问url

http://192.168.1.100:9091
http://192.168.1.100:9091/metrics

#prometheus 配置

  - job_name: pushgateway
    scrape_interval: 30s
    honor_labels: true  #加上此配置exporter节点上传数据中的一些标签将不会被pushgateway节点的相同标签覆盖
    static_configs:
      - targets: ['192.168.1.100:9091']
        labels:
          instance: pushgateway
将node_exporter的metrics传到pushgateway
curl 127.0.0.1:9100/metrics|curl --data-binary @- http://192.168.1.100:9091/metrics/job/test/instance/10.2.1.11/hostname/ip-10-2-1-11

以上命令执行后,对于传过去的监控项会添加此处定义的标签 job=test instance=10.2.1.11 hostname=ip-10-2-1-11

自定义metrics 并传到pushgateway

这里举一个例子,使用curl获取到百度的http相关指标,如dns解析时间,请求耗时,返回code等。
如下脚本每隔15秒获取一次metrics并push到pushgateway

#/bin/bash
while true; 
do 
	echo '# HELP probe_dns_lookup_time_seconds Returns the time taken for probe dns lookup in seconds' > metric_temp
	echo '# TYPE probe_dns_lookup_time_seconds gauge' >> metric_temp
	echo `curl -o /dev/null -s -w "probe_dns_lookup_time_seconds  %{time_namelookup}\n" https://www.baidu.com` >> metric_temp
	
	echo '# HELP probe_http_status_code Response HTTP status code'  >> metric_temp
	echo '# TYPE probe_http_status_code gauge' >> metric_temp
	echo "probe_http_status_code `curl -I -m 10 -o /dev/null -s -w %{http_code} https://www.baidu.com`" >> metric_temp
	
	echo '# HELP probe_duration_seconds Returns how long the probe took to complete in seconds' >> metric_temp
	echo '# TYPE probe_duration_seconds gauge' >> metric_temp
	echo `curl -o /dev/null -s -w "probe_duration_seconds  %{time_total}\n" "https://www.baidu.com"` >> metric_temp
	
	#push metric to prometheus
	cat metric_temp| curl -s --data-binary @- http://192.168.1.100:9091/metrics/job/some_job/instance/ip-192.168.200.200; 
	date;
	sleep 15;
done

然后在Prometheus里查对应的metric值即可。

删除某个组下的某实例的所有数据:

curl -X DELETE http://pushgateway.example.org:9091/metrics/job/some_job/instance/some_instance

删除某个组下的所有数据:

curl -X DELETE http://pushgateway.example.org:9091/metrics/job/some_job
Prometheus是一款开源的监控系统,它可以收集和处理各种类型的指标数据,并提供数据查询、报警等功能,成为了云原生领域中非常重要的监控工具之一。下面是关于Prometheus的安装和配置的一些建议。 首先,我们需要在官网下载Prometheus,并解压缩到指定目录中。在解压后的目录中,可以看到例如bin、config等文件夹以及prometheus.yml配置文件等。prometheus.yml是Prometheus的主配置文件,其中定义了需要收集哪些指标数据。 在prometheus.yml文件中,需要指定需要采集数据的服务器及数据采集的方式,可以使用多种方式,例如通过pushgateway推送或者使用Exporter等。另外,还需要配置警报规则和图表展示,可以使用Prometheus自带的Alertmanager和Grafana等工具。 在安装和配置的过程中,需要注意以下事项: 1、通过在命令行中运行prometheus --config.file=prometheus.yml指定prometheus.yml所在的路径,启动Prometheus服务。 2、需要定期备份Prometheus的数据内容,特别是警报规则、报警历史记录等。 3、需要配置正确的时区和日期时间格式,以确保监控数据的正确性。 4、需要定期更新Prometheus及其组件,以获得最新的安全补丁和新功能。 总之,Prometheus的安装和配置需要慎重考虑,需要根据自身场景进行定制化操作,以确保其稳定性和可靠性。同时,需要通过持续的监控和报警来及时发现和解决问题,以在企业中更好地应用Prometheus监控系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值