使用prometheus监控Tengine
需要的工具:
部署步骤:
配置tengine
1.需要将nginx-module-vts编译到nginx中,需要在nginx的目录下执行./configure --add-module=./nginx-moudle-vts
之后sudo make
成功之后可以在终端看到我们成功编译进去的模块
然后我们需要配置nginx.conf
例子如下:
server{
vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
# allow
}
}
之后运行tengine即可,我们通过访问Ip:80/status
可以获得如下图页面:
我们可以获得tengine的运行过程中的指标数据
2.我们需要在本地或者docker上运行nginx_exporter来将tengine中的数据导出
- 在本地通过命令
./nginx-vts-exporter -nginx.scrape_timeout 10 -nginx.scrape_uri http://127.0.0.1/status/format/json
起了一个nginx-vts-exporter
可以看到,终端会在这里阻塞住,这时我们访问Ip:9913
可以访问到该页面
点击Metrics可以看到这个模块监测的指标
3.接下来我们需要配置prometheus
对接premethues
docekr pull prom/prometheus
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
接下来我们需要修改其配置文件,如下图:
prometheus.yml 文件配置参考
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['prometheus_ip:9090']
- job_name: 'Tengine'
static_configs:
- targets: ['nginx_vts_exporter_ip:9913']
#重新启动prometheus
访问Ip:9090
结果如下:
ok,此刻已经对接成功
4.通过grafana将数据可视化展现
网访问prometheus_ip:3000
初始用户名密码均为admin
数据配置
可以自行导入配置,导入id为2949
最终效果图