Kibana apm-server.yml配置文件详解

释放双眼,带上耳机,听听看~!

apm-server.yml常用配置解析

以下摘出了部分配置文件进行简介,有关更多配置请见:https://www.elastic.co/guide/en/apm/server/7.4/configuring-howto-apm-server.html

vim /etc/apm-server/apm-server.yml 
################################ APM Server ################################

apm-server:
  host: "0.0.0.0:8200"          #定义服务器监听的主机和端口或者使用unix套件字, unix:/path/to.sock
  max_header_size: 1048576      #要处理的服务器接受的请求头的最大允许大小(以字节为单位),默认为1048576字节(1 MB)
  idle_timeout: 45s             #在关闭基础连接之前等待下一个传入请求的最长时间
  read_timeout: 30s             #读取整个请求的最大持续时间,超出此时间则认为超时
  write_timeout: 30s            #写入响应的最大允许持续时间,写入时间超过30s则认为写入超时
  shutdown_timeout: 5s          #关闭服务器时释放资源的最大持续时间
  max_event_size: 307200        #要处理的服务器接受的事件的最大允许大小(以字节为单位)(0.3MB)
  max_connections: 0            #同时接受的最大新连接数(0表示无限制)
  #secret_token:                #用于向APM服务器发送数据的授权令牌。如果设置了令牌,则代理必须以以下格式发送它:Authorization: <secret-token>。建议在启用SSL的同时使用
授权令牌,并将令牌保存在apm-server密钥存储库中。该标记不用于RUM端点。

  #启用APM代理和服务器之间的安全通信。默认情况下,ssl是禁用的
  ssl:
    enabled: false              #true为开启ssl,false则关闭ssl
    certificate_authorities: [] #配置用于验证客户端证书的根证书颁发机构列表
    certificate: '/to/cert.pki' #包含服务器身份验证证书的文件路径,需要在启用ssl时进行配
    key: '/to/cert.key'         #包含服务器证书密钥的文件的路径,需要在启用ssl时进行配置
    
  rum:
    enabled: true               #启用真正的用户监视(RUM)支持。默认情况下,RUM是禁用的
    event_rate:
      limit: 300                #定义每秒每个IP允许发送到APM Server RUM 端点的最大事件量。默认为300。
      lru_size: 1000            #LRU缓存用于为每个IP保留最新的IP速率限制,此设置定义可以在缓存中跟踪唯一ip的数量,拥有很多并发需要监控机器的站点应该考虑增加这个限制,>默认为1000.

  capture_personal_data: true           #如果为真,则APM Server捕获检测到的服务及其用户代理(如果有)的IP。默认启用。
  expvar:
    enabled: false                      #当设置为真APM Server暴露golang expvar。默认情况下禁用。
    url: "/debug/vars"                  #配置url以公开expvar。默认为/debug//vars.
  instrumentation:                      #对服务器的HTTP端点和事件发布服务器的检测支持
    enabled: true                       #设置为true以启用APM服务器本身的检测
    
  register.ingest.pipeline:
    enabled: true                       #在APM服务器启动时将默认管道定义加载到Elasticsearch,默认值为true。
    overwrite: false                    #在Elasticsearch中覆盖现有的APM管道定义,默认值为true

#================================= General =================================
queue:                                  #数据在发布到配置的输出之前被缓冲在内存队列中,queue.mem.*设置修改队列行为.
  mem:
    events: 4096                        #内存队列可以缓冲的最大事件数,默认值是4096,有关如何调优此值,请参考:https://www.elastic.co/guide/en/apm/server/7.4/tune-data-ingestion.html
    flush.min_events: 2048              #在向输出提供一批事件之前,提示存储在队列中的最小事件数。默认值设置为2048。0的值确保事件可以立即发送到输出
    flush.timeout: 1s                   #如果队列中存储的事件数 <flush.min_events ,则输出事件可用的最大持续时间,默认值是1秒
max_procs: 4                            #设置可以同时执行的最大cpu数量,默认值是系统中可用的逻辑cpu数量

#-------------------------- Elasticsearch output --------------------------
output.elasticsearch:
  hosts: ["192.168.31.215:9201","192.168.31.215:9202","192.168.31.215:9203"]            #指定输出的es数组
  index: "apm-%{[observer.version]}-%{[processor.event]}-%{+yyyy.MM.dd}"                #指定apm server将事件写入es的索引名称
  enabled: true                 #启用或禁用输出模块,默认启用
  compression_level: 5          #gzip压缩级别,将此值设置为0将禁用压缩,压缩级别必须在1(最佳速度)到9(最佳压缩)之间,越高的压缩级别将减少网络使用,但会增加cpu使用.
  protocol: "http"              #协议Elasticsearch的名称可在上访问,选项有:http或https;默认是http,但是,如果为主机指定URL,则协议的值将被在URL中指定的任何方案覆盖
  username: "elastic"           #连接到Elasticsearch的基本身份验证用户名
  password: "changeme"          #连接到Elasticsearch的基本身份验证密码
  #parameters:                  #使用索引操作在url中传递的HTTP参数字典
    #param1: value1
    #param2: value2
  worker: 3                     #每个配置的主机发布事件到Elasticsearch的工作者数量,这最好在启用负载平衡模式时使用,例如:如果您有2个主机和3个worke,那么总共启动6个worker(每个主机3个)

  #通过使用下面的配置,APM文档被存储到单独的索引中
  # depending on their `processor.event`:       #根据他们的进程事件
  # - error
  # - transaction
  # - span
  # - sourcemap
  #
  #索引前缀都是`apm-%{[observer.version]}`
  #允许管理员基于时间索引,除sourcemap外,都以被索引的日期信息作为结束
  #例如: "apm-7.3.0-transaction-2019.07.20"
  #
  #注意:你只能指定一个Elasticsearch模版
 #如果修改索引模式,还必须相应地更新这些配置,因为它们需要对齐
  # * `setup.template.name`
  # * `setup.template.pattern`
  #index: "apm-%{[observer.version]}-%{+yyyy.MM.dd}"
  #indices:
  #  - index: "apm-%{[observer.version]}-sourcemap"
  #    when.contains:
  #      processor.event: "sourcemap"
  #
  #  - index: "apm-%{[observer.version]}-error-%{+yyyy.MM.dd}"
  #    when.contains
  #      processor.event: "error"
  #
  #  - index: "apm-%{[observer.version]}-transaction-%{+yyyy.MM.dd}"
  #    when.contains:
  #      processor.event: "transaction"
  #
  #  - index: "apm-%{[observer.version]}-span-%{+yyyy.MM.dd}"
  #    when.contains:
  #      processor.event: "span"
  #
  #  - index: "apm-%{[observer.version]}-metric-%{+yyyy.MM.dd}"
  #    when.contains:
  #      processor.event: "metric"
  #
  #  - index: "apm-%{[observer.version]}-onboarding-%{+yyyy.MM.dd}"
  #    when.contains:
  #      processor.event: "onboarding"

  # A pipeline is a definition of processors applied to documents when ingesting them to Elasticsearch.
  # APM Server comes with a default pipeline definition, located at `ingest/pipeline/definition.json`, which is
  # loaded to Elasticsearch by default (see `apm-server.register.ingest.pipeline`).
  # APM pipeline is enabled by default. To disable it, set `pipeline: _none`.
  #pipeline: "apm"

  #path: "/elasticsearch"               #在HTTP API调用之前的HTTP路径前缀,这对于Elasticsearch在HTTP反向代理(在自定义前缀下导出API)后面侦听的情况非常有用
  #headers:                             #自定义HTTP头添加到Elasticsearch输出创建的每个请求
  #例子: 如下,通常可以通过用逗号分隔标题名称来为相同的标题名称指定多个标题值
  #  X-My-Header: Contents of the header
  #  X-My-Header: Header contents

  #proxy_url: http://proxy:3128         #连接到Elasticsearch服务器时使用的代理的URL
  max_retries: 3                        #尝试特定的Elasticsearch索引操作的次数,如果在多次重试之后索引操作没有成功,则将删除事件,默认值是3次
  bulk_max_size: 50                     #在单个Elasticsearch批量API索引请求中要批量处理的最大事件数,默认为50
  backoff.init: 1s                      #网络错误后尝试重新连接到Elasticsearch之前等待的秒数
  backoff.max: 60s                      #网络错误后尝试连接到Elasticsearch之前要等待的最大秒数
  timeout: 90                           #Elasticsearch请求的http请求超时(以秒为单位),默认值是90

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索