prometheus监控tomcat nginx

监控tomcat

https://github.com/nlighten/tomcat_exporter

 cat Dockerfile 
#FROM tomcat:8.5.73-jdk11-corretto 
FROM tomcat:8.5.73

LABEL maintainer="jack 2973707860@qq.com"

ADD server.xml /usr/local/tomcat/conf/server.xml 

RUN mkdir /data/tomcat/webapps -p
ADD myapp /data/tomcat/webapps/myapp
ADD metrics.war /data/tomcat/webapps 
ADD simpleclient-0.8.0.jar  /usr/local/tomcat/lib/
ADD simpleclient_common-0.8.0.jar /usr/local/tomcat/lib/
ADD simpleclient_hotspot-0.8.0.jar /usr/local/tomcat/lib/
ADD simpleclient_servlet-0.8.0.jar /usr/local/tomcat/lib/
ADD tomcat_exporter_client-0.0.12.jar /usr/local/tomcat/lib/


#ADD run_tomcat.sh /apps/tomcat/bin/

EXPOSE 8080 8443 8009

#CMD ["/apps/tomcat/bin/catalina.sh","run"]

#CMD ["/apps/tomcat/bin/run_tomcat.sh"]

镜像制作并上传到harbor:root@k8s-master01:~/prometheus-files/case/app-monitor-case/tomcat/tomcat-image# bash build-command.sh

运行容器并访问:docker run -d --name tomcat -p 8080:8080 harbor.luohw.net/luohw/tomcat-app1:v1
在这里插入图片描述

http://192.168.1.27:31080/metrics/

配置Prometheus添加tomcat

  • job_name: tomcat-exporter
    static_configs:
    • targets: [“192.168.122.12:31080”]

监控redis

redis-exporter项目地址:https://github.com/oliver006/redis_exporter

应用yaml文件
root@k8s-master01:~/prometheus-files/case/app-monitor-case/redis/yaml# kubectl apply -f .

查看
root@k8s-master01:~/prometheus-files/case/app-monitor-case/redis/yaml# kubectl get svc -n studylinux-net
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
redis-exporter-service NodePort 10.100.146.29 9121:31082/TCP 377d
redis-redis-service NodePort 10.100.203.167 6379:31081/TCP 377d
在这里插入图片描述

访问http://192.168.1.27:31082/metrics

Prometheus添加配置

Grafana导入模板,查看监控数据。模板ID:14615
在这里插入图片描述

监控mysql

安装mysql
apt install mysql-server -y
mysql授权

CREATE USER 'mysql-exporter'@'localhost' IDENTIFIED BY 'Admin@123' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql-exporter'@'localhost';

mysql -u mysql-exporter -p -h localhost; #验证权限

部署mysql-exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar xf mysqld_exporter-0.14.0.linux-amd64.tar.gz
mv mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter /usr/bin/
mysqld_exporter -h #查看帮助信息

root@prometheus-node-02:~# mkdir /etc/mysqld-exporter
root@prometheus-node-02:~# cat /etc/mysqld-exporter/.my.cnf
[client]
#指定连接mysql的账户和密码
user = mysql-exporter
password = Admin@123

准备service文件
root@prometheus-node-02:~# cat /lib/systemd/system/mysql-exporter.service
[Unit]
Description=Prometheus Node Exporter
After=network.target

[Service]
ExecStart=/usr/bin/mysqld_exporter --config.my-cnf=/etc/mysqld-exporter/.my.cnf --web.listen-address=192.168.1.21:9104

[Install]
WantedBy=multi-user.target

启动服务
systemctl daemon-reload
systemctl start mysql-exporter.service
systemctl status mysql-exporter.service
systemctl enable mysql-exporter.service

访问
在这里插入图片描述

Prometheus添加配置

监控nginx

机器:192.168.1.22

git clone https://github.com/vozlt/nginx-module-vts.git
tar xf nginx-module-vts-0.2.1.tar.gz -C /usr/local/src/
cp  nginx-moduler-vts /usr/local/src 

编译安装 nginx
wget http://nginx.org/download/nginx-1.22.1.tar.gz
tar xvf nginx-1.22.1.tar.gz
cd nginx-1.22.1/

./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-file-aio \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module \
--add-module=/usr/local/src/nginx-module-vts/

make && make install

编辑nginx配置文件

cd /usr/local/nginx/

http {
    vhost_traffic_status_zone;	#启用状态页

    server {

        ...

        location /status {	#状态页面location配置
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;
        }
    }
}

启动nginx: root@k8s-etcd02:/usr/local/nginx/sbin# ./nginx

访问状态页测试
在这里插入图片描述
在这里插入图片描述

安装nginx export ,监听9913端口

wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
tar xf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
cp nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter /usr/bin/

nginx-vts-exporter -nginx.scrape_uri http://192.168.1.22/status/format/json & #启动

http://192.168.1.22:9913/metrics
在这里插入图片描述

1.25配置prometheus

  - job_name: "nginx"
    static_configs:
      - targets: ["192.168.1.22:9913"]

导入模板:2949

在这里插入图片描述

监控ingress

在这里插入图片描述
http://192.168.1.24:61254/metrics
在这里插入图片描述

Prometheus监控案例之blackbox-exporter

blackbox-exporter项目地址:https://github.com/prometheus/blackbox_exporter
安装服务器:192.168.1.22

wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/blackbox_exporter-0.23.0.linux-amd64.tar.gz

解压到apps

root@k8s-etcd02:/apps# systemctl cat blackbox-exporter.service
[Unit]
Description=Prometheus Blackbox Exporter
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/apps/blackbox_exporter/blackbox_exporter
–config.file=/apps/blackbox_exporter/blackbox.yml
–web.listen-address=:9115
Restart=on-failure
[Install]
WantedBy=multi-user.target

1.25 Prometheus添加配置

  - job_name: http-status
    metrics_path: /probe	#指定指标接口
    params:	#指定查询参数,在Prometheus向target发送Get请求获取指标数据时,会传递到url上
      module: [http_2xx]
    static_configs:
    - targets:
      - http://www.baidu.com
      - http://www.jd.com
      - http://www.magedu.com
      labels:	#自定义标签,附加在target上
        group: web
    relabel_configs:
    #将标签__address__的值赋值给__param_target标签,以__param开头的标签也会作为查询参数传递Prometheus的Get请求,作用和上面的params配置类似
    - source_labels: [__address__]
      target_label: __param_target
    #将标签__param_target的值赋值给instance标签
    - source_labels: [__param_target]
      target_label: instance
    #将标签__address__的值修改给balckbox-expoter的地址
    - target_label: __address__
      replacement: 192.168.1.22:9115
   #以 http://www.baidu.com为例,最后其对应target的地址就是http://192.168.1.22:9115/probe?module=http_2xx&target=http://www.baidu.com
   
  - job_name: icmp-status  #icmp监控
    metrics_path: /probe
    params:
      module: [icmp]
    static_configs:
    - targets:
      - 192.168.1.1
      - 192.168.1.100
      labels:
        group: icmp
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: ip
    - target_label: __address__
      replacement: 192.168.1.22:9115
      
  - job_name: tcp-port-status   #端口监控
    metrics_path: /probe
    params:
      module: [tcp_connect]
    static_configs:
    - targets:
      - 18.167.84.165:22
      - 192.168.1.26:6443
      labels:
        group: tcp-port-status
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: ip
    - target_label: __address__
      replacement: 192.168.1.22:9115

在这里插入图片描述
在这里插入图片描述
grafana 9115添加

pushgateway

wget https://github.com/prometheus/pushgateway/releases/download/v1.5.1/pushgateway-1.5.1.linux-amd64.tar.gz
tar xvf pushgateway-1.5.1.linux-amd64.tar.gz
root@k8s-etcd02:~/pushgateway-1.5.1.linux-amd64# mv pushgateway /usr/bin/

root@prometheus-server-01:~# cat /lib/systemd/system/pushgateway.service
[Unit]
Description=Prometheus Pushgateway
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=pushgateway --web.listen-address=:9091
Restart=on-failure

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start pushgateway
systemctl status pushgateway
systemctl enable pushgateway

在这里插入图片描述
1.25 Prometheus添加配置

  • job_name: pushgateway
    honor_labels: true
    static_configs:
    • targets: [“192.168.1.22:9091”]

测试推送数据
echo “my_metrica 2022”| curl --data-binary @- http://192.168.1.22:9091/metrics/job/test-job

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Prometheus监控Tomcat,可以按照以下步骤进行配置和设置: 1. 安装和配置Prometheus:首先需要安装和配置Prometheus服务器。可以从Prometheus官方网站下载并安装Prometheus,然后进行基本的配置,包括设置监听地址和端口、配置目标(target)等。 2. 导入Tomcat监控指标:Prometheus本身不会主动收集Tomcat监控数据,需要使用Exporter来导出Tomcat的指标数据。可以使用Tomcat Exporter来实现这一功能。安装和配置Tomcat Exporter,并确保它与Tomcat服务器正常连接。 3. 配置Prometheus的目标:在Prometheus的配置文件(prometheus.yml)中,添加Tomcat Exporter作为一个目标。指定Tomcat Exporter的地址和端口,以便Prometheus可以与Tomcat Exporter建立连接并获取指标数据。 4. 重启Prometheus服务器:在修改完配置文件后,需要重新启动Prometheus服务器,使其加载新的配置并开始收集Tomcat监控数据。 5. 访问Prometheus界面:通过浏览器访问Prometheus服务器的地址和端口(默认为http://localhost:9090),进入Prometheus的用户界面。 6. 查询和可视化Tomcat指标:在Prometheus界面上,可以使用PromQL(Prometheus Query Language)查询语言来查询和过滤Tomcat的指标数据。可以根据需要创建查询和图表,以直观地展示Tomcat监控数据。 通过以上步骤,就可以使用Prometheus监控Tomcat服务器,并通过Prometheus界面来查看Tomcat的指标数据、进行查询和可视化展示。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值