function elasticsearch_connector_info_cluster in Elasticsearch Connector 7.2
Same name and namespace in other branches
- 7.5 elasticsearch_connector.admin.inc \elasticsearch_connector_info_cluster()
- 7 elasticsearch_connector.admin.inc \elasticsearch_connector_info_cluster()
Parameters
object $cluster:
Return value
array
1 string reference to 'elasticsearch_connector_info_cluster'
- elasticsearch_connector_menu in ./
elasticsearch_connector.module - Implements hook_menu().
File
- ./
elasticsearch_connector.admin.inc, line 184 - Created on Dec 23, 2013
Code
function elasticsearch_connector_info_cluster($cluster) {
elasticsearch_connector_set_breadcrumb(array(
l(t('Elasticsearch Clusters'), elasticsearch_connector_main_settings_path() . '/clusters'),
));
$cluster_status = elasticsearch_connector_get_cluster_info($cluster);
$cluster_client = $cluster_status['client'];
$node_rows = $cluster_statistics_rows = $cluster_health_rows = array();
if (isset($cluster_client) && !empty($cluster_status['info']) && elasticsearch_connector_check_status($cluster_status['info'])) {
$node_stats = $cluster_client
->getNodesProperties();
$total_docs = $total_size = 0;
if (isset($node_stats['stats'])) {
foreach ($node_stats['stats']['nodes'] as $node_key => $node_values) {
$row = array();
$row[] = array(
'data' => $node_values['name'],
);
$row[] = array(
'data' => $node_values['indices']['docs']['count'],
);
$row[] = array(
'data' => format_size($node_values['indices']['store']['size_in_bytes']),
);
$total_docs += $node_values['indices']['docs']['count'];
$total_size += $node_values['indices']['store']['size_in_bytes'];
$node_rows[] = $row;
}
}
$cluster_statistics_rows = array(
array(
array(
'data' => $cluster_status['health']['number_of_nodes'] . '<br/>' . t('Nodes'),
),
array(
'data' => $cluster_status['health']['active_shards'] + $cluster_status['health']['unassigned_shards'] . '<br/>' . t('Total Shards'),
),
array(
'data' => $cluster_status['health']['active_shards'] . '<br/>' . t('Successful Shards'),
),
array(
'data' => (isset($cluster_status['state']['metadata']['indices']) ? count($cluster_status['state']['metadata']['indices']) : 0) . '<br/>' . t('Indices'),
),
array(
'data' => $total_docs . '<br/>' . t('Total Documents'),
),
array(
'data' => format_size($total_size) . '<br/>' . t('Total Size'),
),
),
);
$cluster_health_rows = array();
$cluster_health_mapping = array(
'cluster_name' => t('Cluster name'),
'status' => t('Status'),
'timed_out' => t('Time out'),
'number_of_nodes' => t('Number of nodes'),
'number_of_data_nodes' => t('Number of data nodes'),
'active_primary_shards' => t('Active primary shards'),
'active_shards' => t('Active shards'),
'relocating_shards' => t('Relocating shards'),
'initializing_shards' => t('Initializing shards'),
'unassigned_shards' => t('Unassigned shards'),
'delayed_unassigned_shards' => t('Delayed unassigned shards'),
'number_of_pending_tasks' => t('Number of pending tasks'),
'number_of_in_flight_fetch' => t('Number of in flight fetch'),
);
foreach ($cluster_status['health'] as $health_key => $health_value) {
$row = array();
$row[] = array(
'data' => $cluster_health_mapping[$health_key],
);
$row[] = array(
'data' => $health_value === FALSE ? 'False' : $health_value,
);
$cluster_health_rows[] = $row;
}
}
$output['cluster_statistics_wrapper'] = array(
'#type' => 'fieldset',
'#title' => t('Cluster statistics'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$output['cluster_statistics_wrapper']['nodes'] = array(
'#theme' => 'table',
'#header' => array(
array(
'data' => t('Node name'),
),
array(
'data' => t('Documents'),
),
array(
'data' => t('Size'),
),
),
'#rows' => $node_rows,
);
$output['cluster_statistics_wrapper']['cluster_statistics'] = array(
'#theme' => 'table',
'#header' => array(
array(
'data' => t('Total'),
'colspan' => 6,
),
),
'#rows' => $cluster_statistics_rows,
'#attributes' => array(
'class' => array(
'admin-elasticsearch-statistics',
),
),
);
$output['cluster_health'] = array(
'#theme' => 'table',
'#header' => array(
array(
'data' => t('Cluster Health'),
'colspan' => 2,
),
),
'#rows' => $cluster_health_rows,
'#attributes' => array(
'class' => array(
'admin-elasticsearch-health',
),
),
);
return $output;
}