前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kibana 启用 PHP APM

Kibana 启用 PHP APM

原创
作者头像
魔王卷子
修改2021-09-22 11:13:07
1.4K0
修改2021-09-22 11:13:07
举报

本篇文章主要是解释如何使用ES的APM功能进行获取运行状态。其实官网有安装流程,我仅仅是把我安装的过程记录下。

前言

因为阿里云有ARMS。正好跟网上的朋友沟通的时候知道了APM。突然发现阿里云的AMRS不就是APM么。又因为ARMS只最高支持PHP7.3,所以我特意过来看下ES的APM如何安装,因为它支持PHP8.0。支持的版本也比较新。

首先请按照前面两篇文章进行设置ubuntu 安装 ElasticSearchubuntu 安装 kibana

安装所需的包

这里我们需要的是 apm-server。执行以下命令即可安装:

代码语言:txt
复制
sudo apt install apm-server

最后执行启动命令即可。

管理命令

启动:

代码语言:txt
复制
sudo systemctl start apm-server

停止:

代码语言:txt
复制
sudo systemctl stop apm-server

重新启动:

代码语言:txt
复制
sudo systemctl restart apm-server

设置开机启动:

代码语言:txt
复制
sudo systemctl enable apm-server

取消开机启动

代码语言:txt
复制
sudo systemctl disable apm-server

查看运行状态

代码语言:txt
复制
sudo systemctl status apm-server

PHP Agent

这里需要安装一个扩展。首先的话是需要安装PHP的。这里有一篇安装 PHP8.0 的文章可以用来参考。

如果不是 apt 安装的 PHP,建议采用下面的 手动安装 的办法。

首先从 GitHub 包下载 中下载指定的 deb 包。

然后执行命令安装 agent:

代码语言:txt
复制
sudo dpkg -i <package-file>.deb

安装成功后可编辑的配置文件地址为:/etc/php/8.0/fpm/conf.d/99-elastic-apm-custom.ini

手动安装

可以执行如下步骤进行编译安装。

首先我们需要将源代码存储到一个目录中。比如说 /usr/local/src

首先就是下载文件并解压:

代码语言:txt
复制
sudo wget -c https://github.com/elastic/apm-agent-php/archive/refs/tags/v1.3.tar.gz
sudo tar zxf v1.3.tar.gz

然后我们切入要编译的目录并执行编译命令

代码语言:txt
复制
cd apm-agent-php-1.3/src/ext
sudo phpize
sudo CFLAGS="-std=gnu99" ./configure --enable-elastic_apm
sudo make
sudo make install

完成后在 php.ini 添加以下配置,以便启用 elastic_apm

代码语言:txt
复制
extension=elastic_apm.so
elastic_apm.bootstrap_php_part_file=<repo root>/src/bootstrap_php_part.php

配置

  • elastic_apm.environment

设置环境名称。比如说测试环境可以设置为 testing 或者 production。用来区分环境变量。

  • elastic_apm.hostname

设置主机名称。因为默认都是随机的名称,可以设置为更加人性化的名称。如果该名称没有设置,则默认读取主机的名称

  • elastic_apm.server_url

APM 服务器的链接地址。包含协议和端口。默认地址是 http://localhost:8200,如果 APM 服务器不在本机则需要进行设置。

  • elastic_apm.service_name

服务的名称。也就是项目的名称。比如说 api 项目, base 项目等。

  • elastic_apm.service_node_name

节点名称。当有web集群的时候,该设置特别有用。比如说名称为 php-1等等。

  • elastic_apm.service_version

服务的版本号。比如说PHP的话可以使用 commit ID 作为版本号。可以设置为 git rev-parse HEAD 或者使用简写 git log --pretty="%h" -n1 HEAD

  • elastic_apm.transaction_sample_rate

设置对请求采样的频率。默认是 1.0,范围是 0.0 ~ 1.0 之间,如果为不收集,则不记录上下文信息,标签或者跨度。

最后

这样重启PHP,访问几个链接就可以在 Kibana 中查看到 APM 收集的相关信息了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安装所需的包
  • 管理命令
  • PHP Agent
  • 手动安装
  • 配置
  • 最后
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档