跳转至

Agent 操作与配置

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

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


Agent 基本操作

For Linux

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

$ /etc/init.d/CiAgent

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

可见 Agent 支持以下的操作:

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

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

/etc/init.d/CiAgent start

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

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

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

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

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

For Windows

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

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

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


启动 / 停止 / 卸载

启动探针:

sudo /etc/init.d/CiAgent start

停止探针:

sudo /etc/init.d/CiAgent stop

重启探针:

sudo /etc/init.d/CiAgent restart

删除探针:

CentOS/EPEL:
sudo rpm -e CiAgent

Ubuntu:
sudo apt-get purge CiAgent

Windows:
控制面板 -> 程序 -> 程序和功能 -> 卸载

更新

CentOS / Redhat / Ubuntu / Debian更新

sudo CI_LICENSE_KEY=你的License密钥 bash -c "$(curl -L https://download.aiops.com/ci_agent/install_agent.sh)"

查看状态

查看探针是否运行:

sudo /etc/init.d/CiAgent status

查看探针状态信息:

sudo /etc/init.d/CiAgent info

查看配置文件是否正确:

sudo /etc/init.d/CiAgent configtest

配置

探针的配置文件:

/etc/CiAgent/CiAgent.conf

CiAgent.conf 配置项

[Main]

# The host of the Cloud Insight data collector server to send Agent data to
# 收集的数据发送的目的服务器地址
ci_url: http://cidc.aiops.com     

# The Cloud Insight license key to associate your Agent's data with your organization.
# 您的 Cloud Insight 的 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/CiAgent/collector.log  # collector 日志文件
# forwarder_log_file: /var/log/CiAgent/forwarder.log  # forwarder 日志文件
# statsd_log_file: /var/log/CiAgent/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/CiAgent/conf.d/

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


排查

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

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

  • /var/log/CiAgent/supervisord.log
  • /var/log/CiAgent/collector.log
  • /var/log/CiAgent/forwarder.log

Agent 配置文件

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

For Linux

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

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

2 directories, 49 files

里面包括 3 类配置文件:

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

配置 CiAgent

  • ci_url - 收集的数据发送的目的服务器地址
  • license_key - 您的 Cloud Insight 的 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:CiAgent
  • programs: 作为这个组的成员的程序的名字,程序需要在 program:x 中有定义

5分钟,开启你的跨云监控之旅 (`⌄´ )