开始使用 Cloud Insight
开始使用 Cloud Insight 分为几步:
- 安装 Cloud Insight Agent
- 修改 Agent 配置文件
- 查看操作系统指标
- 配置 Cloud Insight 监控服务
- 查看监控服务数据
I.安装 Cloud Insight Agent
在 Cloud Insight 产品界面「设置 -> 添加平台」中会显示安装 Agent 指令,我们以 Debian 为例:
需要注意的事项:
CI_LICENSE_KEY
后面接的是您私有的 License Key,在您注册成功后自动生成,故请勿从他处复制或私自修改。- 若您的系统需要管理员权限,请在指令最前方加上
sudo
执行,并输入管理员密码。
常见的错误提示
在探针安装过程中,常见的几种错误类型(点击以下链接查看解决办法):
- 您的主机名称为 localhost 无法通过安装 : Unable to reliably determine host name
- 机器编码不支持
utf-8
编码:TypeError('expected string or buffer')
若您的错误类型不属于以上任何一种,您可以:
- 查看 Agent 安装常见错误 • 文档
- 进行手动安装
- 提交工单给 Cloud Insight 技术支持人员
手动安装
1.下载 Cloud Insight Agent 文件
$ wget http://download.aiops.com/ci_agent/CiAgent_x.x.0_amd64.deb (可以自行查看当前版本,其中amd64/i386分别对应64位/32位系统)
注:请不要复制中文的解释字符:(可以自行查看当前版本)
2.安装 Cloud Insight Agent
$ dpkg -i CiAgent_x.x.0-1_amd64.deb (修改版本号)
注:请不要复制中文的解释字符:(修改版本号)
3.配置 License Key
$ cd /etc/CiAgent/
$ cp CiAgent.conf.example CiAgent.conf
$ vi CiAgent.conf (修改成自己的 license_key)
注:请不要复制中文的解释字符:(修改成自己的 license_key)
4.重启 Cloud Insight Agent
$ /etc/init.d/CiAgent restart
II.修改 Agent 配置文件
在使用 Cloud Insight 前,需要先了解 Agent 的目录结构,方便日后 Agent 错误排查,以及了解采集的数据。
$ /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
Agent 安装在 /etc/init.d/CiAgent
路径,而配置文件的路径都在 /etc/CiAgent
。
所以所有的探针执行操作,都需要将路径定位至 /etc/init.d/CiAgent
路径,如 Agent 启动命令:
$ /etc/init.d/CiAgent start
而修改配置文件,都在 /etc/CiAgent
路径下,如修改 Agent 中的 Hostname
,需要:
$ vi /etc/CiAgent/CiAgent.conf
配置文件类型
Agent 配置文件分为以下 3 类:
CiAgent.conf
Agent 配置文件conf.d/XXXXX.yaml
您需要监控的服务的配置文件supervisor.conf
supervisor 配置文件
注:Cloud Insight Agent 是通过 supervisor 进行进程管理,此处无需了解该配置。
第一次修改 Agent 配置文件
第一次打开 Agent 配置文件,建议阅读配置文件注释项,来了解配置项的含义。常用的配置项有:
license_key
您唯一识别号 License Keyhostname
给您主机起个名称,来区别其他主机上传的数据tags
主机标签信息,用来标识该主机的一些属性信息,更为方便地管理主机collector_log_file
Agent 模块 collector 的日志文件路径,相同的还有 forwareder 和 statsdci-url
数据发送的目标服务器地址,默认为 Cloud Insight 后端地址listen_port
Agent 监听端口号,默认为10010
问题排查相关指令
一般来说,Agent 在安装后会默认启动。如上文所示,常见问题可以通过:Agent 安装常见错误 • 文档 进行排查。
但是当您修改了 Agent 配置文件后,需要以下几种常用之类来帮助您更好地使用 Cloud Insight。
1.重启 Agent
$ /etc/init.d/CiAgent restart
类似的指令还有:
$ /etc/init.d/CiAgent restart
$ /etc/init.d/CiAgent stop
2.快速查看 Agent 状态
$ /etc/init.d/CiAgent status
3.查看 Agent 基本信息
$ /etc/init.d/CiAgent info
在 info
执行结果,您会看到:
- 系统时钟信息
- Agent 采集的数据统计信息
- Agent 3 个模块:Forwareder, Collector 和 OneStatsd 的运行状态
若出现异常情况会在 info
执行结果中标明。
4.打包日志文件提供给技术支持人员
$ /etc/init.d/CiAgent flare
若 Cloud Insight 文档不能解决您的问题,可以通过提交工单给 Cloud Insight 技术支持人员,来帮助您解决问题。
但是技术人员需要查看您的日志文件,此时可以通过 flare
对日志文件进行打包。
III.查看操作系统指标
成功安装 Agent 后,打开 Cloud Insight 产品页,就会看到安装成功的主机的操作系统相关指标。
图 1
您可以在以下三个地方查看操作系统相关指标:
- 平台 • 快速查看(如图 1)
- 系统概览仪表盘(如图 2):点击平台名称进入
- 平台仪表盘(如图 3):点击导航仪表盘进入
图 2
图 3
若您对操作系统指标的含义、采集单位不是很熟悉,建议阅读:system 数据指标解释 • 文档。
IV.配置 Cloud Insight 监控服务
至此,Cloud Insight Agent 安装成功。若您需要给探针添加数据库监控,如 MySQL, MongoDB 监控;或者 Tomcat 监控,HAProxy 监控。首先需要了解如何在 Agent 中配置这些服务。
Agent 采集 MySQL, Tomcat 这些平台服务的数据指标,依赖于服务自身提供的数据对外接口。如 MySQL 需要配置 Agent 授权,提供数据给 Agent 并由 Agent 发送至 Cloud Insight 后端;而 Tomcat 依赖于 JMX 来提供数据。
Cloud Insight Agent 采集平台服务数据的原理,分为以下 3 种:
若想要全面了解 Cloud Insight Agent 如何采集数据,并且灵活配置平台服务监控,建议阅读以上文章。
再次我们以 MySQL 和 Tomcat 为例,为大家介绍如何配置平台服务监控。
MySQL 监控
1.给 Cloud Insight 创建一个名为 cloudinsight
的角色
$ sudo mysql -e "CREATE USER 'cloudinsight'@'localhost' IDENTIFIED BY 'YourPassword';"
至此,我们为 MySQL 配置了一个名为 cloudinsight
的角色,并且密码为 YourPassword
。
2.为该角色赋予 performance_scheme
权限
$ sudo mysql -e "GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'cloudinsight'@'localhost' WITH MAX_USER_CONNECTIONS 5;"
$ sudo mysql -e "GRANT SELECT ON performance_schema.* TO 'cloudinsight'@'localhost';"
此处,cloudinsight@localhost
中地址可以修改为您实际环境中的地址;最大连接数默认为 5
。
3.确认权限是否创建成功
$ mysql -u cloudinsight --password=YourPassword -e "SHOW /*!50000 ENGINE*/ INNODB STATUS" | \
grep Uptime && echo -e "\033[0;32mMySQL user - OK\033[0m" || \
echo -e "\033[0;31mCannot connect to MySQL\033[0m"
mysql -u cloudinsight --password=YourPassword -e "show slave status" && \
echo -e "\033[0;32mMySQL grant - OK\033[0m" || \
echo -e "\033[0;31mMissing REPLICATION CLIENT grant\033[0m"
注:若您修改了密码和地址,请将其中的相关字段替换为您修改后的字符。
若出现相关成功提示,则代表授权已经配置成功。至此,您已经为 MySQL 增加了一个可以访问 MySQL 相关性能数据的角色 cloudinsight
。
我们还需要修改 Agent 中 mysql.yaml
文件来开启 MySQL 监控。
4.配置 mysql.yaml
将路径定位至 /etc/CiAgent/conf.d
$ cd /etc/CiAgent/conf.d
该目录下存储着 Cloud Insight 支持所有的平台服务监控的配置文件的示例文件,后缀为 *.yaml.example
。
若您不熟悉 yaml
语法,建议直接从示例文件中创建副本开启监控。
$ cp mysql.yaml.example mysql.yaml
或者阅读:YAML 格式须知 • 文档。
然后打开 mysql.yaml
文件。建议阅读配置项的注释,了解配置项的涵义。
常用的配置项有:
server
:MySQL 服务地址user
:配置的用户名称pass
:配置的用户密码tags
:给该 MySQL 以及采集的数据加上标签信息
若您的 MySQL 存在特殊情况,如 sock
路径不在默认路径下,或者需要关闭一些 MySQL 指标,都可以在配置文件中进行配置。
5.确定 Agent 是否采集到 MySQL 相关数据
执行 Agent Info 指令来查看,Agent 是否开始采集 MySQL 相关指标的数据。
$ /etc/init.d/CiAgent info
若出现以下提示信息,则代表 Agent 已经成功采集 MySQL 数据。
Checks
======
[...]
mysql
-----
- instance #0 [OK]
- Collected 8 metrics & 0 events`
Tomcat 监控
1.开启 JMXRemote
监控 Tomcat 的第一步是要检查 JMXRemote 是否处于 enable
状态。若没有处于 enable
状态,您可以添加以下参数至 setenv.sh
文件:
set CATALINA_OPTS=-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=%my.jmx.port%
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
或者查阅 Monitoring and Managing Tomcat • 官网文档
2.配置 tomcat.yaml
将路径定位至 /etc/CiAgent/conf.d
$ cd /etc/CiAgent/conf.d
该目录下存储着 Cloud Insight 支持所有的平台服务监控的配置文件的示例文件,后缀为 *.yaml.example
。
若您不熟悉 yaml
语法,建议直接从示例文件中创建副本开启监控。
$ cp tomcat.yaml.example tomcat.yaml
或者阅读:YAML 格式须知 • 文档。
然后打开 tomcat.yaml
文件。建议阅读配置项的注释,了解配置项的涵义。
常用的配置项有:
host
:Tomcat 所在主机,默认为 localhostport
:JMX 远程连接端口user
:JMX 远程连接用户名password
:JMX 远程连接密码name
:Tomcat 实例名称,将在 Cloud Insight 平台生成对应的标签,如:instance:tomcat_instance
java_bin_path
:探针找不到 Java 可执行路径时,需配置此项java_options
:Java JVM 对应项trust_store_path
:若 JMX 远程连接开启 SSL,需配置此项trust_store_password
:SSL 证书密码tags
:标签信息
由于 JMX 采集的指标特别多,而 Cloud Insight 认为只选取一些常用的指标,就可以满足大部分的用户场景。所以我们针对采集指标的数量,做了最大 350 条的限制。
至此,我们需要为您介绍 Agent 操作中的 jmx 指令。
$ sudo /etc/init.d/CiAgent jmx
如需要查看哪些指标因为数量限制未被 Agent 采集:
$ sudo /etc/init.d/CiAgent jmx list_limited_attributes
详细操作命令,以及如何自定义指标采集,请查阅:JMX 远程监控 • 文档。
3.确定 Agent 是否采集到 Tomcat 相关数据
执行 Agent Info 指令来查看,Agent 是否开始采集 Tomcat 相关指标的数据。
$ /etc/init.d/CiAgent info
若出现以下提示信息,则代表 Agent 已经成功采集 MySQL 数据。
Checks
======
[...]
tomcat
------
- instance #0 [OK]
- Collected 8 metrics & 0 events
V.查看监控服务数据
成功配置平台服务监控后,您就可以在 Cloud Insight 界面中看到相关指标了。
您可以在平台列表中,点击 MySQL 平台服务,快速查看 MySQL 运行情况和相关指标,如图 4。
图 4
或者前往仪表盘页面,查看为您定制的平台服务仪表盘 • MySQL 概览,了解 MySQL 的关键指标。如图 5。
图 5
想要了解 MySQL 每个指标的含义和单位,来更好地创建自定义仪表盘。建议前往指标概览页面,查看 MySQL 相关指标的含义和采集单位。如图 6.
图 6
延伸阅读
至此所有的快速入门指南,已经完毕。您可以点击以下链接,更为深入地了解 Cloud Insight。