grafana+prometheus+tomcat 监控tomcat

一、前提

1、tomcat作为java项目首选的部署容器。但是,在做测试,或者是在运维管理生产服务器的时候,想要监控tomcat的实时运行情况,却不是那么容易的

2、grafana(已安装和prometheus在同一台)-->前端数据展示 

3、prometheus(已安装)-->实时数据库存储数据 

二、获取jvm_exporter

(1)浏览器访问:

https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/

(2)页面中显示了多个版本,可以根据自己需要选择版本,找到你需要的jar包下载地址:

https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.14.0/jmx_prometheus_javaagent-0.14.0.jar

(3)进入tomcat服务器,执行下面命令,下载jvm_exporter:

http://wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.14.0/jmx_prometheus_javaagent-0.14.0.jar

(4)拷贝下载的jar包,到tomcat的bin文件夹中

三、配置tomcat.yaml文件

在tomcat的bin文件夹下,新建tomcat.yaml文件,黏贴

---   
lowercaseOutputLabelNames: true
lowercaseOutputName: true
rules:
- pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+):'
  name: tomcat_$3_total
  labels:
    port: "$2"
    protocol: "$1"
  help: Tomcat global $3
  type: COUNTER
- pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount):'
  name: tomcat_servlet_$3_total
  labels:
    module: "$1"
    servlet: "$2"
  help: Tomcat servlet $3 total
  type: COUNTER
- pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount):'
  name: tomcat_threadpool_$3
  labels:
    port: "$2"
    protocol: "$1"
  help: Tomcat threadpool $3
  type: GAUGE
- pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions):'
  name: tomcat_session_$3_total
  labels:
    context: "$2"
    host: "$1"
  help: Tomcat session $3 total
  type: COUNTER
- pattern: ".*"

四、修改catalina.sh文件

进入tomcat的bin文件夹,编辑catalina.sh文件,增加如下:

JAVA_OPTS="-javaagent:./jmx_prometheus_javaagent-0.14.0.jar=3088:./tomcat.yaml"
# jmx_prometheus_javaagent-0.14.0.jar 这个根据你自己下载的jvm_export修改
# 30188 监控的端口,自行设置

五、验证tomcat监控

执行./startup.sh 看能否正常启动, 如果没有报错,可以执行

curl -s http://localhost:3088

能正常返回信息,就说明监控正常

六、修改prometheus.yml文件

在prometheus解压后的文件夹中,找到prometheus.yml文件,编辑,在最后面添加

vim prometheus.yml
- job_name: 'tomcat_export'
  static_configs:
- targets: ['被监控机器ip:3088']
# 30188是前面在tomcat中配置的监控端口

注意:如果被监控的服务器和 安装了prometheus的机器不是同一台,还需要保证机器间网络和防火墙通畅

七、启动prometheus

1、在prometheus解压的文件夹中,执行:./prometheus

2、验证prometheus  

在浏览器中访问:http://prometheus机器ip:9090

注意:prometheus机器的防火墙要开放9090端口,浏览器才能正常访问

想查看prometheus监控jvm信息,可以在界面中执行,jvm_info

八、启动grafana

1、在安装了grafana的机器上,执行:systemctl restart grafana-server

2、配置grafana+prometheus

浏览器访问 http://grafana机器ip:3000, 用admin\admin登录

添加datasource,选择prometheus,配置信息,保存

引入模板

可以输入:8563

或者可以用:3457

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、prometheus简介 Prometheus是一个开源的系统监控和告警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF维护管理的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控prometheus支持多种exporter采集数据,还支持通过pushgateway进行数据上报,Prometheus再性能上可支撑上万台规模的集群。 二、prometheus架构图 三、prometheus组件介绍 1.Prometheus Server: 用于收集和存储时间序列数据。 2.Client Library: 客户端库,检测应用程序代码,当Prometheus抓取实例的HTTP端点时,客户端库会将所有跟踪的metrics指标的当前状态发送到prometheus server端。 3.Exporters: prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端 4.Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警,常见的接收方式有:电子邮件,微信,钉钉, slack等。 5.Grafana监控仪表盘 6.pushgateway: 各个目标主机可上报数据到pushgatewy,然后prometheus server统一从pushgateway拉取数据。 四、课程亮点 五、效果图展示 六、讲师简介 先超(lucky):高级运维工程师、资深DevOps工程师,在互联网上市公司拥有多年一线运维经验,主导过亿级pv项目的架构设计和运维工作 主要研究方向: 1.云计算方向:容器 (kubernetes、docker),虚拟化(kvm、Vmware vSphere),微服务(istio),PaaS(openshift),IaaS(openstack)等2.系统/运维方向:linux系统下的常用组件(nginx,tomcat,elasticsearch,zookeeper,kafka等),DevOps(Jenkins+gitlab+sonarqube+nexus+k8s),CI/CD,监控(zabbix、prometheus、falcon)等 七、课程大纲

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值