关于java应用的监控本系列有文章如下:
【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况【运维监控】influxdb 2.0+grafana 监控java 虚拟机以及方法耗时情况【运维监控】Prometheus+grafana监控tomcat运行情况【运维监控】Prometheus+grafana监控spring boot 3运行情况

  • 本示例是通过telegraf拉取tomcat的监控指标数据到influxdb中,利用influxdb的dashboard模板来监控tomcat的运行情况。
  • 本示例使用到的组件均是最新的,下文中会有具体版本说明,linux环境是centos。
  • 本示例分为四个部分,即influxdb、telegra、tomcat的部署和三者集成的监控tomcat。
  • 本文旨在说明三者如何使用,不涉及各自组件的介绍,如果需要使用到本文的,肯定都有了解。

说明:本示例仅仅是为了展示三者结合使用,故没有考虑集群部署以及实际环境的使用,都部署在server4上,实际的使用则没有这样的要求。telegraf需要收集tomcat的运行指标,则需要一起部署。

该文章太长,故分成2个部分
【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(2)【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(完整版)

一、部署influxdb

1、下载

下载地址:https://docs.influxdata.com/influxdb/v2/install/?t=Linux#manually-download-and-install-the-influxd-binary
下载版本:influxdb2-2.7.10_linux_amd64.tar.gz

2、解压

[alanchan@server4 influxdb2-2.7.10]$ tar -zxvf ./influxdb2-2.7.10_linux_amd64.tar.gz
[alanchan@server4 influxdb2-2.7.10]$ cd /usr/local/bigdata/influxdb2-2.7.10
[alanchan@server4 influxdb2-2.7.10]$ ll
total 8
drwxr-xr-x 3 alanchan root 4096 Aug 16 20:25 etc
drwxr-xr-x 5 alanchan root 4096 Aug 16 20:25 usr
[alanchan@server4 local]$ cd /usr/local/bigdata/influxdb2-2.7.10/usr/bin
[alanchan@server4 bin]$ ll
total 117040
-rwxr-xr-x 1 alanchan root 119847176 Aug 16 20:26 influxd

3、启动

[alanchan@server4 bin]$ nohup ./influxd

4、验证

验证方式可以查看进程也可以通过浏览器进行,本示例介绍的是浏览器,也即通过web UI的方式。

在浏览器输入地址:http://server4:8086/

展示出如下图,则说明部署及启动成功。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_tomcat

5、配置influxdb

在上面启动成功后,则接下来需要进行influxdb的初始化配置,包含用户名、密码、org name、bucket。根据自己的需要填写相应的内容即可,该处的内容后在后面集成grafana的时候有用。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_java_02


作者填写后的内容如下图所示。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_运维_03


填写完成后点击continue按钮,则进入下图所示页面。

  • 特别提醒,下图中所示的token非常有用,在与grafana集成的时候要用到。当然,后面也可以进行二次生成,但意义已经不同,建议此处将其保存下来。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_java_04

auaiRUmK30GknpatPFig0TM2i7-8jvsQ_kqIBLF2nNOnmza-nFt2w9XIbOHbfAxaWA13kRefqfAxL2rmivRt7w==

然后点击快速开始,进入下面页面,可以看到数据探索,已经可以看到我们初始化的bucket了。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_java_05

6、简单试用

选择init_bucket,选择相应的字段,然后提交查看数据即可。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_运维监控_06


选择Dashboard,查看influxdb默认的dashboard,图示如下。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_java_07


至此,已经完成了influxdb的部署及简单验证。

二、部署telegraf

1、下载

下载地址:https://dl.influxdata.com/telegraf/releases/telegraf-1.31.3_linux_amd64.tar.gz
下载版本:telegraf-1.31.3_linux_amd64.tar.gz

2、解压

[alanchan@server4 bin]$ tar xf telegraf-1.31.3_linux_amd64.tar.gz
[alanchan@server4 bin]$ cd /usr/local/bigdata/telegraf-1.31.3/usr/bin
[alanchan@server4 bin]$ ll
total 239084
-rwxr-xr-x 1 alanchan root 244813976 Aug 12 22:55 telegraf

至此已经完成了telegraf的部署。

三、tomcat部署及配置修改

1、tomcat部署

此处略,本示例使用的tomcat是本机,机器ip及地址、版本如下

[alanchan@server4 apache-tomcat-8.5.30]$ pwd
/usr/local/apache-tomcat-8.5.30

2、tomcat配置修改

1)、修改tomcat-users.xml

增加tomcat外部访问用户,apache-tomcat-8.5.30/conf/tomcat-users.xml

[alanchan@server4 conf]$ pwd
/usr/local/apache-tomcat-8.5.30/conf

<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
	<role rolename="manager-gui"/>
	<role rolename="manager-script"/>
	<role rolename="manager-jmx"/>
	<role rolename="manager-status"/>
	
	<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>

2)、修改context.xml

修改 apache-tomcat-8.5.30/webapps/manager/META-INF/META-INF/ 目录下的 context.xml 文件

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+"

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

3、验证

完成上述配置后,重启tomcat,启动成功后,在浏览器地址栏中输入如下地址:http://server4:8080/manager/status/all?XML=true

出现如下图所示,则表示授权基本成功。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_运维_08


在上图中输入配置的tomcat/tomcat账号密码后,出现如下页面,则表示tomcat的配置成功。

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)_tomcat_09


如果没有正确的配置,可能出现403未授权错误。