Prometheus 安装部署监控JMX

tech2025-11-03  6

系统环境:

系统版本:centos7

Prometheus版本:2.20.1

服务器ip:192.168.0.226

客户端ip:192.168.10.62

一、服务器端系统安装:(192.168.0.226)

1、将下载好的包文件上传到服务器并解压:

cd /usr/local/

rz    #上传包文件

tar -zxvf prometheus-2.20.1.linux-amd64.tar.gz

mv prometheus-2.20.1.linux-amd64 prometheus       #更改目录名

 2、设置目录权限,并加入到systemd服务中

groupadd prometheus useradd -g prometheus -s /sbin/nologin prometheus chown -R prometheus:prometheus /usr/local/prometheus/

vim /usr/lib/systemd/system/prometheus.service

chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service

以下为配置prometheus.service文件内容

[Unit]

#Description=Prometheus

Documentation=https://prometheus.io/

#After=network.target

[Service]

#Type=simple

#User=prometheus

ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml

Restart=on-failure

[Install]

WantedBy=multi-user.target

3、修改Prometheus的配置文件(注意配置文件的格式,缩进格式很重要)

vim /usr/local/prometheus/prometheus.yml

- job_name: 'prometheus'

    # metrics_path defaults to '/metrics'     # scheme defaults to 'http'.

    static_configs:     - targets: ['localhost:9090']        #监控本机

  - job_name: 'linux-server01'

    scrape_interval: 10s

    static_configs:

      - targets: ['192.168.10.62:9100']         #监控客户机及端口

        labels:

          instance: 192.168.10.62

 4、启动Prometheus服务

systemctl start prometheus

systemctl enable prometheus

 5、浏览器访问测试:

显示已经监测到本机的9090端口。

二、客户端安装 (192.168.10.62)

1、将下载好的包文件上传到服务器并解压:

cd /usr/local/

rz    #上传包文件

tar -zxvf node_exporter-1.0.1.linux-amd64.tar.gz 

mv node_exporter-1.0.1.linux-amd64 node_exporter      #更改目录名

2、 设置目录权限,并加入到systemd服务中

groupadd prometheus useradd -g prometheus -s /sbin/nologin prometheus chown -R prometheus:prometheus /usr/local/node_exporter vim /usr/lib/systemd/system/node_exporter.service

以下为配置文件node_exporter.service内容

[Unit]

Description=node_exporter

Documentation=https://prometheus.io/

After=network.target

[Service]

Type=simple

User=prometheus

ExecStart=/usr/local/node_exporter/node_exporter

Restart=on-failure

[Install] 

WantedBy=multi-user.target

3、启动客户端,并设置开机自启。

systemctl enable node_exporter systemctl start node_exporter  

 4、另外,node_exporter的默认端口是9100/tcp,如果想修改默认端口,可以修改启动参数,然后添加到启动文件中即可。

       到服务端网页上刷新查看客户端状态

 好的,Prometheus的服务端和客户端就已经安装完毕了,下篇文章将介绍,监控图形如何在grafana上炫酷的展示出来。

三、Prometheus监控tomcat服务

tomcat客户端:

1、添加tomcat的监控端口,修改tomcat的配置:/tomcat/bin/catalina.sh文件,添加以下配置。

 2、在tomcat的bin目录下,添加config.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

 Prometheus服务端:

 1、进入到prometheus.yml配置文件中,添加以下内容,从文件中监控tomcat进程。 

2、在/usr/local/prometheus/目录下新建tomcat.yml文件,指定tomcat客户端的地址及端口。

3、重启Prometheus服务,然后到页面上查看是否已经正常监控;以下为正常状态。

 4、大家可以在grafana中添加监控项,炫酷的显示出来监控效果。

 

四、监控jmx时,错误及解决

问题:

在添加jmx以后,Prometheus监控提示没有正常up

解决:

因为获取时间超时了,可以把超时时间修改的长一点。打开Prometheus配置文件:prometheus.yml

适当调整超时时间,然后重启Prometheus服务,再进行测试。

 

最新回复(0)