一、Grafana 6.7.3 安装与配置
二、InfluxDB 1.1.0 和 1.8.0 版本的安装及Web界面启用
三、Python操作InfluxDB时序数据库
四、使用Python监控本地资源并将数据写入InfluxDB,结合Grafana进行可视化监控
离线安装Cloudera Manager插件以监控CDH集群
本文将指导您如何安装Cloudera Manager (CM) 插件,并通过Grafana实现对CDH集群健康状态和资源使用的全面监控。该插件通过调用CM API接口来获取数据。
Github:https://github.com/foursquare/datasource-plugin-clouderamanager
下载插件
从官方地址下载:https://grafana.com/grafana/plugins/foursquare-clouderamanager-datasource/installation
配置Grafana插件路径
Grafana的配置文件位于/etc/grafana/grafana.ini,默认插件路径为/var/lib/grafana/plugins。如需更改默认路径,可编辑此文件并修改以下参数:
[paths]
# Directory where Grafana will automatically scan and look for plugins
plugins = /var/lib/grafana/plugins
将下载的zip包解压至上述路径:
unzip foursquare-datasource-plugin-clouderamanager-v0.9.2-0-g9ac3d25.zip
重启Grafana服务
使用以下命令重启Grafana服务:
# CentOS 7
systemctl restart grafana-server
systemctl enable grafana-server
# CentOS 6
service grafana-server restart
chkconfig grafana-server on
重新登录Grafana后,您可以在数据源列表的“Others”分类中看到已添加的Cloudera Manager插件。
配置Cloudera Manager插件数据源
1. 在CM中添加只读账户
使用管理员账户登录CM,依次点击“管理”->“用户”->“添加用户”,输入用户名和密码,并选择“只读”角色。
2. 配置插件数据源
根据下图配置,输入CM的地址以及刚才创建的只读账户信息。
使用插件监控CDH集群
示例1: 监控Impala查询数量
执行以下SQL语句,查看Impala中正在执行的查询数量:
SELECT total_impala_num_queries_registered_across_impalads AS "总查询"
WHERE entityName = "impala" AND category = SERVICE;
示例2: 组件健康状态
请注意,不同集群中的某些组件(如Spark)的entityName可能不同。其他组件如Impala Daemon、Hive Server2等也有各自的entityName。可以通过下面的方法找到对应的entityName。
SELECT (health_good_rate + health_concerning_rate) * 100 AS "Hdfs" WHERE entityName="hdfs:nameservice1";
SELECT (health_good_rate + health_concerning_rate) * 100 AS "Yarn" WHERE entityName="yarn";
SELECT (health_good_rate + health_concerning_rate) * 100 AS "Hive" WHERE entityName="hive";
SELECT (health_good_rate + health_concerning_rate) * 100 AS "Impala" WHERE entityName="impala";
SELECT (health_good_rate + health_concerning_rate) * 100 AS "Hbase" WHERE entityName="hbase";
SELECT (health_good_rate + health_concerning_rate) * 100 AS "Kudu" WHERE entityName="kudu";
SELECT (health_good_rate + health_concerning_rate) * 100 AS "Spark" WHERE entityName="spar40365358-SPARK_YARN_HISTORY_SERVER-84731ef5cb40c534e51774a39";
SELECT (health_good_rate + health_concerning_rate) * 100 AS "ZK" WHERE entityName="zookeeper";
查找服务对应的entityName
在CM中,许多图表可以展开查看其查询命令。您可以直接使用这些查询命令在Grafana中通过CM插件进行查询。例如,查看集群当前的CPU使用率:
同样的方法可以用于查找其他服务的entityName。例如,找到Spark History Server的entityName:
点击 Spark -> 实例 -> HistoryServer: