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 由 Collector
、Forwarder
、Onestatsd
3 部分构成。
info
指令会显示这 3 部分的时间戳、Host 信息、进程信息,以及依赖的配置文件路径和日志路径。当然,还包括数据采集的信息。
status
显示 Agent 目前的运行状态。
configtest
和 configcheck
用于配置文件的检查。而 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 keyproxy_host
- 代理服务地址proxy_port
- 代理服务端口proxy_user
- 代理服务账户proxy_password
- 代理服务密码skip_ssl_validation
- 跳过 ssl 验证,此时 ci_url 后面的地址 https 改为 httphostname
- 主机名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 没有配置,会尝试连接一个本地的 syslogsyslog_host
- syslog 地址syslog_port
- syslog 端口
配置 supervisor.conf
以下仅列出探针用到的配置,如果有疑问,可以查看更详细的官方 supervisor 配置文档。
supervisorctl
serverurl
: 连接 supervisord 服务的地址,可以是 url 或者 unix socketunix_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, blatherlogfile
: 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
中有定义