用于监控nginx的exporter:nginx-module-vts

prometheus 监控nginx的模块 nginx-module-vts 下载后配置 conf http{ vhost_traffic_status_zone; vhost_traffic_status_zone shared:vhost_traffic_status:32m; # 设置共享内存大小 server { vhost_traffic_status_filter_by_set_key $status $server_name; # 计算详细的http状态代码的流量 location /status { vhost_traffic_status_display; # 设置了该指令,则可以访问如下: vhost_traffic_status_display_format html; vhost_traffic_status off; ## 启用或禁用模块工作 } } } 不想统计流量的server区域禁用vhost_traffic_statu off 例: 计算upstream后端响应时间 nginx_upstream_responseMsec{upstream=“group1”} 一个完整的配置文件:nginx.conf 关于GEO相关:GeoIP.dat file format #162 ngx如何配置GEO:GeoIP discontinuation; Upgrade to GeoIP2 with nginx on CentOS 删除所zone内存中的数据 bash 1 curl localhost/status/control?cmd=delete&group=*

 ·  · 

prometheus golang_client开发Exporter

exporter是一个独立运行的采集程序,其中的功能需要有这三部分 自身是HTTP服务器,可以相应从外部发过来的HTTP GET请求。 自身需要运行在后台,并可以定期触发抓取本地的监控数据。 返回给prometheus_server的内容是要符合prometheus规定的metrics类型的key-Value promethes监控中对于采集过来的数据统一称为metrice数据 Metrics,为某个系统某个服务做监控、做统计,就需要用到Metrics. metrics是一种对采样数掘的总称(metrics并不代表某一种具体的数据格式是一种对于度星计算单位的抽象) metrics的几种主要的类型 METRIC TYPES prometheus客户端库提供4中metric类型 counter 计数器,累加指标 gauge 测量指标 summary 概略 histogram 直方图 counter Counter计数器,累加的指标数据,随时间逐步增加,如程序运行次数、运行错误发生总数。如网卡流量,代表持续增加的数据包或者传输字节的累加值 比如对用户访问量的采样数据 我们的产品被用户访问一次就是1过了10分钟后积累到100 过一天后累积到20000 一周后积累到100000-150000 go 1 2 3 4 5 6 7 8 test = prometheus.NewSummaryVec( prometheus.SummaryOpts{ Name: "zhangsan", Help: "username", Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001}, }, []string{"service"}, ) text 1 2 3 4 5 6 7 # HELP zhangsan username # TYPE zhangsan summary zhangsan{service="aaa",quantile="0.5"} 0....

 ·  · 

prometheus传统架构安装

全局配置选项 text 1 2 3 4 5 6 7 scrape_interval: 采集生命周期 scrape_timeout: 采集超时时间 evaluation_interval: 告警评估周期 rule_files 监控告警规则 scrape_config: 被监控端 altering 检查配置文件语法 text 1 2 3 $ promtool check config \etc\prometheus.yml Checking \etc\prometheus.yml SUCCESS: 0 rule files found 100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) \ node_memory_MemTotal_bytes * 100 计算剩余空间 node_filesystem_free_bytes{mountpoint="",fstype=~“ext4|xfs”} \ node_filesystem_size_bytes{mountpoint="",fstype=~“ext4|xfs”} * 100 查看使用的百分比 100-node_filesystem_free_bytes{mountpoint="",fstype=~“ext4|xfs”} \ node_filesystem_size_bytes{mountpoint="",fstype=~“ext4|xfs”} * 100 prometheus使用influxdb [Prometheus endpoints support in InfluxDB | InfluxData Documentation](https:\docs.influxdata.com\influxdb\v1.7\supported_protocols\prometheus) [Configuration | Prometheus](https:\prometheus.io\docs\prometheus\latest\configuration\configuration) 配置文件参考 yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 global: alerting: alertmanagers: - static_configs: - targets: rule_files: scrape_configs: - job_name: 'prometheus1' file_sd_configs: - files: ['\data\sd_config\test....

 ·  ·