1. 首页 > 软件安装教程 > 正文

Pinpoint安装配置-Pinpoint链路追踪安装配置_升级迁移详细过程

1. Pinpoint概述与环境规划

Pinpoint是一个开源的APM(应用性能监控)工具,用于监控和分析分布式系统的性能。Pinpoint支持Java、PHP、Python等多种编程语言,提供了丰富的可视化界面和分析工具。更多学习教程www.fgedu.net.cn

1.1 Pinpoint版本说明

Pinpoint目前主要版本为2.x系列,本教程以Pinpoint 2.5.0为例进行详细讲解。Pinpoint 2.x版本相比之前版本在性能、稳定性和功能方面都有显著提升,支持更多的编程语言和框架。

# 查看Pinpoint版本
$ cat /data/pinpoint/pinpoint-web/WEB-INF/classes/pinpoint-web.properties | grep version
pinpoint.version=2.5.0

# 查看系统版本
$ cat /etc/os-release
NAME=”Oracle Linux Server”
VERSION=”8.9″
ID=”ol”
PRETTY_NAME=”Oracle Linux Server 8.9″

# 查看内核版本
$ uname -r
5.4.17-2136.302.7.2.el8uek.x86_64

# 查看Java版本
$ java -version
openjdk version “11.0.18” 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Oracle-10513082)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Oracle-10513082, mixed mode, sharing)

1.2 环境规划

本次安装环境规划如下:

Pinpoint服务器:
pinpoint01.fgedu.net.cn (192.168.1.101) – Pinpoint主服务器
pinpoint02.fgedu.net.cn (192.168.1.102) – Pinpoint备用服务器

Pinpoint版本:2.5.0
存储后端:HBase 2.4.17
安装方式:二进制安装
数据存储:HBase

2. 硬件环境要求

Pinpoint作为APM工具,对硬件资源要求根据监控目标数量和数据量而定。学习交流加群风哥微信: itpux-com

2.1 物理主机环境要求

# Pinpoint服务器要求
– CPU:至少8核
– 内存:至少32GB
– 磁盘:系统盘120GB SSD + 数据盘1TB SSD

# HBase服务器要求
– CPU:至少16核
– 内存:至少64GB
– 磁盘:系统盘120GB SSD + 数据盘2TB SSD

# 检查Pinpoint服务器资源
# free -h
total used free shared buff/cache available
Mem: 32G 8.4G 22G 512M 3.6G 23G
Swap: 8G 0B 8G

# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 120G 20G 100G 17% /
/dev/sdb1 1TB 50G 950G 5% /data

生产环境建议:Pinpoint服务器至少2个,实现高可用。HBase集群至少3个节点,实现数据冗余。建议使用SSD存储以提高I/O性能。网络带宽建议10Gbps以上,以支持大量数据传输。

2.2 vSphere虚拟主机环境要求

虚拟机配置:
– Pinpoint服务器:
– vCPU:8核
– 内存:32GB
– 磁盘:系统盘120GB SSD + 数据盘1TB SSD
– 网络:VMXNET3网卡,10Gbps网络

– HBase服务器:
– vCPU:16核
– 内存:64GB
– 磁盘:系统盘120GB SSD + 数据盘2TB SSD
– 网络:VMXNET3网卡,10Gbps网络

资源池配置:
– CPU预留:Pinpoint服务器4GHz,HBase服务器8GHz
– 内存预留:Pinpoint服务器16GB,HBase服务器32GB
– 内存限制:Pinpoint服务器32GB,HBase服务器64GB
– CPU份额:正常
– 内存份额:正常

2.3 云平台主机环境要求

云主机规格(阿里云/腾讯云/华为云):
– Pinpoint服务器:
– 实例规格:ecs.g6.4xlarge或同等规格
– vCPU:16核
– 内存:64GB
– 系统盘:SSD云盘 120GB
– 数据盘:SSD云盘 1TB
– 网络带宽:10Gbps以上

– HBase服务器:
– 实例规格:ecs.g6.8xlarge或同等规格
– vCPU:32核
– 内存:128GB
– 系统盘:SSD云盘 120GB
– 数据盘:SSD云盘 2TB
– 网络带宽:10Gbps以上

存储配置:
– OSS对象存储:用于存储配置备份
– NAS文件存储:用于共享配置文件
– 云盘快照:定期备份数据

3. 操作系统环境准备

在安装Pinpoint之前,需要对操作系统进行必要的配置和优化。

3.1 操作系统版本检查

# 检查操作系统版本
# cat /etc/os-release
NAME=”Oracle Linux Server”
VERSION=”8.9″
ID=”ol”
PRETTY_NAME=”Oracle Linux Server 8.9″

# 检查内核版本
# uname -r
5.4.17-2136.302.7.2.el8uek.x86_64

# 检查SELinux状态
# getenforce
Enforcing

# 检查防火墙状态
# systemctl status firewalld
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)

3.2 依赖服务安装

# 安装依赖包
# dnf install -y wget curl tar gzip java-11-openjdk-devel

# 关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld

# 关闭SELinux
# setenforce 0
# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config

# 创建Pinpoint用户
# useradd -r -s /bin/false pinpoint

# 创建目录结构
# mkdir -p /data/pinpoint/{config,bin,data}
# chown -R pinpoint:pinpoint /data/pinpoint

3.3 安装HBase

# 下载HBase
# wget https://downloads.apache.org/hbase/2.4.17/hbase-2.4.17-bin.tar.gz

# 解压文件
# tar -xzf hbase-2.4.17-bin.tar.gz
# mv hbase-2.4.17 /data/hbase

# 创建HBase用户
# useradd -r -s /bin/false hbase
# chown -R hbase:hbase /data/hbase

# 配置HBase
# vi /data/hbase/conf/hbase-site.xml
hbase.rootdir
hdfs://localhost:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
localhost
hbase.zookeeper.property.dataDir
/data/hbase/zookeeper

# 启动HBase
# su – hbase -c “/data/hbase/bin/start-hbase.sh”

# 验证安装
# su – hbase -c “/data/hbase/bin/hbase shell”
hbase(main):001:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load

4. Pinpoint安装配置

完成环境准备后,开始安装Pinpoint。

4.1 安装Pinpoint Collector

# 下载Pinpoint
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-collector-2.5.0.tar.gz

# 解压文件
# tar -xzf pinpoint-collector-2.5.0.tar.gz
# mv pinpoint-collector-2.5.0 /data/pinpoint/collector

# 配置Pinpoint Collector
# vi /data/pinpoint/collector/WEB-INF/classes/pinpoint-collector.properties
pinpoint.zookeeper.address=localhost:2181

# 创建systemd服务文件
# vi /etc/systemd/system/pinpoint-collector.service
[Unit]
Description=Pinpoint Collector
After=network.target

[Service]
User=pinpoint
ExecStart=/data/pinpoint/collector/bin/start.sh
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

# 启动Pinpoint Collector
# systemctl daemon-reload
# systemctl start pinpoint-collector
# systemctl enable pinpoint-collector

# 验证安装
# systemctl status pinpoint-collector
# curl http://localhost:9994

4.2 安装Pinpoint Web

# 下载Pinpoint Web
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-web-2.5.0.tar.gz

# 解压文件
# tar -xzf pinpoint-web-2.5.0.tar.gz
# mv pinpoint-web-2.5.0 /data/pinpoint/web

# 配置Pinpoint Web
# vi /data/pinpoint/web/WEB-INF/classes/pinpoint-web.properties
pinpoint.zookeeper.address=localhost:2181

# 创建systemd服务文件
# vi /etc/systemd/system/pinpoint-web.service
[Unit]
Description=Pinpoint Web
After=network.target

[Service]
User=pinpoint
ExecStart=/data/pinpoint/web/bin/start.sh
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

# 启动Pinpoint Web
# systemctl daemon-reload
# systemctl start pinpoint-web
# systemctl enable pinpoint-web

# 验证安装
# systemctl status pinpoint-web
# curl http://localhost:8080

4.3 初始化HBase表

# 下载Pinpoint HBase Schema
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-hbase-schema-2.5.0.tar.gz

# 解压文件
# tar -xzf pinpoint-hbase-schema-2.5.0.tar.gz
# mv pinpoint-hbase-schema-2.5.0 /data/pinpoint/hbase-schema

# 初始化HBase表
# su – hbase -c “/data/pinpoint/hbase-schema/bin/init-hbase.sh”

# 验证表创建
# su – hbase -c “/data/hbase/bin/hbase shell”
hbase(main):001:0> list
TABLE
AgentInfo
AgentStatV2
ApplicationIndex
ApplicationMapStatisticsCaller_Ver2
ApplicationMapStatisticsCallee_Ver2
ApplicationStatAggre
ApplicationTraceIndex
HostApplicationMap_Ver2
StringMetaData
Trace
TraceV2

5. Pinpoint配置优化

为了提高Pinpoint的性能和稳定性,需要进行一些配置优化。

5.1 Collector配置优化

# 编辑Collector配置
# vi /data/pinpoint/collector/WEB-INF/classes/pinpoint-collector.properties
pinpoint.zookeeper.address=192.168.1.101:2181,192.168.1.102:2181
pinpoint.collector.span.receiver.udp.workers=16
pinpoint.collector.span.receiver.udp.queue.size=10000
pinpoint.collector.span.receiver.tcp.workers=8
pinpoint.collector.span.receiver.tcp.queue.size=10000

# 编辑启动脚本
# vi /data/pinpoint/collector/bin/start.sh
JAVA_OPTS=”-Xms8g -Xmx16g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200″

# 重启Pinpoint Collector
# systemctl restart pinpoint-collector

5.2 Web配置优化

# 编辑Web配置
# vi /data/pinpoint/web/WEB-INF/classes/pinpoint-web.properties
pinpoint.zookeeper.address=192.168.1.101:2181,192.168.1.102:2181
pinpoint.web.admin.password=admin
pinpoint.web.application.map.max.nodes=500
pinpoint.web.application.map.max.connections=1000

# 编辑启动脚本
# vi /data/pinpoint/web/bin/start.sh
JAVA_OPTS=”-Xms4g -Xmx8g -XX:MaxMetaspaceSize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200″

# 重启Pinpoint Web
# systemctl restart pinpoint-web

5.3 高可用配置

# 配置Zookeeper集群
# vi /data/zookeeper/conf/zoo.cfg
tickTime=2000
dataDir=/data/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.1.101:2888:3888
server.2=192.168.1.102:2888:3888

# 启动Zookeeper
# systemctl start zookeeper

# 配置Pinpoint Collector
# vi /data/pinpoint/collector/WEB-INF/classes/pinpoint-collector.properties
pinpoint.zookeeper.address=192.168.1.101:2181,192.168.1.102:2181

# 配置Pinpoint Web
# vi /data/pinpoint/web/WEB-INF/classes/pinpoint-web.properties
pinpoint.zookeeper.address=192.168.1.101:2181,192.168.1.102:2181

# 重启Pinpoint服务
# systemctl restart pinpoint-collector pinpoint-web

6. Pinpoint Agent配置

Pinpoint Agent用于收集应用的性能数据。

6.1 配置Java Agent

# 下载Pinpoint Agent
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.0/pinpoint-agent-2.5.0.tar.gz

# 解压文件
# tar -xzf pinpoint-agent-2.5.0.tar.gz
# mv pinpoint-agent-2.5.0 /data/pinpoint/agent

# 配置Java Agent
# vi /data/pinpoint/agent/pinpoint.config
profiler.collector.ip=192.168.1.101
profiler.collector.tcp.port=9994
profiler.collector.udp.port=9995
profiler.service.name=demo-application
profiler.application.name=demo-app

# 启动应用时添加Agent
# java -javaagent:/data/pinpoint/agent/pinpoint-bootstrap-2.5.0.jar -Dpinpoint.agentId=app1 -Dpinpoint.applicationName=demo-app -jar demo-application.jar

6.2 配置其他语言Agent

# PHP Agent配置
# 下载Pinpoint PHP Agent
# wget https://github.com/pinpoint-apm/pinpoint-php-agent/archive/refs/tags/v1.1.3.tar.gz

# 解压文件
# tar -xzf v1.1.3.tar.gz
# cd pinpoint-php-agent-1.1.3

# 编译安装
# ./install.sh

# 配置PHP Agent
# vi /etc/php.ini
[pinpoint]
extension=pinpoint_php.so
pinpoint_agent_id=php-app-1
pinpoint_application_name=php-demo
pinpoint_collector_host=192.168.1.101
pinpoint_collector_port=9994

# 重启PHP服务
# systemctl restart php-fpm

# Python Agent配置
# 下载Pinpoint Python Agent
# pip install pinpoint

# 配置Python Agent
# vi pinpoint.ini
[pinpoint]
agent_id=python-app-1
application_name=python-demo
collector_host=192.168.1.101
collector_port=9994

# 启动应用时添加Agent
# python -m pinpoint demo.py

7. Pinpoint UI配置

Pinpoint UI用于可视化性能监控数据。

7.1 访问Pinpoint UI

# 访问Pinpoint UI
# 打开浏览器访问 http://pinpoint01.fgedu.net.cn:8080

# 登录Pinpoint UI
# 初始登录不需要用户名和密码

# 查看应用性能
# 1. 点击左侧菜单的”Applications”
# 2. 选择应用
# 3. 查看性能数据

# 查看链路追踪
# 1. 点击左侧菜单的”Traces”
# 2. 输入查询条件
# 3. 点击”Search”
# 4. 查看追踪详情

7.2 配置UI设置

# 访问Pinpoint UI
# 1. 点击右上角的”Admin”
# 2. 选择”Settings”
# 3. 配置各项设置
# 4. 点击”Save”

8. Pinpoint安全配置

Pinpoint提供了多种安全功能,包括认证、授权、TLS加密等。

8.1 认证配置

# 编辑Pinpoint Web配置
# vi /data/pinpoint/web/WEB-INF/classes/pinpoint-web.properties
pinpoint.web.admin.password=admin123
pinpoint.web.auth.enabled=true
pinpoint.web.auth.userid=admin
pinpoint.web.auth.password=admin123

# 重启Pinpoint Web
# systemctl restart pinpoint-web

# 访问Pinpoint UI
# 打开浏览器访问 http://pinpoint01.fgedu.net.cn:8080
# 输入用户名和密码

8.2 TLS加密配置

# 生成TLS证书
# openssl req -newkey rsa:2048 -nodes -keyout /data/pinpoint/config/key.pem -x509 -days 365 -out /data/pinpoint/config/cert.pem

# 配置Tomcat TLS
# vi /data/pinpoint/web/conf/server.xml




# 重启Pinpoint Web
# systemctl restart pinpoint-web

# 访问Pinpoint UI
# 打开浏览器访问 https://pinpoint01.fgedu.net.cn:8443

9. Pinpoint性能优化

在生产环境中,需要对Pinpoint进行性能优化以提高监控效率。from:www.itpux.com

9.1 Collector性能优化

# 编辑Collector配置
# vi /data/pinpoint/collector/WEB-INF/classes/pinpoint-collector.properties
pinpoint.collector.span.receiver.udp.workers=32
pinpoint.collector.span.receiver.udp.queue.size=20000
pinpoint.collector.span.receiver.tcp.workers=16
pinpoint.collector.span.receiver.tcp.queue.size=20000
pinpoint.collector.stat.receiver.udp.workers=16
pinpoint.collector.stat.receiver.udp.queue.size=10000

# 编辑启动脚本
# vi /data/pinpoint/collector/bin/start.sh
JAVA_OPTS=”-Xms16g -Xmx32g -XX:MaxMetaspaceSize=1024m -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=4″

# 重启Pinpoint Collector
# systemctl restart pinpoint-collector

9.2 HBase性能优化

# 编辑HBase配置
# vi /data/hbase/conf/hbase-site.xml
hbase.rootdir
hdfs://localhost:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
localhost
hbase.zookeeper.property.dataDir
/data/hbase/zookeeper
hbase.regionserver.handler.count
100
hbase.hregion.memstore.flush.size
134217728
hbase.hstore.blockingStoreFiles
10

# 编辑hbase-env.sh
# vi /data/hbase/conf/hbase-env.sh
export HBASE_HEAPSIZE=32g
export HBASE_OPTS=”-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=4″

# 重启HBase
# su – hbase -c “/data/hbase/bin/stop-hbase.sh”
# su – hbase -c “/data/hbase/bin/start-hbase.sh”

9.3 Agent性能优化

# 编辑Agent配置
# vi /data/pinpoint/agent/pinpoint.config
# 采样率配置
profiler.sampling.rate=1

# 缓冲区配置
profiler.buffer.size=10240

# 日志级别
profiler.log.level=info

# 启动应用时添加Agent
# java -javaagent:/data/pinpoint/agent/pinpoint-bootstrap-2.5.0.jar -Dpinpoint.agentId=app1 -Dpinpoint.applicationName=demo-app -jar demo-application.jar

10. Pinpoint升级迁移

本节介绍Pinpoint的版本升级和数据迁移方法。

10.1 Pinpoint版本升级

# 备份Pinpoint配置
# cp -r /data/pinpoint/config /backup/pinpoint-config-$(date +%Y%m%d)

# 停止Pinpoint服务
# systemctl stop pinpoint-collector pinpoint-web

# 下载新版本Pinpoint
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.1/pinpoint-collector-2.5.1.tar.gz
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.1/pinpoint-web-2.5.1.tar.gz

# 解压文件
# tar -xzf pinpoint-collector-2.5.1.tar.gz
# tar -xzf pinpoint-web-2.5.1.tar.gz
# mv pinpoint-collector-2.5.1 /data/pinpoint/collector-new
# mv pinpoint-web-2.5.1 /data/pinpoint/web-new

# 复制配置文件
# cp -r /data/pinpoint/collector/WEB-INF/classes/* /data/pinpoint/collector-new/WEB-INF/classes/
# cp -r /data/pinpoint/web/WEB-INF/classes/* /data/pinpoint/web-new/WEB-INF/classes/

# 替换Pinpoint目录
# mv /data/pinpoint/collector /data/pinpoint/collector-old
# mv /data/pinpoint/web /data/pinpoint/web-old
# mv /data/pinpoint/collector-new /data/pinpoint/collector
# mv /data/pinpoint/web-new /data/pinpoint/web

# 启动Pinpoint服务
# systemctl start pinpoint-collector pinpoint-web

# 验证升级
# curl http://localhost:8080

10.2 Pinpoint数据迁移

# 备份原Pinpoint数据
# su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Export AgentInfo /backup/pinpoint/AgentInfo-$(date +%Y%m%d)”
# su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Export Trace /backup/pinpoint/Trace-$(date +%Y%m%d)”

# 在新服务器上恢复数据
# su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Import AgentInfo /backup/pinpoint/AgentInfo-20230405”
# su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Import Trace /backup/pinpoint/Trace-20230405”

# 安装Pinpoint
# 重复安装步骤

# 启动Pinpoint服务
# systemctl start pinpoint-collector pinpoint-web

# 验证迁移
# curl http://localhost:8080

11. Pinpoint备份恢复

本节介绍Pinpoint的备份和恢复方法。

11.1 Pinpoint备份

# 创建备份脚本
# vi /data/pinpoint/scripts/backup.sh

#!/bin/bash
BACKUP_DIR=”/backup/pinpoint”
DATE=$(date +%Y%m%d)

# 创建备份目录
mkdir -p $BACKUP_DIR

# 停止Pinpoint服务
systemctl stop pinpoint-collector pinpoint-web

# 备份配置文件
cp -r /data/pinpoint/collector/WEB-INF/classes $BACKUP_DIR/collector-config-$DATE
cp -r /data/pinpoint/web/WEB-INF/classes $BACKUP_DIR/web-config-$DATE

# 备份HBase数据
su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Export AgentInfo $BACKUP_DIR/AgentInfo-$DATE”
su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Export Trace $BACKUP_DIR/Trace-$DATE”

# 启动Pinpoint服务
systemctl start pinpoint-collector pinpoint-web

# 清理旧备份(保留7天)
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;

# 添加执行权限
# chmod +x /data/pinpoint/scripts/backup.sh

# 添加定时任务
# crontab -e
0 0 * * * /data/pinpoint/scripts/backup.sh

11.2 Pinpoint恢复

# 停止Pinpoint服务
# systemctl stop pinpoint-collector pinpoint-web

# 清理现有数据
# su – hbase -c “/data/hbase/bin/hbase shell”
hbase(main):001:0> disable ‘AgentInfo’
hbase(main):002:0> drop ‘AgentInfo’
hbase(main):003:0> disable ‘Trace’
hbase(main):004:0> drop ‘Trace’

# 恢复数据
# su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Import AgentInfo /backup/pinpoint/AgentInfo-20230405”
# su – hbase -c “/data/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Import Trace /backup/pinpoint/Trace-20230405”

# 恢复配置文件
# cp -r /backup/pinpoint/collector-config-20230405/* /data/pinpoint/collector/WEB-INF/classes/
# cp -r /backup/pinpoint/web-config-20230405/* /data/pinpoint/web/WEB-INF/classes/

# 启动Pinpoint服务
# systemctl start pinpoint-collector pinpoint-web

# 验证恢复
# systemctl status pinpoint-collector pinpoint-web
# curl http://localhost:8080

11.3 Pinpoint监控脚本

# 创建Pinpoint监控脚本
# vi /data/pinpoint/scripts/monitor.sh

#!/bin/bash
LOG_FILE=”/var/log/pinpoint_monitor.log”
ALERT_EMAIL=”admin@fgedu.net.cn”

check_collector_status() {
echo “$(date): Checking pinpoint collector status…” >> $LOG_FILE
status=$(systemctl status pinpoint-collector | grep Active | awk ‘{print $2}’)
if [ “$status” != “active” ]; then
echo “$(date): Pinpoint Collector is not running” >> $LOG_FILE
echo “Pinpoint Collector is not running” | mail -s “Pinpoint Alert” $ALERT_EMAIL
systemctl start pinpoint-collector
else
echo “$(date): Pinpoint Collector is running” >> $LOG_FILE
fi
}

check_web_status() {
echo “$(date): Checking pinpoint web status…” >> $LOG_FILE
status=$(systemctl status pinpoint-web | grep Active | awk ‘{print $2}’)
if [ “$status” != “active” ]; then
echo “$(date): Pinpoint Web is not running” >> $LOG_FILE
echo “Pinpoint Web is not running” | mail -s “Pinpoint Alert” $ALERT_EMAIL
systemctl start pinpoint-web
else
echo “$(date): Pinpoint Web is running” >> $LOG_FILE
fi
}

check_hbase_status() {
echo “$(date): Checking hbase status…” >> $LOG_FILE
status=$(su – hbase -c “/data/hbase/bin/hbase shell -c ‘status'” | grep active)
if [ -n “$status” ]; then
echo “$(date): HBase: OK” >> $LOG_FILE
else
echo “$(date): HBase: FAILED” >> $LOG_FILE
echo “HBase failed” | mail -s “Pinpoint Alert” $ALERT_EMAIL
fi
}

main() {
check_collector_status
check_web_status
check_hbase_status
}

main

# 添加执行权限
# chmod +x /data/pinpoint/scripts/monitor.sh

# 添加定时任务
# crontab -e
*/15 * * * * /data/pinpoint/scripts/monitor.sh

生产环境建议:定期备份Pinpoint配置和数据,建议每天执行一次完整备份。监控脚本建议每15分钟执行一次,及时发现并处理问题。恢复操作前务必停止Pinpoint服务,避免数据不一致。

通过以上步骤,Pinpoint安装配置、性能优化、升级迁移、备份恢复等内容已全部完成。Pinpoint作为开源APM工具,能够高效地监控和分析分布式系统,是企业级微服务架构的重要工具。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息