Skip to content

Latest commit

 

History

History
88 lines (82 loc) · 3.55 KB

install_agent.md

File metadata and controls

88 lines (82 loc) · 3.55 KB

#Prometheus Agent 安装手册

Prometheus 提供了一个主动采集指标的标准,相应的软件只需要自己暴露/metrics接口即可,一些主流的软件Prometheus官方提供了相应的agent实现,可从Prometheus官方下载相应agent的最近release二进制文件运行即可。

Host

Prometheus官方 node_exporter

  • 下载对应操作系统的最新release版本
  • 运行node_exporter
nohup ./node_exporter > app.log 2>&1 & 
  • 查看默认提供的9100端口,能看到所暴露的指标数据

Mysql

Prometheus官方 mysqld_exporter

  • 下载对应操作系统的最新release版本
  • 需要在被监控数据库中新建监控用户并授权
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'your_password';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
  • 新建my.cnf配置文件
[client]
user=exporter
password=your_password
host=127.0.0.1
  • 运行exporter
nohub ./mysqld_exporter --config.my-cnf="my.cnf" > app.log 2>&1 &
  • 查看提供的9104端口,能看到所暴露的指标数据

Redis

官方并没有提供Redis的exporter,可使用较流行的redis_exporter

  • 下载对应操作系统的最新release版本
  • 运行redis_exporter
nohup ./redis_exporter --redis.addr="redis://localhost:6379" --redis.password="prom_pwd" > app.log 2>&1 &
  • 查看提供的9121端口,能看到所暴露的指标数据

Tomcat & Jmx

Prometheus官方 jmx_exporter 下载最新的source并编译jar包,这里提供一个编译好的0.12.0版本的包 jmx_prometheus_javaagent-0.12.0.jar

tomcat war 部署方式监控,这种方式直接在tomcat里面加上exporter的jar包修改catalina.sh,启动并暴露指标
1、新建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

2、把config.yaml和jmx_prometheus_javaagent-0.12.0.jar放到 $TOMCAT_PATH/bin下面
3、修改$TOMCAT_PATH/bin下的catalina.sh文件,在 JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS" 后面加上一句

JAVA_OPTS="$JAVA_OPTS -javaagent:$PWD/jmx_prometheus_javaagent-0.12.0.jar=9151:$PWD/config.yaml"

4、最后startup.sh启动tomcat,可在提供的9151端口上查到tomcat和jmx的相关指标