Telegraf - 如何监控多个 Tomcat 实例?
Telegraf - how to monitor multiple Tomcat instances?
我设法从单个 Tomcat 实例收集数据到 Telegraf,如下所示。
[[inputs.tomcat]]
## URL of the Tomcat server status
url = "http://127.0.0.1:19090/manager/status/all?XML=true"
## HTTP Basic Auth Credentials
username = "admin"
password = "fD*(*DSS"
## Request timeout
# timeout = "5s"
## Optional SSL Config
# ssl_ca = "/etc/telegraf/ca.pem"
# ssl_cert = "/etc/telegraf/cert.pem"
# ssl_key = "/etc/telegraf/key.pem"
## Use SSL but skip chain & host verification
# insecure_skip_verify = false
现在,我想监控多个Tomcat个实例,但是好像没有如何监控多个的例子。有人知道吗?
据我所知有几种方法。
1) 最简单的方法是创建、使用并尝试使用不同的配置文件,您可以在其中创建 tomcat1.conf 将其放置在 /etc/telegraf/telegraf.d/tomcat1.conf
文件夹下,您最终会使用相同的插件您在上面提到过 (inputs.tomcat
),同样,为 tomcat2.conf 等创建另一个配置文件。对于所有 Tomcat 实例。这样您就可以监控多个 Tomcat 实例。看看有没有帮助!这种方法的缺点是,您必须创建 N 号。 tomcatXX
.conf 文件在 telegrad.d 文件夹下(如果您在使用 Ansible/similar 工具配置机器时即时创建这些文件,可以轻松修复 - 模板化文件并遍历 tomcatXX 列表)。
2) 其他方式,这也可能有助于仅使用一个配置文件。
在一个配置文件中,一起使用以下插件来捕获您要查找的内容。 PS:如果您使用 inputs.exec
插件,那么您将从自定义脚本(您将在 inputs.exec
插件中调用)生成的输出必须以已知格式生成输出( InfluxDB/Line Telegraf 和 InfluxDB 可以理解/存储的协议),否则您会看到一些小错误,而您很少看到我的帖子。
exec
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec
http_*
插件(尤其是 http_response
):https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec
filestat
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/filestat
logparser
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/logparser
procstat
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/procstat
查看上面提到的插件链接,了解它们的作用以及如何在 Telegraf 中设置它们,如果您不希望每个插件都有多个 conf 文件,那么您将获得大部分内容Tomcat实例。
https://github.com/influxdata/telegraf/tree/master/plugins/inputs 包含所有输入插件(查看是否有您可能感兴趣的插件)。
看看你是否可以利用如何有效地使用 prefix
属性 来区分来自使用这些插件的各种 metrics/events。
原来答案很简单。只需多次声明 inputs.tomcat
块,如下所示。
[[inputs.tomcat]]
## URL of the Tomcat server status
url = "http://127.0.0.1:19090/manager/status/all?XML=true"
## HTTP Basic Auth Credentials
username = "admin"
password = "fD*(*DSS"
[[inputs.tomcat]]
## URL of the Tomcat server status
url = "http://127.0.0.1:29090/manager/status/all?XML=true"
## HTTP Basic Auth Credentials
username = "admin"
password = "fD*(*DSS"
我设法从单个 Tomcat 实例收集数据到 Telegraf,如下所示。
[[inputs.tomcat]]
## URL of the Tomcat server status
url = "http://127.0.0.1:19090/manager/status/all?XML=true"
## HTTP Basic Auth Credentials
username = "admin"
password = "fD*(*DSS"
## Request timeout
# timeout = "5s"
## Optional SSL Config
# ssl_ca = "/etc/telegraf/ca.pem"
# ssl_cert = "/etc/telegraf/cert.pem"
# ssl_key = "/etc/telegraf/key.pem"
## Use SSL but skip chain & host verification
# insecure_skip_verify = false
现在,我想监控多个Tomcat个实例,但是好像没有如何监控多个的例子。有人知道吗?
据我所知有几种方法。
1) 最简单的方法是创建、使用并尝试使用不同的配置文件,您可以在其中创建 tomcat1.conf 将其放置在 /etc/telegraf/telegraf.d/tomcat1.conf
文件夹下,您最终会使用相同的插件您在上面提到过 (inputs.tomcat
),同样,为 tomcat2.conf 等创建另一个配置文件。对于所有 Tomcat 实例。这样您就可以监控多个 Tomcat 实例。看看有没有帮助!这种方法的缺点是,您必须创建 N 号。 tomcatXX
.conf 文件在 telegrad.d 文件夹下(如果您在使用 Ansible/similar 工具配置机器时即时创建这些文件,可以轻松修复 - 模板化文件并遍历 tomcatXX 列表)。
2) 其他方式,这也可能有助于仅使用一个配置文件。
在一个配置文件中,一起使用以下插件来捕获您要查找的内容。 PS:如果您使用 inputs.exec
插件,那么您将从自定义脚本(您将在 inputs.exec
插件中调用)生成的输出必须以已知格式生成输出( InfluxDB/Line Telegraf 和 InfluxDB 可以理解/存储的协议),否则您会看到一些小错误,而您很少看到我的帖子。
exec
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec
http_*
插件(尤其是 http_response
):https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec
filestat
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/filestat
logparser
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/logparser
procstat
插件:https://github.com/influxdata/telegraf/tree/master/plugins/inputs/procstat
查看上面提到的插件链接,了解它们的作用以及如何在 Telegraf 中设置它们,如果您不希望每个插件都有多个 conf 文件,那么您将获得大部分内容Tomcat实例。
https://github.com/influxdata/telegraf/tree/master/plugins/inputs 包含所有输入插件(查看是否有您可能感兴趣的插件)。
看看你是否可以利用如何有效地使用 prefix
属性 来区分来自使用这些插件的各种 metrics/events。
原来答案很简单。只需多次声明 inputs.tomcat
块,如下所示。
[[inputs.tomcat]]
## URL of the Tomcat server status
url = "http://127.0.0.1:19090/manager/status/all?XML=true"
## HTTP Basic Auth Credentials
username = "admin"
password = "fD*(*DSS"
[[inputs.tomcat]]
## URL of the Tomcat server status
url = "http://127.0.0.1:29090/manager/status/all?XML=true"
## HTTP Basic Auth Credentials
username = "admin"
password = "fD*(*DSS"