安装Elasticsearch-Apm

为什么80%的码农都做不了架构师?>>>   hot3.png

概述

Elastic APM是一个基于Elastic Stack构建的应用程序性能监控系统。它允许您实时监控软件服务和应用程序,收集有关传入请求的响应时间,数据库查询,高速缓存调用,外部HTTP请求等的详细性能信息。这样可以更轻松地快速查明并修复性能问题。

弹性APM还会自动收集未处理的错误和异常。错误主要基于堆栈跟踪进行分组,因此您可以识别出现的新错误,并密切关注特定错误发生的次数。

 

APM 组件

弹性APM包含四个组件:

APM代理是使用与服务相同的语言编写的开源库。您可以像安装任何其他库一样将它们安装到服务中。他们检测您的代码并在运行时收集性能数据和错误。此数据缓冲一小段时间并发送到APM服务器。

APM Server是一个用Go编写的开源应用程序,通常在专用服务器上运行。它默认侦听端口8200,并通过JSON HTTP API从代理接收数据。然后,它根据该数据创建文档并将其存储在Elasticsearch中。

Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据。Elasticsearch用于存储APM性能指标并利用其聚合。

Kibana是一个开源分析和可视化平台,旨在与Elasticsearch协同工作。您使用Kibana搜索,查看和与Elasticsearch中存储的数据进行交互。您可以使用Kibana通过使用基本许可证中捆绑的专用APM UI或可以通过APM Kibana UI直接加载的预构建的开源Kibana仪表板来可视化APM数据。

 

Elasticsearch-Apm 官网地址:

说明:可在这个地址找到安装Elasticesearch Kibana  Apm-server  Metricbeat 的相关文档 & 配置

 https://www.elastic.co/blog/monitoring-applications-with-elasticsearch-and-elastic-apm

 

安装JKD

# 解压 & 安装
$ tar -xvf jdk-8u131-linux-x64.tar.gz 

$ mv jdk1.8.0_131/ /usr/local/

$ ln -s jdk1.8.0_131 jdk1.8

# 设置环境变量

$ vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin


$ 生效变量

$ source /etc/profile


安装Elasticesearch Kibana  Apm-server  Metricbeat

#安装依赖
$ yum install -y log4j*

#安装Elasticsearch 

$ curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.rpm
$ rpm -i elasticsearch-6.6.1.rpm

#安装Kibana
$ curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-6.6.1-x86_64.rpm
$ rpm -ivh kibana-6.6.1-x86_64.rpm


#安装Apm-server
$ curl -L -O https://artifacts.elastic.co/downloads/apm-server/apm-server-6.6.1-x86_64.rpm
$ rpm -ivh apm-server-6.6.1-x86_64.rpm


#安装Metricbeat
$ curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.6.1-x86_64.rpm
$ rpm -ivh metricbeat-6.6.1-x86_64.rpm

 

配置Elasticesearch Kibana  Apm-server  Metricbeat

#配置elasticsearch

$ vim /etc/elasticsearch/elasticsearch.yml 

network.host: 192.168.1.112         //定义绑定的IP   
http.port: 9200                    //定义elasticsearch监听端口,默认9200



#配置Kibana
$ vim /etc/kibana/kibana.yml 

server.port: 5601                    //定义kibana监听端口,默认是5601
server.host: "192.168.1.112"         //定义绑定的IP   
elasticsearch.hosts: ["http://192.168.1.112:9200"]    //kibana需要和es通信,所以需要定义一下es的URL
logging.dest: /var/log/kibana.log    //定义kibana日志路径

说明:需要给/var/log/kibana.log 执行权限(否则启动kibana会失败)



#配置Apm-server

$ vim /etc/apm-server/apm-server.yml

apm-server:
  host: "192.168.1.112:8200"   //定义绑定的IP & 监听端口  

 rum:
    enabled: true

output.elasticsearch:
  hosts: ["192.168.1.112:9200"]    



#配置Metricbeat

$ vim /etc/metricbeat/metricbeat.yml

setup.kibana:
  host: "192.168.1.112:5601"   

output.elasticsearch:
  hosts: ["192.168.1.112:9200"]  

 

启动Elasticesearch Kibana  Apm-server  Metricbeat

$ systemctl start elasticsearch

$ systemctl start kibana

$ systemctl start metricbeat

$ systemctl start apm-server


查看监听端口

说明:Elasticesearch监听:9200 9300 端口    
         Kibana:5601 端口
         Apm-server:8200

netstat -nvlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 192.168.1.112:8200      0.0.0.0:*               LISTEN      16490/apm-server    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7248/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7718/master         
tcp        0      0 192.168.1.112:5601      0.0.0.0:*               LISTEN      16507/node               
tcp6       0      0 192.168.1.112:9200      :::*                    LISTEN      7253/java           
tcp6       0      0 192.168.1.112:9300      :::*                    LISTEN      7253/java           
tcp6       0      0 :::22                   :::*                    LISTEN      7248/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      7718/master         

 

安装Apm-agent

说明:下载agent地址:https://github.com/elastic?utf8=%E2%9C%93&q=apm-agent&type=&language=

# 克隆apm-agent
$ git clone https://github.com/elastic/apm-agent-java.git


配置Apm-agent

$ vim /usr/local/apm-agent-java/pom.xml

加入这段配置:

    co.elastic.apm
    apm-agent-attach
    ${elastic-apm.version}





$ vim /usr/local/apm-agent-java/apm-agent-core/src/test/resources/elasticapm.properties

加入这段配置:
service_name=my-cool-service
application_packages=org.example,org.another.example=org.example,org.another.example
server_urls=http://192.168.1.112:8200

 

 

安装Tomcat

$ tar -xvf apache-tomcat-8.5.38.tar.gz

$ mv apache-tomcat-8.5.38 /usr/local/

$ ln -s apache-tomcat-8.5.38 tomcat

 

使用Application Servers 编辑设置代理
创建setenv.sh

说明:elastic-apm-agent-1.4.0.jar  这个jar包下载地址: https://search.maven.org/search?q=g:co.elastic.apm%20AND%20a:elastic-apm-agent

$ vim /usr/local/tomcat/bin/setenv.sh

export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/tomcat/lib/elastic-apm-agent-1.4.0.jar"
export CATALINA_OPTS="$CATALINA_OPTS -Delastic.apm.service_name=my-cool-service"
export CATALINA_OPTS="$CATALINA_OPTS -Delastic.apm.application_packages=org.example,org.another.example"
export CATALINA_OPTS="$CATALINA_OPTS -Delastic.apm.server_urls=http://192.168.1.112:8200"


#添加执行权限
chmod +x /usr/local/tomcat/bin/setenv.sh

 

先访问:http://192.168.1.112:8080

再访问 http://192.168.1.112:5601

说明:可看到APM agent 的信息(如看不到的话,需要先打开Setup Instructions设置一下) 

安装Elasticsearch-Apm_第1张图片

 

转载于:https://my.oschina.net/AnnaWu/blog/3014400

你可能感兴趣的:(安装Elasticsearch-Apm)