Identifique a instalação e configuração

Identifique a instalação e configuração

Sanfeng soft Zhang Sanfeng

O que é o Pinpoint?

O Pinpoint é uma ferramenta de análise de link completo que fornece monitoramento de cadeia de chamadas não intrusivo, exibição de detalhes de execução de métodos, monitoramento de informações de status de aplicativos e outras funções. A implementação com base no artigo GoogleDapper é semelhante a outra ferramenta de análise de link completo de código aberto Zipkin, mas em comparação com o Zipkin, ela fornece mais recursos, como monitoramento não intrusivo e de código dimensional. As funções suportadas pelo Pinpoint são relativamente ricas e podem suportar as seguintes funções:

• Diagrama de topologia de serviço: exibe visualmente os relacionamentos de chamada de aplicativos em todo o sistema. Clique em um nó de serviço para exibir informações detalhadas sobre o nó, como status do nó atual, número de solicitações, etc.
• Diagrama de thread ativo em tempo real: monitorar aplicativo O status de execução dos threads ativos no aplicativo pode ter uma compreensão mais intuitiva do desempenho de execução do thread do aplicativo.
Diagrama de dispersão de resposta de solicitação: exibe a contagem de solicitação e o tempo de resposta na dimensão do tempo, arraste o gráfico para selecionar o correspondente solicitação para visualizar a execução Detalhes da
visualização da pilha de chamadas da solicitação: fornece visibilidade na dimensão do código para cada solicitação em um ambiente distribuído. Você pode visualizar os detalhes de execução da solicitação na dimensão do código na página para ajudar a encontrar o gargalo e causa da falha.
• Status do aplicativo, verificação de status da máquina: Através desta função, você pode visualizar outras informações detalhadas de aplicativos relacionados, como uso de CPU, status de memória, status de coleta de lixo, informações de TPS e JVM e outros parâmetros.

Composição da arquitetura

O Pinpoint é composto principalmente de 3 componentes mais o banco de dados Hbase. Os três componentes são: Agente, Coletor e IU da Web.

• Componente do agente: usado para coletar dados de monitoramento do lado do aplicativo, não intrusivo, só precisa adicionar alguns parâmetros ao comando de inicialização
• Componente do coletor: módulo de coleta de dados, receber dados de monitoramento enviados pelo Agente e armazená-los no HBase
• WebUI : Monitore o módulo de exibição, mostre a relação de chamada do sistema, detalhes da chamada, status do aplicativo, etc., e alarmes de suporte e outras funções.
Abaixo estão algumas capturas de tela oficiais, que são bonitas e intuitivas

Identifique a instalação e configuração
Identifique a instalação e configuração
Identifique a instalação e configuração
Identifique a instalação e configuração

Instalação e configuração

Instalei as duas máquinas virtuais CentOS6.8 que ele utilizou, uma para implantar o programa principal do pinpoint, e outra para simular o ambiente de teste. A configuração é a seguinte:

Identifique a instalação e configuração
java 1.7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

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

Eu integrei todos os recursos de que preciso e carreguei no Baidu SkyDrive

Baidu Netdisk : <Link: https://pan.baidu.com/s/1WC3VhyhgicqMMmTgbxMziA Senha: vdp6

Instale dependências

Digite o diretório inicial e crie um diretório de recursos "pp_res" para armazenar os pacotes que precisam ser instalados


mkdir /home/pp_res
cd /home/pp_res/

Use xshell e outras ferramentas semelhantes para fazer upload dos arquivos necessários para a máquina virtual Linux. Os principais arquivos a serem carregados estão todos no disco de rede Baidu

• jdk7 --- Java runtime environment
• hbase-1.0 --- banco de dados, usado para armazenar informações de monitoramento
• tomcat8.0 --- servidor da Web
• pinpoint-collector.war --- controlador pp
• pinpoint-web.war - - página de exibição do pp
• pp-collector.init --- usado para iniciar o pp-col rapidamente, não é necessário
• pp-web.init --- usado para iniciar o pp-web rapidamente, também não é possível
Identifique a instalação e configuração

Configure o JDK, instale o hbase

Modificar as informações de configuração do Hbase


vi hbase-site.xml

    hbase.rootdir
    file:///data/hbase

Iniciar hbase


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

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

Inicializar a biblioteca exata do 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
...

Você também pode fazer login na web para verificar se os dados do HBase foram inicializados com sucesso

HbaseWeb: http://192.168.245.134:16010/master-status
Identifique a instalação e configuração

Instalar coletor de precisão

Implante o pacote war e configure o início rápido


# 配置快速启动需要修改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

Instale o pinpoint-web

Implantar o início rápido de configuração do pacote 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

Implante o pp-agent para coletar dados de monitoramento

No sistema de teste, implante o agente pp para coletar dados de monitoramento

A implantação do coletor é muito simples, basta adicionar 3 frases. Eu faço um teste Tomcat aqui para simular a implantação.

Primeiro, crie uma pasta para colocar os pacotes necessários para o teste


mkdir /home/pp_test
cd /home/test

Puxe o agente pp necessário para o teste para o servidor, configure o ambiente de teste Tomcat simulado, configure o coletor do agente pp


# 解压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

Iniciado, podemos acessar o ambiente de teste
Identifique a instalação e configuração

Acho que você gosta

Origin blog.51cto.com/15065852/2606446
Recomendado
Clasificación