[TOC]
概述
logstash的监控比较简单,我的logstash都跑在同一台主机上。
流程图
流程简述
每个logstash启动的时候需要指定端口,logstash_exporter启动的时候监听该端口并暴露新的端口给prometheus,prometheus在配置文件中为指定端口(也就是对应到的logstash指定别名以方便区分),远程写入influxDB的时候正则过滤仅仅需要的指标进行存储。
注意: 该logstash_exporter使用的时候只能为一个logstash进程转发指标,所以每一个logstash进程需要单独起一个logstash_exporter与之对应。【2019年1月】
详细步骤
启动logstash指定端口
启动logstash的时候,命令(--http.port=9602
)指定http端口。这里说明下为什么要指定端口,因为logstash启动的时候是可以随机使用端口的,但是每一次重启之后端口会发生变化,为了使logstash能有效的被区分、起别名,使用指定端口是最好的选择。
比如supervisor的启动方式,其中一个配置文件如下:
[program:logstash-mylogstash]
command = /opt/logstash-6.2.4/bin/logstash -f /opt/logstash-6.2.4/config/mylogstash.conf --path.data=/data/logstash/mylogstash --http.port=9602
user = root
autostart = true
autorestart = true
startsecs = 3
directory = /opt/logstash-6.2.4
stdout_logfile = /data/logs/logstash/mylogstash
启动logstash_exporter监听logstash指定的端口并暴露另一个端口给prometheus
logstash_exporter的github地址
下载并启动,启动的多了就像下面这样。。。
root 11780 1095 0 Mar12 ? 00:17:03 /data/logstash_exporter/logstash_exporter --web.listen-address=:9408 --logstash.endpoint=http://127.0.0.1:9608
root 11783 1095 0 Mar12 ? 00:16:59 /data/logstash_exporter/logstash_exporter --web.listen-address=:9411 --logstash.endpoint=http://127.0.0.1:9611
root 11784 1095 0 Mar12 ? 00:16:56 /data/logstash_exporter/logstash_exporter --web.listen-address=:9406 --logstash.endpoint=http://127.0.0.1:9606
root 11785 1095 0 Mar12 ? 00:17:33 /data/logstash_exporter/logstash_exporter --web.listen-address=:9401 --logstash.endpoint=http://127.0.0.1:9601
root 11786 1095 0 Mar12 ? 00:17:20 /data/logstash_exporter/logstash_exporter --web.listen-address=:9400 --logstash.endpoint=http://127.0.0.1:9600
root 11787 1095 0 Mar12 ? 00:17:20 /data/logstash_exporter/logstash_exporter --web.listen-address=:9404 --logstash.endpoint=http://127.0.0.1:9604
root 11789 1095 0 Mar12 ? 00:18:22 /data/logstash_exporter/logstash_exporter --web.listen-address=:9405 --logstash.endpoint=http://127.0.0.1:9605
root 11875 1095 0 Mar12 ? 00:17:05 /data/logstash_exporter/logstash_exporter --web.listen-address=:9409 --logstash.endpoint=http://127.0.0.1:9609
root 11882 1095 0 Mar12 ? 00:17:06 /data/logstash_exporter/logstash_exporter --web.listen-address=:9410 --logstash.endpoint=http://127.0.0.1:9610
root 11889 1095 0 Mar12 ? 00:16:58 /data/logstash_exporter/logstash_exporter --web.listen-address=:9403 --logstash.endpoint=http://127.0.0.1:9603
root 11892 1095 0 Mar12 ? 00:17:11 /data/logstash_exporter/logstash_exporter --web.listen-address=:9402 --logstash.endpoint=http://127.0.0.1:9602
root 11895 1095 0 Mar12 ? 00:16:57 /data/logstash_exporter/logstash_exporter --web.listen-address=:9407 --logstash.endpoint=http://127.0.0.1:9607
root 15529 1095 0 Mar29 ? 00:04:34 /data/logstash_exporter/logstash_exporter --web.listen-address=:9412 --logstash.endpoint=http://127.0.0.1:9612
prometheus配置拉取logstash_exporter暴露出来的端口
prometheus的配置文件使用文件发现的方式,json内容如下(省略了其余部分)
{
"targets": ["logstash的主机IP地址:9401"],
"labels": {
"alias": "logstash-1",
"job": "logstash",
"index": "为该进程起的别名"
}
}
grafana查询绘图
grafana里面可以搜索到一些现成的dashboard使用,比如
2525