系统环境:
系统版本:centos7
Prometheus版本:2.20.1
服务器ip:192.168.0.226
客户端ip:192.168.10.62
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.ymlRestart=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端口。
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 #更改目录名
或者使用yum安装
curl -Lo /etc/yum.repos.d/_copr_ibotty-prometheus-exporters.repo https://copr.fedorainfracloud.org/coprs/ibotty/prometheus-exporters/repo/epel-7/ibotty-prometheus-exporters-epel-7.repo
yum install 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上炫酷的展示出来。
tomcat客户端:
1、添加tomcat的监控端口,修改tomcat的配置:/tomcat/bin/catalina.sh文件,添加以下配置。
2、在tomcat的bin目录下,添加config.yaml文件,添加以下文件内容,对象上方的配置文件内容。
---
lowercaseOutputLabelNames: true
lowercaseOutputName: true
rules:
- pattern: 'Catalina<>(\w+):'
name: tomcat_$3_total
labels:
port: "$2"
protocol: "$1"
help: Tomcat global $3
type: COUNTER
- pattern: 'Catalina<>(requestCount|maxTime|processingTime|errorCount):'
name: tomcat_servlet_$3_total
labels:
module: "$1"
servlet: "$2"
help: Tomcat servlet $3 total
type: COUNTER
- pattern: 'Catalina<>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount):'
name: tomcat_threadpool_$3
labels:
port: "$2"
protocol: "$1"
help: Tomcat threadpool $3
type: GAUGE
- pattern: 'Catalina<>(processingTime|sessionCounter|rejectedSessions|expiredSessions):'
name: tomcat_session_$3_total
labels:
context: "$2"
host: "$1"
help: Tomcat session $3 total
type: COUNTER
不知道为什么,上面的内容添加后,有部分数据项无法监控,所以找到了以下的内容
---
lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
blacklistObjectNames: []
rules:
- pattern: 'java.lang<>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:'
name: os_$1_bytes
type: GAUGE
attrNameSnakeCase: true
- pattern: 'java.lang<>((?!process_cpu_time)\w+):'
name: os_$1
type: GAUGE
attrNameSnakeCase: true
Prometheus服务端:
1、进入到prometheus.yml配置文件中,添加以下内容,从文件中监控tomcat进程。
2、在/usr/local/prometheus/目录下新建tomcat.yml文件,指定tomcat客户端的地址及端口。
3、重启Prometheus服务,然后到页面上查看是否已经正常监控;以下为正常状态。
4、大家可以在grafana中添加监控项,炫酷的显示出来监控效果。
问题:
在添加jmx以后,Prometheus监控提示没有正常up
解决:
因为获取时间超时了,可以把超时时间修改的长一点。打开Prometheus配置文件:prometheus.yml
适当调整超时时间,然后重启Prometheus服务,再进行测试。