Installation et configuration précises

Installation et configuration précises

Sanfeng doux Zhang Sanfeng

Qu'est-ce que Pinpoint?

Pinpoint est un outil d'analyse à lien complet qui fournit une surveillance non intrusive de la chaîne d'appels, la visualisation des détails de l'exécution des méthodes, la surveillance des informations sur l'état des applications et d'autres fonctions. L'implémentation basée sur l'article GoogleDapper est similaire à un autre outil d'analyse open source de lien complet Zipkin, mais par rapport à Zipkin, elle offre plus de fonctionnalités telles que la surveillance non intrusive et dimensionnelle du code. Les fonctions prises en charge par Pinpoint sont relativement riches et peuvent prendre en charge les fonctions suivantes:

• Diagramme de topologie de service: affichez visuellement les relations d'appel des applications dans l'ensemble du système. Cliquez sur un nœud de service pour afficher des informations détaillées sur le nœud, telles que l'état actuel du nœud, le nombre de requêtes, etc.
• Diagramme de threads actifs en temps réel: surveiller l'application L'état d'exécution des threads actifs dans l'application peut avoir une compréhension plus intuitive des performances d'exécution des threads de l'application.
Diagramme de dispersion de réponse de demande: affiche le nombre de demandes et le temps de réponse dans la dimension temporelle, faites glisser le graphique pour sélectionner le diagramme correspondant demande pour afficher l'exécution Détails de la
vue de la pile des appels de la demande: offre une visibilité sur la dimension de code pour chaque demande dans un environnement distribué. Vous pouvez afficher les détails de l'exécution de la demande dans la dimension de code sur la page pour vous aider à trouver le goulot d'étranglement et le cause de l'échec.
• État de l'application, vérification de l'état de la machine: grâce à cette fonction, vous pouvez afficher d'autres informations détaillées sur les applications associées, telles que l'utilisation du processeur, l'état de la mémoire, l'état du ramasse-miettes, les informations TPS et JVM et d'autres paramètres.

Composition d'architecture

Pinpoint est principalement composé de 3 composants plus la base de données Hbase, les trois composants étant: l'agent, le collecteur et l'interface utilisateur Web.

• Composant Agent: utilisé pour collecter les données de surveillance côté application, non intrusif, il suffit d'ajouter quelques paramètres à la commande de démarrage.
• Composant Collector: module de collecte de données, recevoir les données de surveillance envoyées par l'agent et les stocker dans HBase
• WebUI : Surveillez le module d'affichage, affichez la relation d'appel du système, les détails de l'appel, l'état de l'application, etc., et prend en charge les alarmes et autres fonctions.
Voici quelques captures d'écran officielles, belles et intuitives

Installation et configuration précises
Installation et configuration précises
Installation et configuration précises
Installation et configuration précises

Installation et configuration

J'ai installé les deux machines virtuelles CentOS6.8 qu'il utilisait, une pour déployer le programme principal de pinpoint et une pour simuler l'environnement de test. La configuration est la suivante:

Installation et configuration précises
java 1.7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

localiser https://github.com/naver/pinpoint

J'ai intégré toutes les ressources dont j'ai besoin et téléchargé sur Baidu SkyDrive

Baidu Netdisk : <Lien: https://pan.baidu.com/s/1WC3VhyhgicqMMmTgbxMziA Mot de passe: vdp6

Installer les dépendances

Entrez le répertoire de base et créez un répertoire de ressources "pp_res" pour stocker les packages à installer


mkdir /home/pp_res
cd /home/pp_res/

Utilisez xshell et d'autres outils similaires pour télécharger les fichiers requis sur la machine virtuelle Linux. Les principaux fichiers à télécharger se trouvent tous sur le disque réseau Baidu

• jdk7 --- environnement d'exécution Java
• hbase-1.0 --- base de données, utilisée pour stocker les informations de surveillance
• tomcat8.0 --- serveur Web • pinpoint
-collector.war --- contrôleur pp
• pinpoint-web.war - - page d'affichage pp
• pp-collector.init --- utilisé pour démarrer rapidement pp-col, pas nécessaire
• pp-web.init --- utilisé pour démarrer rapidement pp-web, pas également possible
Installation et configuration précises

Configurer JDK, installer hbase

Modifier les informations de configuration Hbase


vi hbase-site.xml

    hbase.rootdir
    file:///data/hbase

Démarrer hbase


cd /data/service/hbase/bin
./start-hbase.sh

# 查看Hbase是否启动成功,如果启动成功的会看到"HMaster"的进程
[root@localhost bin]# jps
12075 Jps
11784 HMaster

Initialiser la bibliothèque ponctuelle d'Hbase


# 执行pinpoint提供的Hbase初始化语句,这时会初始化一会。
./hbase shell /home/pp_res/hbase-create.hbase

# 执行完了以后,进入Hbase
./hbase shell

# 进入后可以看到Hbase的版本,还有一些相关的信息
2016-11-15 01:55:44,861 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using built
in-java classes where applicableHBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 1.0.3, rf1e1312f9790a7c40f6a4b5a1bab2ea1dd559890, Tue Jan 19 19:26:53 PST 2016

hbase(main):001:0>

# 输入"status 'detailed'"可以查看刚才初始化的表,是否存在
hbase(main):001:0> status 'detailed'
version 1.0.3
0 regionsInTransition
master coprocessors: []
1 live servers
    localhost:50887 1478538574709
        requestsPerSecond=0.0, numberOfOnlineRegions=498, usedHeapMB=24, maxHeapMB=237, numberOfStores=626, numberOfStorefiles=0, storefileUncom
pressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=7714, writeRequestsCount=996, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, coprocessors=[MultiRowMutationEndpoint]        "AgentEvent,,1478539104778.aa1b3b14d0b48d83cbf4705b75cb35b7."
            numberOfStores=1, numberOfStorefiles=0, storefileUncompressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0,
readRequestsCount=0, writeRequestsCount=0, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, completeSequenceId=-1, dataLocality=0.0
...

Vous pouvez également vous connecter au Web pour vérifier si les données HBase sont initialisées avec succès

HbaseWeb: http://192.168.245.134:16010/master-status
Installation et configuration précises

Installer pinpoint-collector

Déployer le package war, puis configurer le démarrage rapide


# 配置快速启动需要修改pp-collector.init的路径( pp-collector在网盘里面有 ),可以"vi"进去,大概在18,24,27行处,修改相关的路径。我这边为了方便,直接就用替换的shell做了,如果路径与我的不一致,需要将路径修改成自己的路径。
cd /home/pp_res
sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-collector.init
sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-collector\//CATALINA_HOME=\/data\/service\/pp-col\//g" pp-collector.init
sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-collector\//CATALINA_BASE=\/data\/service\/pp-col\//g" pp-collector.init

# 将文件赋予"执行"的权限,把它放到"init.d"中去。以后就可以restart快速重启了。
chmod 711 pp-collector.init
mv pp-collector.init /etc/init.d/pp-col

# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-col restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jar

waiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 22824

Installez pinpoint-web

Déploiement rapide de la configuration du package war


# 需要修改"pp-web.init",与上面的步骤一致
cd /home/pp_res
sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-web.init
sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-web\//CATALINA_HOME=\/data\/service\/pp-web\//g" pp-web.init
sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-web\//CATALINA_BASE=\/data\/service\/pp-web\//g" pp-web.init

# 将文件赋予"执行"的权限,把让放到"init.d"中去。以后就可以restart快速重启了。
chmod 711 pp-web.init
mv pp-web.init /etc/init.d/pp-web

# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-web restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pp-web/
Using CATALINA_HOME:   /data/service/pp-web/
Using CATALINA_TMPDIR: /data/service/pp-web//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-web//bin/bootstrap.jar:/data/service/pp-web//bin/tomcat-juli.jar

waiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pp-web/
Using CATALINA_HOME:   /data/service/pp-web/
Using CATALINA_TMPDIR: /data/service/pp-web//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-web//bin/bootstrap.jar:/data/service/pp-web//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 22703

Déployez pp-agent pour collecter les données de surveillance

Dans le système de test, déployez pp-agent pour collecter les données de surveillance

Le déploiement du collecteur est très simple, il suffit d'ajouter 3 phrases. Je fais un test Tomcat ici pour simuler le déploiement.

Tout d'abord, créez un dossier pour placer les packages nécessaires aux tests


mkdir /home/pp_test
cd /home/test

Tirez le pp-agent nécessaire pour le test sur le serveur, configurez l'environnement de test simulé Tomcat, configurez le collecteur pp-agent


# 解压pp-agent
cd /home/pp_test
tar -zxvf pinpoint-agent-1.5.2.tar.gz
mv pinpoint-agent-1.5.2 /data/pp-agent

# 编辑配置文件
cd /data/pp-agent/
vi pinpoint.config

# 主要修改IP,只需要指定到安装pp-col的IP就行了,安装pp-col启动后,自动就开启了9994,9995,9996的端口了。这里就不需要操心了,如果有端口需求,要去pp-col的配置文件("pp-col/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties")中,修改这些端口
profiler.collector.ip=192.168.245.136

# 修改测试项目下的tomcat启动文件"catalina.sh",修改这个只要是为了监控测试环境的Tomcat,增加探针
cd /data/pp-test/bin
vi catalina.sh

# 在20行增加如下字段
# 第一行是pp-agent的jar包位置
# 第二行是agent的ID,这个ID是唯一的,我是用pp + 今天的日期命名的,只要与其他的项目的ID不重复就好了
# 第三行是采集项目的名字,这个名字可以随便取,只要各个项目不重复就好了
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/pp-agent/pinpoint-bootstrap-1.5.2.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=pp20161122"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=MyTestPP

Démarré, nous pouvons accéder à l'environnement de test
Installation et configuration précises

Je suppose que tu aimes

Origine blog.51cto.com/15065852/2606446
conseillé
Classement