怎样用模块做网站,产品摄影网站,seo常用工具,无极官网下载安装运行prometheus和grafana编辑prometheus配置文件#xff0c;增加采集prometheus自身数据的采集规则grafana上导入prometheus相关图表的dashboard
前面三步主要根据https://blog.csdn.net/shnu_cdk/article/details/132182858?spm1001.2014.3001.5506
用Go编写一个prome…安装运行prometheus和grafana编辑prometheus配置文件增加采集prometheus自身数据的采集规则grafana上导入prometheus相关图表的dashboard
前面三步主要根据https://blog.csdn.net/shnu_cdk/article/details/132182858?spm1001.2014.3001.5506
用Go编写一个prometheus exporter包含prometheus四种指标类型
这一部分直接查看官方文档使用说明。
package mainimport (fmtmath/randnet/httptimegithub.com/prometheus/client_golang/prometheusgithub.com/prometheus/client_golang/prometheus/promhttp
)func main() {// 创建并注册指标counter : prometheus.NewCounter(prometheus.CounterOpts{Name: my_counter,Help: A counter metric,})prometheus.MustRegister(counter)gauge : prometheus.NewGauge(prometheus.GaugeOpts{Name: my_gauge,Help: A gauge metric,})prometheus.MustRegister(gauge)histogram : prometheus.NewHistogram(prometheus.HistogramOpts{Name: my_histogram,Help: A histogram metric,})prometheus.MustRegister(histogram)summary : prometheus.NewSummary(prometheus.SummaryOpts{Name: my_summary,Help: A summary metric,})prometheus.MustRegister(summary)// 定期更新指标值go func() {for {counter.Inc()gauge.Set(rand.Float64() * 100)histogram.Observe(rand.Float64() * 100)summary.Observe(rand.Float64() * 100)time.Sleep(time.Second)}}()// 启动HTTP服务暴露指标http.Handle(/metrics, promhttp.Handler())fmt.Println(Exporter is running on http://localhost:8080/metrics)http.ListenAndServe(:8080, nil)
}
prometheus能够正常采集第四步中的exporter并在grafana上展示 在yml配置文件上配置相对应的端口这一部分和配置一个node差不多
scrape_configs:# The job name is added as a label jobjob_name to any timeseries scraped from this config.- job_name: prometheus# metrics_path defaults to /metrics# scheme defaults to http.static_configs:- targets: [localhost:9090]- job_name: exportstatic_configs:- targets: [192.168.60.177:8080]labels:instance: export了解alertmanager知道alertmanager的webhook推送告警方式 主要是要在prometheus上配置相应的端口
# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets: [192.168.60.169:9093]然后在altermanager里面配置相应的路由树
route:group_by: [alertname]group_wait: 1sgroup_interval: 1srepeat_interval: 1hreceiver: web.hook
receivers:- name: web.hookwebhook_configs:- url: http://192.168.60.188:8093/demo
inhibit_rules:- source_match:severity: criticaltarget_match:severity: warningequal: [alertname, dev, instance]
接下来熟练操作k8s我们采用搭建minikube来学习k8s 主要熟悉以下两个方面 通过kubectl创建资源 使用client-go通过代码创建资源 https://blog.51cto.com/daixuan/5184509