Icinga-core 1.4.0
next gen monitoring
cgi/statusmap.c File Reference
#include "../include/config.h"
#include "../include/common.h"
#include "../include/objects.h"
#include "../include/macros.h"
#include "../include/statusdata.h"
#include "../include/cgiutils.h"
#include "../include/getcgi.h"
#include "../include/cgiauth.h"
#include <gd.h>
#include <gdfonts.h>

Go to the source code of this file.

Data Structures

struct  layer_struct

Defines

#define UNKNOWN_GD2_ICON   "unknown.gd2"
#define UNKNOWN_ICON_IMAGE   "unknown.gif"
#define ICINGA_GD2_ICON   "icinga.gd2"
#define DEFAULT_NODE_WIDTH   40
#define DEFAULT_NODE_HEIGHT   65
#define DEFAULT_NODE_VSPACING   15
#define DEFAULT_NODE_HSPACING   45
#define DEFAULT_PROXIMITY_WIDTH   1000
#define DEFAULT_PROXIMITY_HEIGHT   800
#define MINIMUM_PROXIMITY_WIDTH   250
#define MINIMUM_PROXIMITY_HEIGHT   200
#define COORDS_WARNING_WIDTH   650
#define COORDS_WARNING_HEIGHT   60
#define CIRCULAR_DRAWING_RADIUS   100
#define LAYOUT_USER_SUPPLIED   0
#define LAYOUT_SUBLAYERS   1
#define LAYOUT_COLLAPSED_TREE   2
#define LAYOUT_BALANCED_TREE   3
#define LAYOUT_CIRCULAR   4
#define LAYOUT_CIRCULAR_MARKUP   5
#define LAYOUT_CIRCULAR_BALLOON   6

Typedefs

typedef struct layer_struct layer

Functions

int process_cgivars (void)
void display_page_header (void)
void display_map (void)
void calculate_host_coords (void)
void calculate_total_image_bounds (void)
void calculate_canvas_bounds (void)
void calculate_canvas_bounds_from_host (char *)
void calculate_scaling_factor (void)
void find_eligible_hosts (void)
void load_background_image (void)
void draw_background_image (void)
void draw_background_extras (void)
void draw_host_links (void)
void draw_hosts (void)
void draw_host_text (char *, int, int)
void draw_text (char *, int, int, int)
void write_host_popup_text (host *)
int initialize_graphics (void)
gdImagePtr load_image_from_file (char *)
void write_graphics (void)
void cleanup_graphics (void)
void draw_line (int, int, int, int, int)
void draw_dotted_line (int, int, int, int, int)
void draw_dashed_line (int, int, int, int, int)
int is_host_in_layer_list (host *)
int add_layer (char *)
void free_layer_list (void)
void print_layer_url (int)
int number_of_host_layer_members (host *, int)
int max_child_host_layer_members (host *)
int host_child_depth_separation (host *, host *)
int max_child_host_drawing_width (host *)
int number_of_host_services (host *)
void calculate_balanced_tree_coords (host *, int, int)
void calculate_circular_coords (void)
void calculate_circular_layer_coords (host *, double, double, int, int)
void draw_circular_markup (void)
void draw_circular_layer_markup (host *, double, double, int, int)
int main (int argc, char **argv)

Variables

char main_config_file [MAX_FILENAME_LENGTH]
char url_html_path [MAX_FILENAME_LENGTH]
char physical_images_path [MAX_FILENAME_LENGTH]
char url_images_path [MAX_FILENAME_LENGTH]
char url_logo_images_path [MAX_FILENAME_LENGTH]
char url_stylesheets_path [MAX_FILENAME_LENGTH]
char url_js_path [MAX_FILENAME_LENGTH]
hosthost_list
hostgrouphostgroup_list
serviceservice_list
hoststatus * hoststatus_list
servicestatus * servicestatus_list
char * statusmap_background_image
int default_statusmap_layout_method
char physical_logo_images_path [MAX_FILENAME_LENGTH]
authdata current_authdata
int content_type
gdImagePtr unknown_logo_image = NULL
gdImagePtr logo_image = NULL
gdImagePtr map_image = NULL
gdImagePtr background_image = NULL
int color_white = 0
int color_black = 0
int color_red = 0
int color_lightred = 0
int color_green = 0
int color_lightgreen = 0
int color_blue = 0
int color_yellow = 0
int color_orange = 0
int color_grey = 0
int color_lightgrey = 0
int color_transparency_index = 0
int color_transparency_index_r
int color_transparency_index_g
int color_transparency_index_b
int embedded
int refresh
int display_header
int daemon_check
int display_popups = TRUE
int use_links = TRUE
int use_text = TRUE
int use_highlights = TRUE
int user_supplied_canvas = FALSE
int user_supplied_scaling = FALSE
int layout_method = LAYOUT_USER_SUPPLIED
int proximity_width = DEFAULT_PROXIMITY_WIDTH
int proximity_height = DEFAULT_PROXIMITY_HEIGHT
int coordinates_were_specified = FALSE
int scaled_image_width = 0
int scaled_image_height = 0
int canvas_width = 0
int canvas_height = 0
int total_image_width = 0
int total_image_height = 0
int max_image_width = 0
int max_image_height = 0
double scaling_factor = 1.0
double user_scaling_factor = 1.0
int background_image_width = 0
int background_image_height = 0
int canvas_x = 0
int canvas_y = 0
int bottom_margin = 0
int draw_child_links = FALSE
int draw_parent_links = FALSE
int draw_nagios_icon = FALSE
int nagios_icon_x = 0
int nagios_icon_y = 0
time_t program_start
layerlayer_list = NULL
int exclude_layers = TRUE
int all_layers = FALSE
int display_type = DISPLAY_HOSTS
int show_all_hosts = TRUE
int show_all_hostgroups = TRUE
int show_all_servicegroups = TRUE
char * host_name = "all"
char * host_filter = NULL
char * hostgroup_name = NULL
char * servicegroup_name = NULL
char * service_desc = NULL
char * service_filter = NULL
int CGI_ID = STATUSMAP_CGI_ID

Define Documentation

#define CIRCULAR_DRAWING_RADIUS   100

Definition at line 83 of file statusmap.c.

#define COORDS_WARNING_HEIGHT   60

Definition at line 81 of file statusmap.c.

#define COORDS_WARNING_WIDTH   650

Definition at line 80 of file statusmap.c.

#define DEFAULT_NODE_HEIGHT   65

Definition at line 69 of file statusmap.c.

#define DEFAULT_NODE_HSPACING   45

Definition at line 72 of file statusmap.c.

#define DEFAULT_NODE_VSPACING   15

Definition at line 71 of file statusmap.c.

#define DEFAULT_NODE_WIDTH   40

Definition at line 68 of file statusmap.c.

#define DEFAULT_PROXIMITY_HEIGHT   800

Definition at line 75 of file statusmap.c.

#define DEFAULT_PROXIMITY_WIDTH   1000

Definition at line 74 of file statusmap.c.

#define ICINGA_GD2_ICON   "icinga.gd2"

Definition at line 48 of file statusmap.c.

#define LAYOUT_BALANCED_TREE   3

Definition at line 88 of file statusmap.c.

#define LAYOUT_CIRCULAR   4

Definition at line 89 of file statusmap.c.

#define LAYOUT_CIRCULAR_BALLOON   6

Definition at line 91 of file statusmap.c.

#define LAYOUT_CIRCULAR_MARKUP   5

Definition at line 90 of file statusmap.c.

#define LAYOUT_COLLAPSED_TREE   2

Definition at line 87 of file statusmap.c.

#define LAYOUT_SUBLAYERS   1

Definition at line 86 of file statusmap.c.

#define LAYOUT_USER_SUPPLIED   0

Definition at line 85 of file statusmap.c.

#define MINIMUM_PROXIMITY_HEIGHT   200

Definition at line 78 of file statusmap.c.

#define MINIMUM_PROXIMITY_WIDTH   250

Definition at line 77 of file statusmap.c.

#define UNKNOWN_GD2_ICON   "unknown.gd2"

Definition at line 46 of file statusmap.c.

#define UNKNOWN_ICON_IMAGE   "unknown.gif"

Definition at line 47 of file statusmap.c.


Typedef Documentation

typedef struct layer_struct layer

Function Documentation

int add_layer ( char *  group_name)

Definition at line 2171 of file statusmap.c.

void calculate_balanced_tree_coords ( host parent,
int  x,
int  y 
)

Definition at line 2391 of file statusmap.c.

void calculate_canvas_bounds ( void  )

Definition at line 1148 of file statusmap.c.

void calculate_canvas_bounds_from_host ( char *  host_name)

Definition at line 1175 of file statusmap.c.

void calculate_circular_coords ( void  )

Definition at line 2432 of file statusmap.c.

void calculate_circular_layer_coords ( host parent,
double  start_angle,
double  useable_angle,
int  layer,
int  radius 
)

Definition at line 2481 of file statusmap.c.

void calculate_host_coords ( void  )

Definition at line 786 of file statusmap.c.

void calculate_scaling_factor ( void  )

Definition at line 1216 of file statusmap.c.

void calculate_total_image_bounds ( void  )

Definition at line 1095 of file statusmap.c.

void cleanup_graphics ( void  )

Definition at line 2152 of file statusmap.c.

void display_map ( void  )

Definition at line 737 of file statusmap.c.

void display_page_header ( void  )

Definition at line 521 of file statusmap.c.

void draw_background_extras ( void  )

Definition at line 1342 of file statusmap.c.

void draw_background_image ( void  )

Definition at line 1320 of file statusmap.c.

void draw_circular_layer_markup ( host parent,
double  start_angle,
double  useable_angle,
int  layer,
int  radius 
)

Definition at line 2571 of file statusmap.c.

void draw_circular_markup ( void  )

Definition at line 2561 of file statusmap.c.

void draw_dashed_line ( int  x1,
int  y1,
int  x2,
int  y2,
int  color 
)
void draw_dotted_line ( int  x1,
int  y1,
int  x2,
int  y2,
int  color 
)

Definition at line 1974 of file statusmap.c.

void draw_host_links ( void  )

Definition at line 1360 of file statusmap.c.

void draw_host_text ( char *  name,
int  x,
int  y 
)

Definition at line 1780 of file statusmap.c.

void draw_hosts ( void  )

Definition at line 1494 of file statusmap.c.

void draw_line ( int  x1,
int  y1,
int  x2,
int  y2,
int  color 
)
void draw_text ( char *  buffer,
int  x,
int  y,
int  text_color 
)

Definition at line 1764 of file statusmap.c.

void find_eligible_hosts ( void  )

Definition at line 1247 of file statusmap.c.

void free_layer_list ( void  )

Definition at line 2200 of file statusmap.c.

int host_child_depth_separation ( host parent,
host child 
)

Definition at line 2268 of file statusmap.c.

int initialize_graphics ( void  )

Definition at line 2032 of file statusmap.c.

int is_host_in_layer_list ( host hst)

Definition at line 2217 of file statusmap.c.

void load_background_image ( void  )

Definition at line 1292 of file statusmap.c.

gdImagePtr load_image_from_file ( char *  filename)

Definition at line 2089 of file statusmap.c.

int main ( int  argc,
char **  argv 
)

Definition at line 237 of file statusmap.c.

int max_child_host_drawing_width ( host parent)

Definition at line 2346 of file statusmap.c.

int max_child_host_layer_members ( host parent)

Definition at line 2324 of file statusmap.c.

int number_of_host_layer_members ( host parent,
int  layer 
)

Definition at line 2305 of file statusmap.c.

int number_of_host_services ( host hst)

Definition at line 623 of file outages.c.

void print_layer_url ( int  get_method)

Definition at line 2242 of file statusmap.c.

int process_cgivars ( void  )
void write_graphics ( void  )

Definition at line 2132 of file statusmap.c.

void write_host_popup_text ( host hst)

Definition at line 1833 of file statusmap.c.


Variable Documentation

int all_layers = FALSE

Definition at line 221 of file statusmap.c.

gdImagePtr background_image = NULL

Definition at line 154 of file statusmap.c.

Definition at line 201 of file statusmap.c.

Definition at line 200 of file statusmap.c.

int bottom_margin = 0

Definition at line 206 of file statusmap.c.

int canvas_height = 0

Definition at line 193 of file statusmap.c.

int canvas_width = 0

Definition at line 192 of file statusmap.c.

int canvas_x = 0

Definition at line 203 of file statusmap.c.

int canvas_y = 0

Definition at line 204 of file statusmap.c.

int CGI_ID = STATUSMAP_CGI_ID

ID to identify the cgi for functions in cgiutils.c

Definition at line 235 of file statusmap.c.

int color_black = 0

Definition at line 156 of file statusmap.c.

int color_blue = 0

Definition at line 161 of file statusmap.c.

int color_green = 0

Definition at line 159 of file statusmap.c.

int color_grey = 0

Definition at line 164 of file statusmap.c.

Definition at line 160 of file statusmap.c.

int color_lightgrey = 0

Definition at line 165 of file statusmap.c.

int color_lightred = 0

Definition at line 158 of file statusmap.c.

int color_orange = 0

Definition at line 163 of file statusmap.c.

int color_red = 0

Definition at line 157 of file statusmap.c.

Definition at line 166 of file statusmap.c.

Definition at line 130 of file cgiutils.c.

Definition at line 129 of file cgiutils.c.

Definition at line 128 of file cgiutils.c.

int color_white = 0

Definition at line 155 of file statusmap.c.

int color_yellow = 0

Definition at line 162 of file statusmap.c.

Definition at line 165 of file cgiutils.c.

Definition at line 188 of file statusmap.c.

Definition at line 147 of file statusmap.c.

Definition at line 169 of file cgiutils.c.

Definition at line 125 of file cgiutils.c.

Definition at line 167 of file cgiutils.c.

int display_popups = TRUE

Definition at line 176 of file statusmap.c.

int display_type = DISPLAY_HOSTS

determine the view (host/service)

Definition at line 223 of file statusmap.c.

int draw_child_links = FALSE

Definition at line 208 of file statusmap.c.

int draw_nagios_icon = FALSE

Definition at line 211 of file statusmap.c.

int draw_parent_links = FALSE

Definition at line 209 of file statusmap.c.

int embedded

Definition at line 166 of file cgiutils.c.

int exclude_layers = TRUE

Definition at line 220 of file statusmap.c.

char* host_filter = NULL

Definition at line 229 of file statusmap.c.

Definition at line 52 of file objects.c.

char* host_name = "all"

requested host name

the requested host name

Definition at line 228 of file statusmap.c.

Definition at line 56 of file objects.c.

char* hostgroup_name = NULL

requested hostgroup name

Definition at line 230 of file statusmap.c.

hoststatus* hoststatus_list

Definition at line 215 of file statusmap.c.

layer* layer_list = NULL

Definition at line 219 of file statusmap.c.

int layout_method = LAYOUT_USER_SUPPLIED

Definition at line 183 of file statusmap.c.

gdImagePtr logo_image = NULL

Definition at line 152 of file statusmap.c.

char main_config_file[MAX_FILENAME_LENGTH]

Definition at line 50 of file icingastats.c.

gdImagePtr map_image = NULL

Definition at line 153 of file statusmap.c.

Definition at line 197 of file statusmap.c.

int max_image_width = 0

Definition at line 196 of file statusmap.c.

int nagios_icon_x = 0

Definition at line 212 of file statusmap.c.

int nagios_icon_y = 0

Definition at line 213 of file statusmap.c.

char physical_images_path[MAX_FILENAME_LENGTH]

Definition at line 36 of file cgiutils.c.

char physical_logo_images_path[MAX_FILENAME_LENGTH]

Definition at line 145 of file statusmap.c.

time_t program_start

Definition at line 199 of file icinga.c.

int proximity_height = DEFAULT_PROXIMITY_HEIGHT

Definition at line 186 of file statusmap.c.

int proximity_width = DEFAULT_PROXIMITY_WIDTH

Definition at line 185 of file statusmap.c.

int refresh

Definition at line 168 of file cgiutils.c.

Definition at line 191 of file statusmap.c.

Definition at line 190 of file statusmap.c.

double scaling_factor = 1.0

Definition at line 198 of file statusmap.c.

char* service_desc = NULL

requested service name

the requested service name

Definition at line 232 of file statusmap.c.

char* service_filter = NULL

Definition at line 233 of file statusmap.c.

Definition at line 53 of file objects.c.

char* servicegroup_name = NULL

requested servicegroup name

Definition at line 231 of file statusmap.c.

servicestatus* servicestatus_list
int show_all_hostgroups = TRUE

Definition at line 225 of file statusmap.c.

int show_all_hosts = TRUE

if historical data is requested for all hosts

Definition at line 224 of file statusmap.c.

Definition at line 226 of file statusmap.c.

Definition at line 53 of file cgiutils.c.

Definition at line 195 of file statusmap.c.

Definition at line 194 of file statusmap.c.

gdImagePtr unknown_logo_image = NULL

Definition at line 151 of file statusmap.c.

char url_html_path[MAX_FILENAME_LENGTH]

Definition at line 38 of file cgiutils.c.

char url_images_path[MAX_FILENAME_LENGTH]

Definition at line 41 of file cgiutils.c.

char url_js_path[MAX_FILENAME_LENGTH]

Definition at line 44 of file cgiutils.c.

char url_logo_images_path[MAX_FILENAME_LENGTH]

Definition at line 42 of file cgiutils.c.

char url_stylesheets_path[MAX_FILENAME_LENGTH]

Definition at line 43 of file cgiutils.c.

int use_highlights = TRUE

Definition at line 179 of file statusmap.c.

int use_links = TRUE

Definition at line 177 of file statusmap.c.

int use_text = TRUE

Definition at line 178 of file statusmap.c.

double user_scaling_factor = 1.0

Definition at line 199 of file statusmap.c.

int user_supplied_canvas = FALSE

Definition at line 180 of file statusmap.c.

int user_supplied_scaling = FALSE

Definition at line 181 of file statusmap.c.

 All Data Structures Files Functions Variables Typedefs Defines