Cloudinsight Agent 在 4.7.0 版本,将 Agent 名称从 oneapm-ci-agent 更换至 cloudinsight-agent。若您在使用过程中,出现无法正常工作的情况,请加入售后群:433349863
X

Agent 操作与配置

概述 Cloudinsight Agent 的基本使用方法。如果您尚未安装探针,可以先进行安装。

默认情况下,探针将被安装在 /opt/cloudinsight-agent 目录。


Agent 基本操作

For Linux

执行以下指令,会得到如下结果。

$ /etc/init.d/cloudinsight-agent

Usage: /etc/init.d/cloudinsight-agent {start|stop|restart|info|status|configcheck|configtest|jmx|flare}

可见 Agent 支持以下的操作:

  • start
  • stop
  • restart
  • info
  • status
  • configcheck
  • configtest
  • jmx
  • flare

启动 Agent 需执行以下指令,同理于停止和重启 Agent。

/etc/init.d/cloudinsight-agent start

info 指令查看 Agent 的概要信息。执行 info 指令,可见 Cloudinsight Agent 由 CollectorForwarderOnestatsd 3 部分构成。

info 指令会显示这 3 部分的时间戳、Host 信息、进程信息,以及依赖的配置文件路径和日志路径。当然,还包括数据采集的信息。

status 显示 Agent 目前的运行状态。

configtestconfigcheck 用于配置文件的检查。而 jmx 用于 JMX 的检查,详情见:JMX 远程监控

flare 用于配置文件和日志文件的打包。在联系客服人员前,请使用此指令对日志文件和配置文件进行打包,并发送给客服人员。提交问题等待回复邮件联系,加入 Cloudinsight 售后 QQ 群:433349863。

For Windows

所有配置都可以在 Cloudinsight Agent Manager 控制面板上进行操作。

Logs and Status {Agent Status}
Actions  {start|stop|restart|flare|exit}

Agent Status 同 Linux 的 info,其它相同。


启动 / 停止 / 卸载

启动探针:

sudo /etc/init.d/cloudinsight-agent start

停止探针:

sudo /etc/init.d/cloudinsight-agent stop

重启探针:

sudo /etc/init.d/cloudinsight-agent restart

删除探针:

sudo yum erase cloudinsight-agent / apt-get remove cloudinsight-agent

更新

CentOS / Redhat 更新

sudo yum install cloudinsight-agent

Ubuntu / Debian 更新

sudo apt-get update && apt-get install cloudinsight-agent

查看状态

查看探针是否运行:

sudo /etc/init.d/cloudinsight-agent status

查看探针状态信息:

sudo /etc/init.d/cloudinsight-agent info

查看配置文件是否正确:

sudo /etc/init.d/cloudinsight-agent configtest

配置

探针的配置文件:

/etc/cloudinsight-agent/cloudinsight-agent.conf

cloudinsight-agent.conf 配置项

[Main]

# The host of the Cloudinsight data collector server to send Agent data to
# 收集的数据发送的目的服务器地址
ci_url: https://dc-cloud.oneapm.com     

# The Cloudinsight license key to associate your Agent's data with your organization.
# 您的 Cloudinsight 的 license key
license_key: B1oCTldEV6b2bAoVCEwID0918f4FCQdXH1I9xxxxxxxxxxxxxxx9VVZPBw4bUAU=  


# If you need a proxy to connect to the Internet, provide the settings here
# proxy_host: my-proxy.com     # 代理服务地址
# proxy_port: 3128             # 代理服务端口
# proxy_user: user             # 代理服务账户
# proxy_password: password     # 代理服务密码
# To be used with some proxys that return a 302 which make curl switch from POST to GET
# proxy_forbid_method_switch: no   

# If you run the agent behind haproxy, you might want to set this to yes
# skip_ssl_validation: no      # 跳过 ssl 验证

# Force the hostname to whatever you want.
# hostname: mymachine.mydomain # 主机应用名


tags: bd:bj-db,user:wang       # 标签,多项用逗号间隔

# The loopback address the Forwarder and Onestatsd will bind.
# bind_host: localhost         # Forwarder 发送数据的地址

# Change port the Agent is listening to
# listen_port: 10010           #  Forwarder 发送数据端口

# Enable Agent Developer Mode
# Agent Developer Mode collects and sends more fine-grained metrics about agent and check performance
# developer_mode: no           # 开发者模式
# In developer mode, the number of runs to be included in a single collector profile
# collector_profile_interval: 20

# ========================================================================== #
# Logging
# ========================================================================== #

# log_level: INFO              # log 级别 (DEBUG | INFO | WARN | WARNING | ERROR | CRITICAL | FATAL)

# collector_log_file: /var/log/cloudinsight-agent/collector.log  # collector 日志文件
# forwarder_log_file: /var/log/cloudinsight-agent/forwarder.log  # forwarder 日志文件
# statsd_log_file: /var/log/cloudinsight-agent/statsd.log  # statsd 日志文件

# if syslog is enabled but a host and port are not set, a local domain socket
# connection will be attempted
# log_to_syslog: no            # 将日志打入系统日志, 开启后如果 host 和 port 没有配置,会尝试连接一个本地的 syslog
# syslog_host:                 # syslog 地址
# syslog_port:                 # syslog 端口

平台服务的配置文件目录:

/etc/cloudinsight-agent/conf.d/

平台服务的配置各有不同,详情请查看:平台服务


排查

运行上面的 sudo /etc/init.d/cloudinsight-agent info 命令查看探针状态。

日志子系统从下面文件中查看:

  • /var/log/cloudinsight-agent/supervisord.log
  • /var/log/cloudinsight-agent/collector.log
  • /var/log/cloudinsight-agent/forwarder.log

Agent 配置文件

本节介绍 Agent 的配置文件,以方便更好的使用 Cloudinsight Agent。

For Linux

Agent 配置文件放置于 /etc/cloudinsight-agent,该路径下的文件结构如下。

$ /etc/cloudinsight-agent : tree .
.
├── checks.d
├── conf.d
│   ├── activemq_58.yaml.example
...
│   ├── tomcat.yaml.example
│   ├── win32_event_log.yaml.example
│   ├── wmi_check.yaml.example
│   └── zookeeper.yaml.example
├── cloudinsight-agent.conf
├── cloudinsight-agent.conf.example
└── supervisor.conf

2 directories, 49 files

里面包括 3 类配置文件:

  • cloudinsight-agent.conf:Agent 配置文件
  • supervisor.conf
  • conf.d/平台服务名称.yaml.example:平台服务配置示例

配置 cloudinsight-agent

  • ci_url - 收集的数据发送的目的服务器地址
  • license_key - 您的 Cloudinsight 的 license key
  • proxy_host - 代理服务地址
  • proxy_port - 代理服务端口
  • proxy_user - 代理服务账户
  • proxy_password - 代理服务密码
  • skip_ssl_validation - 跳过 ssl 验证,此时 ci_url 后面的地址 https 改为 http
  • hostname - 主机名
  • tags - 标签,多项用逗号间隔,(bd:bj-db,user:wang)
  • log_level - log 级别 (DEBUG | INFO | WARN | WARNING | ERROR | CRITICAL | FATAL)
  • collector_log_file - collector 日志文件
  • forwarder_log_file - forwarder 日志文件
  • onestatsd_log_file - onestatsd 日志文件
  • log_to_syslog - 将日志打入系统日志, 开启后如果 host 和 port 没有配置,会尝试连接一个本地的 syslog
  • syslog_host - syslog 地址
  • syslog_port - syslog 端口

配置 supervisor.conf

以下仅列出探针用到的配置,如果有疑问,可以查看更详细的官方 supervisor 配置文档

  • supervisorctl
    • serverurl: 连接 supervisord 服务的地址,可以是 url 或者 unix socket
  • unix_http_server
    • file: supervisord 的 unix socket 文件
  • rpcinterface:supervisor
    • supervisor.rpcinterface_factory: rpc 的工厂函数,不用管这个 - -
  • supervisord
    • http_port: supervisord 端口
    • minfds: supervisord 启动所需的最小的文件描述符个数
    • loglevel: log 级别,可用的有 critical, error, warn, info, debug, trace, blather
    • logfile: log 文件
    • logfile_maxbytes: log 文件的最大 bytes 值,超过就会分割为备份文件
    • nodaemon: 如果值是 true, supervisord 会在前台运行,false 就是后台运行
    • pidfile: supervisord 的 pid 文件
    • logfile_backups: 日志分割文件保留数,如果是0就不会有备份文件
    • user: 让 supervisord 切换到这个用户再运行,只有是用 root 启动的 supervisord 才能切换
    • environment: 键值对列表,作为 supervisord 运行时候的环境变量
  • program:collector,forwarder,onestatsd,jmxfetch
    • command: 这个程序启动时候会执行的命令
    • stdout_logfile: 这个程序的标准输出写入的目标文件,如果是 NONE,将不会创建 log 文件
    • stderr_logfile: 这个程序的错误输出写入的目标文件,如果是 NONE,静不会创建 log 文件
    • priority: 这个程序在启动和关闭时候的顺序的相对优先级,值越低,启动越早,关闭越晚
    • startsecs: 这个程序在被认为启动成功之前,需要运行的时间
    • startretries: supervisord 在启动程序失败后会尝试启动的次数
    • user: 使 supervisord 使用这个用户运行这个程序
    • environment: 键值对列表,作为 supervisord 运行时候的环境变量
  • group:cloudinsight-agent
    • programs: 作为这个组的成员的程序的名字,程序需要在 program:x 中有定义

如果您对 Cloudinsight 感兴趣,可以选择试用我们的产品,只需要点击下面的按钮免费注册即可。


立即注册 Cloudinsight