推送多个指标
cat <<EOF | curl --data-binary @- 10.211.55.25:9091/metrics/job/cqh/instance/test # 锻炼场所价格 muscle_metric{label="gym"} 8800 # 三大项数据 kg bench_press 100 dead_lift 160 deep_squal 160 EOF然后我们再将pushgateway配置到prometheus.yml里边,重载配置
看到已经可以搜索出刚刚推送的指标了
Grafana是用于可视化大型测量数据的开源程序,它提供了强大和优雅的方式去创建、共享、浏览数据。
Dashboard中显示了你不同metric数据源中的数据。
Grafana最常用于因特网基础设施和应用分析,但在其他领域也有用到,比如:工业传感器、家庭自动化、过程控制等等。
Grafana支持热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch、Prometheus等。
我们使用docker安装
docker run -d -p 3000:3000 --name grafana grafana/grafana默认登录账户和密码都是admin,进入后界面如下
我们添加一个数据源
把Prometheus的地址填上
导入prometheus的模板
打开左上角选择已经导入的模板会看到已经有各种图
我们来添加一个自己的图表
指定自己想看的图标和关键字,右上角保存
看到如下数据
到这里我们就已经实现了数据的自动收集和展示,下面来说下prometheus如何自动报警
五.安装AlterManagerPormetheus的警告由独立的两部分组成。
Prometheus服务中的警告规则发送警告到Alertmanager。
然后这个Alertmanager管理这些警告。包括silencing, inhibition, aggregation,以及通过一些方法发送通知,例如:email,PagerDuty和HipChat。
建立警告和通知的主要步骤:
创建和配置Alertmanager
启动Prometheus服务时,通过-alertmanager.url标志配置Alermanager地址,以便Prometheus服务能和Alertmanager建立连接。
创建和配置Alertmanager
mkdir -p /home/chenqionghe/promethues/alertmanager cd !$创建配置文件alertmanager.yml
global: resolve_timeout: 5m route: group_by: ['cqh'] group_wait: 10s #组报警等待时间 group_interval: 10s #组报警间隔时间 repeat_interval: 1m #重复报警间隔时间 receiver: 'web.hook' receivers: - name: 'web.hook' webhook_configs: - url: 'http://10.211.55.2:8888/open/test' inhibit_rules: - source_match: severity: 'critical' target_match: severity: 'warning' equal: ['alertname', 'dev', 'instance']这里配置成了web.hook的方式,当server通知alertmanager会自动调用webhook :8888/open/test
下面运行altermanager
docker rm -f alertmanager docker run -d -p 9093:9093 \ --name alertmanager \ -v /home/chenqionghe/promethues/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml \ prom/alertmanager访问:9093
接下来修改Server端配置报警规则和altermanager地址
修改规则/home/chenqionghe/promethues/server/rules.yml