Alignak-app Architecture¶
This Python module is a desktop application, with a system tray icon, for Alignak solution.
Application notify you when you have changes in your monitoring. You can trigger actions inside application, see status of monitored items, problems to solved and many other things.
Alignak-app have the following architecture:
- The
BackendClient
manage requests with Alignak backend. - The
ThreadManager
will launchBackendQThread(s)
to trigger requests inBackendClient
. - The
DataManager
will store data provided byBackendClient
inItems
. - The
QObjects
package display/update the data stored inDataManager
. - The
Utils
package contains settings, logs, installation,… - The
Locales
package contains translations.
Alignak-app will use a system of Installer
who use environment variables to run:
ALIGNAKAPP_USR_DIR
: contains settings of user (write rights)ALIGNAKAPP_LOG_DIR
: contains log files of App (write rights)ALIGNAKAPP_APP_DIR
: contains binaries of App (images, css, languages) (read rights)
The Login
manage user login if needed.
Alignak-App¶
Main Class¶
App¶
App manages the creation of all objects and QObjects for the whole application:
- Creation of
AppProgressBar
until the Data Manager is ready - Creation of
AppQMainWindow
- Creation of standard python objects (settings, css, localization)
-
class
alignak_app.app.
AlignakApp
¶ Bases:
PyQt5.QtCore.QObject
Class who build Alignak-app QObjects, initialize configurations, systray icon and Thread Manager.
-
static
check_threads
()¶ Launch periodically threads
-
static
quit_launched_threads
()¶ Exit the threads that were started when the application started
Parameters: launched_threads (list) – list of threads that have been launched Returns: empty list if all the threads have been left or current list Return type: list
-
start
(username=None, password=None)¶ Start Alignak-app
-
static
-
class
alignak_app.app.
AppProgressBar
¶ Bases:
PyQt5.QtWidgets.QProgressBar
AppProgressBar in busy mode with text displayed at the center.
Backend¶
The Backend package contains classes to manage alignak data
Backend¶
Backend manage connection and access to Alignak backend. It also fill
DataManager
.
-
class
alignak_app.backend.backend.
BackendClient
¶ Bases:
object
Class who collect informations with Backend-Client and returns data for Alignak-App.
-
get
(endpoint, params=None, projection=None, all_items=False)¶ GET on alignak Backend REST API.
Parameters: Returns: desired request of app_backend
Return type:
-
get_backend_status_icon
()¶ Return backend status icon name
Returns: daemon status icon name Return type: str
-
login
(username=None, password=None, check=False)¶ Connect to alignak backend
Parameters: Returns: True if connected or False if not
Return type:
-
patch
(endpoint, data, headers)¶ PATCH on alignak Backend REST API
Parameters: Returns: dictionary containing patch response from the backend
Return type:
-
post
(endpoint, data, headers=None)¶ POST on alignak Backend REST API
Parameters: Returns: response (creation information)
Return type:
-
query_daemons_data
()¶ Launch request for “alignakdaemon” endpoint
-
query_history_data
(hostname=None, host_id=None)¶ Launch request for “history” endpoint but only for hosts in “data_manager”
Parameters:
-
query_hosts_data
()¶ Launch request for “host” endpoint
-
query_livesynthesis_data
()¶ Launch request for “livesynthesis” endpoint
-
query_notifications_data
()¶ Launch request for “history” endpoint but only for notifications of current user
-
query_period_data
()¶ Launch a request on
timeperiod
endpoint
-
query_realms_data
()¶ Launch a request on
realm
endpoint
-
query_services_data
()¶ Launch request for “service” endpoint
-
query_user_data
()¶ Launch request for “user” endpoint
-
Data Manager¶
DataManager manage alignak data provided by
Client
.
-
class
alignak_app.backend.datamanager.
DataManager
¶ Bases:
object
Class who store alignak data
-
get_all_hostnames
()¶ Collect and return all names of all hosts
Returns: all names of all hosts Return type: list
-
get_host_services
(host_id)¶ Return services of wanted host
Parameters: host_id (str) – ‘_id’ of host Returns: services of host Return type: list
-
get_host_with_services
(host_field)¶ Returns the desired host and all its services
Parameters: host_field (str) – field of wanted host: host_id | name Returns: dict with host data and its associated services Return type: dict
-
get_item
(item_type, key, value=None)¶ Return the wanted item for item type who contain the value
Parameters: Returns: wanted item
Return type: alignak_app.items.item.*
-
get_items_and_problems
()¶ Return total of items and problems
Returns: dict of problem and total number for each item Return type: dict
-
get_period_name
(period)¶ Return the period name or alias
Parameters: period (str) – wanted period _id
Returns: the wanted realm alias or name if available Return type: str
-
get_problems
()¶ Return items who are in problem: hosts and services
Returns: dict of items in problem, and number for each type of item Return type: dict
-
get_realm_name
(realm)¶ Return the realm name or alias
Parameters: realm (str) – wanted realm _id
Returns: the wanted realm alias or name if available Return type: str
-
get_synthesis_count
()¶ Get on “synthesis” endpoint and return the states of hosts and services
Returns: states of hosts and services. Return type: dict
-
is_ready
()¶ Check if DataManager is filled and ready
Returns: if ready or current status Return type: str
-
update_database
(item_type, items_list)¶ Update an item type in database
Parameters: - item_type (str) – type of item to update
- items_list (list | dict) – list of items for the wanted type
-
update_item_data
(item_type, item_id, data)¶ Update a single item in database
Parameters: - item_type –
- item_id –
- data –
Returns:
-
Items¶
The Items package contains classes who create items who are stored in
DataManager
.
Item¶
Item is parent class for all items objects:
-
class
alignak_app.items.item.
Item
¶ Bases:
object
Class who create an item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
-
alignak_app.items.item.
get_host_msg_and_event_type
(host_and_services)¶ Return corresponding event icon to number of services who are in alert
Parameters: host_and_services (dict) – Host() item and its Service() items Returns: event type and message Return type: dict
-
alignak_app.items.item.
get_icon_name
(item_type, state, acknowledge, downtime, monitored)¶ Return icon for a host or a service item
Parameters: Returns: icon name for icon
Return type:
-
alignak_app.items.item.
get_icon_name_from_state
(item_type, state)¶ Return icon name from state for host or service
Parameters: Returns:
Daemon¶
Daemon manage creation of daemon item for backend alignakdaemon
endpoint
-
class
alignak_app.items.daemon.
Daemon
¶ Bases:
alignak_app.items.item.Item
Class who create a daemon item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_daemons_names
()¶ Returns all the names of daemons
Returns: all the names of daemons Return type: list
-
static
get_daemons_status_icon
()¶ Return daemons status icon name
Returns: daemons status icon name Return type: str
-
static
get_request_model
()¶ Return the request model for alignakdaemon requests
Returns: request model for alignakdaemon endpoint Return type: dict
-
static
get_states
()¶ Return states of daemons or backend
Parameters: status (str) – status of item Returns: the status string Return type: str
-
Event¶
Event manage creation of event item (Notifications collected from history
endpoint)
-
class
alignak_app.items.event.
Event
¶ Bases:
alignak_app.items.item.Item
Class who create an event item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_request_model
()¶ Return the request model for notification requests
Returns: request model for history endpoint (only for notifications) Return type: dict
-
History¶
History manage creation of history item for backend history
endpoint
-
class
alignak_app.items.history.
History
¶ Bases:
alignak_app.items.item.Item
Class who create a history item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_history_icon_name_from_message
(event_type)¶ Return icon name related to message or event type
Parameters: Returns: icon name
Return type:
-
static
get_request_model
()¶ Return the request model for history requests
Returns: request model for history endpoint Return type: dict
-
Host¶
Host manage creation of host item for backend host
endpoint
-
class
alignak_app.items.host.
Host
¶ Bases:
alignak_app.items.item.Item
Class who create a host item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_available_icons
()¶ Return list of available icons for a Host item
Returns: list of available icons for Host Return type: list
-
static
get_request_model
()¶ Return the request model for host requests
Returns: request model for host endpoint Return type: dict
-
Live Synthesis¶
Live Synthesis manage creation of livesynthesis item for backend livesynthesis
endpoint
-
class
alignak_app.items.livesynthesis.
LiveSynthesis
¶ Bases:
alignak_app.items.item.Item
Class who create livesynthesis item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_request_model
()¶ Return the request model for livesynthesis requests
Returns: request model for livesynthesis endpoint Return type: dict
-
static
get_synthesis_count_model
()¶ Return the synthesis count model
Returns: synthesis count model Return type: dict
-
Period¶
Period manage creation of period item for backend timeperiod
endpoint
-
class
alignak_app.items.period.
Period
¶ Bases:
alignak_app.items.item.Item
Class who create a period item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_request_model
()¶ Return the request model for timeperiod requests
Returns: request model for timeperiod endpoint Return type: dict
-
Realm¶
Realm manage creation of realm item for backend realm
endpoint
-
class
alignak_app.items.realm.
Realm
¶ Bases:
alignak_app.items.item.Item
Class who create a realm item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_request_model
()¶ Return the request model for realm requests
Returns: request model for realm endpoint Return type: dict
-
Service¶
Service manage creation of service item for backend service
endpoint
-
class
alignak_app.items.service.
Service
¶ Bases:
alignak_app.items.item.Item
Class who create a service item
-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_available_icons
()¶ Return list of available icons for a Service item
Returns: list of available icons for Service Return type: list
-
static
get_request_model
()¶ Return the request model for service requests
Returns: request model for service endpoint Return type: dict
-
static
get_service_states_nb
()¶ Return all service state in a dict with int() as zero
Returns: all service state with int() as zero Return type: dict
-
User¶
User manage creation of user item
-
class
alignak_app.items.user.
User
¶ Bases:
alignak_app.items.item.Item
Class who create user item for backend
user
endpoint-
create
(_id, data, name=None)¶ Create wanted item
Parameters:
-
static
get_request_model
()¶ Return the request model for user requests
Parameters: token (str) – token of user Returns: request model for user endpoint Return type: dict
-
Utils¶
The Utils package contains classes and functions configurations
Settings¶
Settings manage configurations of Alignak-app
settings.cfg
: contains configurations of Alignak-app (stored inALIGNAKAPP_USR_DIR
)images.ini
: contains all images names (stored inALIGNAKAPP_APP_DIR
)style.css
: contains css of Alignak-app (stored inALIGNAKAPP_APP_DIR
)
-
class
alignak_app.utils.config.
Settings
¶ Bases:
object
Class who read and create configuration for Alignak-app
-
edit_setting_value
(section, option, new_value)¶ Set an option in configuration file
Parameters:
-
get_config
(section, option, boolean=False)¶ Return global application configuration values
Parameters: Returns: configuration value
Return type: str | bool
-
get_image
(name)¶ Return the path of wanted image
Parameters: name (str) – name of image Returns: full path of image Return type: str
-
init_config
()¶ Initialize configurations
-
init_css
()¶ Init the css file and fill app_css
-
Installer¶
Installer check and manage installation of Alignak-app
- Check
ALIGNAKAPP_APP_DIR
,ALIGNAKAPP_USR_DIR
andALIGNAKAPP_LOG_DIR
folders - Check required files for application and user
- Install configuration and daemon files for user
-
class
alignak_app.utils.installer.
Installer
¶ Bases:
object
Class who create and check: folders, files and environment variables for Alignak-App
-
check_environment
(mode='start')¶ Assign fields to environment variables if they don’t exist
-
check_install_folders
()¶ Check Alignak-app folders
Returns: if all folders are present Return type: bool
-
check_installation
(mode='start')¶ Check Alignak-app installation
-
check_user_installation
()¶ Check user installation files
-
init_environment
()¶ Assign environment variables to fields if they exists
-
install
()¶ Install Alignak-app user files on system
-
System¶
System manage interactions with folders and files for Alignak-app
-
alignak_app.utils.system.
file_executable
(filename)¶ Make filename executable
Parameters: filename (str) – file to make executable
-
alignak_app.utils.system.
install_file
(origin_dir, dest_dir, filename)¶ Install (copy) filename from an origin folder to a destination folder
Parameters:
-
alignak_app.utils.system.
mkdir
(folder)¶ Make wanted folder
Parameters: folder (str) – folder to create Returns: if creation is success or not Return type: bool
-
alignak_app.utils.system.
read_config_file
(cfg_parser, filename)¶ Read configuration file and assign it to configParser object
Parameters: - cfg_parser (configparser.ConfigParser) – configparser object
- filename (str) – name of file to read
Returns: corresponding filename if read is success
Return type:
-
alignak_app.utils.system.
write_file
(origin_dir, dest_dir, filename, formatted_var=None)¶ Write a file from an origiin to a destination, with formatted variables if needed
Parameters:
Locales¶
The Locales package contains classes to manage translation.
QObjects¶
The QObjects package contains PyQt5 classes of Alignak-app
App Main¶
App Main manage creation of QMainWindow for:
-
class
alignak_app.qobjects.app_main.
AppQMainWindow
(parent=None)¶ Bases:
PyQt5.QtWidgets.QMainWindow
Class who create QMainWindow of Alignak-app
Connect dock QWidget buttons to host and problems tab
-
initialize
()¶ Initialize QMainWindow for App
-
mouseMoveEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
mousePressEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
open_host_widget
()¶ Show HostQWidget
-
open_problems_widget
()¶ Show ProblemsQWidget
Common¶
The Common package contains common QObjects for Alignak-app
Actions¶
Actions manage global QDialog’s for actions : Acknowledge and Downtime
-
class
alignak_app.qobjects.common.actions.
AckQDialog
(parent=None)¶ Bases:
PyQt5.QtWidgets.QDialog
Class who create Acknowledge QDialog for hosts/services
-
initialize
(item_type, item_name, comment)¶ Initialize Acknowledge QDialog
Parameters:
-
mouseMoveEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
mousePressEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
-
class
alignak_app.qobjects.common.actions.
ActionsQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class who create Actions QWidget
-
add_acknowledge
()¶ Create AckQDialog and manage acknowledge
-
add_downtime
()¶ Create DownQDialog and manage downtime
-
initialize
(item)¶ Initialize Actions QWidget
-
update_widget
()¶ Update QWidget
-
-
class
alignak_app.qobjects.common.actions.
DownQDialog
(parent=None)¶ Bases:
PyQt5.QtWidgets.QDialog
Class who create Downtime QDialog for hosts/services
-
duration_to_seconds
()¶ Return “duration” QTimeEdit value in seconds
Returns: “duration” in seconds Return type: int
-
handle_accept
()¶ Check if end_time timestamp is not lower than start_time
-
initialize
(item_type, item_name, comment)¶ Initialize Downtime QDialog
Parameters:
-
mouseMoveEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
mousePressEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
Buttons¶
Buttons manage global QPushButtons
Frames¶
Frames manage global QFrames for Alignak-app
-
class
alignak_app.qobjects.common.frames.
AppQFrame
(parent=None)¶ Bases:
PyQt5.QtWidgets.QFrame
Class who create a QFrame container for App QWidgets
-
add_widget
(widget)¶ Add the child QWidget of AppQWidget
Parameters: widget (QWidget) – QWidget to add
-
close_widget
()¶ Close QFrame and child widget
-
get_title_widget
(title)¶ Return the title QWidget for App windows
Parameters: title (str) – title of frame Returns: a title QWidget Return type: QWidget
-
minimize
()¶ Minimize QFrame
-
minimize_maximize
()¶ Minimize / Maximize QFrame
-
mouseMoveEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
mousePressEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
show_widget
()¶ Show and center QFrame and child widget
-
Labels¶
Labels manage global QLabels and QPixmaps
-
alignak_app.qobjects.common.labels.
get_icon_item
(item_type, problem_nb)¶ Return QPixmap with the corresponding image
Parameters: Returns: QPixmap with corresponding image
Return type: QPixmap
Widgets¶
Widgets manage global QWidgets
-
class
alignak_app.qobjects.common.widgets.
LogoQWidget
¶ Bases:
PyQt5.QtWidgets.QWidget
Class who manage creation of Logo QWidget
-
initialize
(child_widget, title, exitapp)¶ Initialize QWidget
Parameters:
-
minimize
()¶ Minimize QWidget
-
minimize_maximize
()¶ Minimize / Maximize QWidget
-
paintEvent
(_)¶ Override to apply “background-color” property of QWidget
-
-
alignak_app.qobjects.common.widgets.
center_widget
(widget)¶ Center QWidget
Parameters: widget (QWidget) – widget to center
-
alignak_app.qobjects.common.widgets.
get_logo_widget
(child_widget, title, exitapp=False)¶ Return LogoQWidget with alignak logo
Parameters: Returns: Logo QWidget with buttons and child QWidget
Return type: QWidget
Dock (Rigt part)¶
The Dock package contains classes who manage Dock UI (Right part)
Password¶
Password manage Qdialog for user password
Status¶
Status manage creation of QWidget and QDialog for Alignak status:
- Alignak daemons status: status of each daemons
- Alignak backend status: status of backend connection
-
class
alignak_app.qobjects.dock.status.
StatusQDialog
(parent=None)¶ Bases:
PyQt5.QtWidgets.QDialog
Class who create QWidget for Daemons status.
-
add_daemon_labels
(daemon_item, line)¶ Add daemon QLabels to layout
Parameters: - daemon_item (alignak_app.items.item_daemon.Daemon) – daemon item
- line (int) – current line of layout
-
add_daemon_titles_labels
(line)¶ Add QLabels titles for daemons to layout
Parameters: line (int) – current line of layout
Return QWidget with buttons
Returns: widget with ok and refresh buttons Return type: QWidget
-
initialize
()¶ Initialize QDialog
-
set_daemons_labels
(daemons)¶ Initialize the daemon QLabels for each daemons
Parameters: daemons (list) – list of daemon items
-
update_dialog
()¶ Update StatusQDialog labels
-
-
class
alignak_app.qobjects.dock.status.
StatusQWidget
¶ Bases:
PyQt5.QtWidgets.QWidget
Class who display daemons and backend status
-
initialize
()¶ Initialize QWidget
-
paintEvent
(_)¶ Override to paint background
-
show_status_dialog
()¶ Update and show StatusQDialog
-
update_status
()¶ Update daemons and backend status
-
Token¶
Token manage creation of QDialog for user token
User Notes¶
User Notes manage creation of QDialog for user notes
-
class
alignak_app.qobjects.dock.user_notes.
UserNotesQDialog
(parent=None)¶ Bases:
PyQt5.QtWidgets.QDialog
Class who create UserNotes QDialog
-
accept_notes
()¶ Set QDialog notes to Rejected or Accepted (prevent to patch for nothing)
-
get_user_notes_widget
()¶ Return notes QWidget
Parameters: notes (str) – notes of the user Returns: notes QWidget Return type: QWidget
-
initialize
(notes)¶ Initialize QDialog for UserNotesQDialog
-
User Options¶
User Options manage creation options of QDialogs for user notifications options
-
class
alignak_app.qobjects.dock.user_options.
UserOptionsQDialog
(parent=None)¶ Bases:
PyQt5.QtWidgets.QDialog
Class who create options QDialog
-
get_notifications_widget
(item_type, options)¶ Create QWidget with options and their icons
Parameters: Returns: QWidget with options and icons
Return type: QWidget
-
static
get_selected_options
(options)¶ Return the options who are selected or not
Parameters: Returns: dict of options selected
Return type:
-
Buttons¶
Buttons manage creation of QWidgets with QPush butttons for:
- Hosts Synthesys View
- Problems view
- User widget
- Webui to reach Alignak-Webui
Bases:
PyQt5.QtWidgets.QWidget
Class who create buttons for Dock QWidget
Initialize QWidget
Show UserQWidget
Update the QWidget buttons
Dock¶
Dock manage creation of QWidget for Dock (Right part)
Events¶
Events manage creation QWidget for events
-
class
alignak_app.qobjects.dock.events.
EventItem
¶ Bases:
PyQt5.QtWidgets.QListWidgetItem
Class who create an event QListWidgetItem
-
close_item
()¶ Hide items when timer is finished
-
static
get_color_event
()¶ Return corresponding color of event type
Parameters: event_type (str) – the type of event Returns: the associated color with the event Return type: str
-
initialize
(event_type, msg, timer=False, spied_on=False, host=None)¶ Initialize QListWidgetItem
Parameters:
-
-
class
alignak_app.qobjects.dock.events.
EventsQWidget
¶ Bases:
PyQt5.QtWidgets.QWidget
Class who create QWidget for events
-
add_event
(event_type, msg, timer=False, spied_on=False, host=None)¶ Add event to events list
Parameters:
-
initialize
()¶ Intialize QWidget
-
remove_event
(item=None)¶ Remove item when user double click on an item
Parameters: item (EventItem) – item to remove, else remove the current row
-
remove_timer_event
(event)¶ Remove EventItem with timer
Parameters: event (EventItem) – EventItem with timer
-
send_datamanager_events
()¶ Add events stored in DataManager
-
-
alignak_app.qobjects.dock.events.
get_events_widget
()¶ Return EventsQWidget instance
Returns: EventsQWidget instance Return type: EventsQWidget
-
alignak_app.qobjects.dock.events.
init_event_widget
()¶ Initialize the global EventsQWidget. Used for drag & drop and send events
-
alignak_app.qobjects.dock.events.
send_event
(event_type, msg, timer=False, spied_on=False, host=None)¶ Access function to simplify code in rest of application
Parameters: event_type – type of event, define color of EventItem() - green: [
OK
,UP
] - blue: [
UNKNOWN
,INFO
] - orange: [
WARNING
,UNREACHABLE
,WARN
] - red’: [
DOWN
,CRITICAL
,ALERT
] - yellow: [
ACK
] - yellow: [
DOWNTIME
] - yellow: [
TODO
]
Parameters: - green: [
Livestate¶
Livestate manage creation fo QWidget to resume number of:
- Number of hosts monitored and in problem
- Number of services monitored and in problem
- Number of item monitored and in problems
-
class
alignak_app.qobjects.dock.livestate.
LivestateQWidget
¶ Bases:
PyQt5.QtWidgets.QWidget
Class who display items livestate: hosts, services and number of problems
-
get_item_type_widget
(item_type, problem_nb, total_nb)¶ Create and return QWidget with backend data
Parameters: Returns: widget with its data
Return type: QWidget
-
initialize
()¶ Initialize QWidget
-
paintEvent
(_)¶ Override paintEvent to paint background
-
update_labels
()¶ Update QLabels of QWidget
-
Spy¶
Spy manage creation of QWidget for host items who are spied
-
class
alignak_app.qobjects.dock.spy.
SpyQListWidget
¶ Bases:
PyQt5.QtWidgets.QListWidget
Class who create QListWidget for spied hosts
-
add_spy_host
(host_id)¶ Add a host to spied list and create corresponding EventItem()
Parameters: host_id (str) – “_id” of host to spy
-
dragMoveEvent
(event)¶ - Override dragMoveEvent.
- Only accept EventItem() objects who are “spied_on” and not already spied
Parameters: event – event triggered when something move
-
dropEvent
(event)¶ - Override dropEvent.
- Get dropped item data, create a new one, and delete the one who is in EventsQWidget
Parameters: event – event triggered when something is dropped
-
User¶
User manage creation of QWidget who display user profile who use Alignak-app
-
class
alignak_app.qobjects.dock.user.
UserQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class who create QWidget for User profile.
-
enable_notifications
(notification_type, btn_state)¶ Enable notification for the wanted type: hosts or services
-
get_hosts_notif_widget
()¶ Create and return notification QWidget for hosts
Returns: hosts notification QWidget Return type: QWidget
-
get_informations_widget
()¶ Create and return QWidget with user informations
Returns: main QWidget Return type: QWidget
-
get_notes_scrollarea
()¶ Return QScrollArea widget for user notes
Returns: user notes QScrollArea Return type: QScrollArea
-
get_notifications_widget
()¶ Create and return notification QWidget for hosts and services
Returns: notifications QWidget Return type: QWidget
-
get_services_notif_widget
()¶ Create and return notification QWidget for services
Returns: services notification QWidget Return type: QWidget
-
initialize
()¶ Initialize User QWidget
-
patch_data
()¶ Hide and show QLabel for notes or PATCH password
-
static
show_token_dialog
()¶ Show TokenQDialog
-
update_widget
()¶ Update UserQWidget
-
Login¶
The Login package contains classes who manage Alignak-app login
Login¶
Login manage creation of QDialog for user login
-
class
alignak_app.qobjects.login.login.
LoginQDialog
(parent=None)¶ Bases:
PyQt5.QtWidgets.QDialog
Class who create login QDialog.
-
accept_login
()¶ Accept Login or not if backend is connected
-
create_widget
()¶ Create widget login
-
static
handle_server
()¶ Handle for server button
-
mouseMoveEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
mousePressEvent
(event)¶ QWidget.mousePressEvent(QMouseEvent)
-
showEvent
(_)¶ QDialog.showEvent(QShowEvent)
-
Server¶
Server manage creation of QDialog for Alignak backend server settings
Panel (Left part)¶
The Panel package contains classes who create Panel UI
Panel¶
Panel manage creation of QWidget for Panel (Left part)
-
class
alignak_app.qobjects.panel.panel.
PanelQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class who manage Panel with Host and Services QWidgets
-
create_line_search
(hostnames_list=None)¶ Add all hosts to QLineEdit and set QCompleter
Parameters: hostnames_list (list) – list of host names
-
display_host
()¶ Display and update HostQWidget
-
dragEnterEvent
(event)¶ Override dragEnterEvent.
Parameters: event – event triggered when something enter
-
dragMoveEvent
(event)¶ - Override dragMoveEvent.
- Only accept EventItem() objects who are “spied_on” and not already spied
Parameters: event – event triggered when something move
-
dropEvent
(event)¶ - Override dropEvent.
- Get dropped item data, create a new one, and delete the one who is in EventsQWidget
Parameters: event – event triggered when something is dropped
-
get_search_widget
()¶ Create and return the search QWidget
Returns: search QWidget Return type: QWidget
-
get_synthesis_widget
()¶ Return synthesis QWidget()
Returns: synthesis QWidget() Return type: QWidget
-
initialize
(spy_widget)¶ Create the QWidget with its items and layout.
Parameters: spy_widget (alignak_app.pyqt.dock.widgets.spy.SpyQWidget) – SpyQWidget to allow HostQWidget add spied host
-
spy_host
()¶ Spy host who is available in line_search QLineEdit
-
Dashboard¶
Dashboard manage the creation of QWidgets to display number of:
- Each states of Hosts items
- Each states of Services items
-
class
alignak_app.qobjects.panel.dashboard.
DashboardQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class who manage Host and Services resume QWidgets with number of:
- Hosts:
UP
,UNREACHABLE
,DOWN
- Services:
OK
,WARNING
,CRITICAL
,UNKNWON
,UNREACHABLE
- Hosts and services:
NOT_MONITORED
,ACKNOWLEDGED
,DOWNTIMED
-
get_host_resume_widget
()¶ Return Host resume QWidget
-
get_services_resume_widget
()¶ Return Services resume QWidget
-
initialize
()¶ Initialize QWidget
-
open_item_type_url
(item_type)¶ Retrieve sender to send right endpoint to open_url() function for item type
Parameters: item_type (str) – type of item: hosts | services
-
update_dashboard
()¶ Update number of items in dashboard
- Hosts:
History¶
History manage creation of QWidget to display history of a host
Host¶
Host manage creation of QWidget to display host data
-
class
alignak_app.qobjects.panel.host.
HostQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class who create QWidget to display host data
-
get_actions_widget
()¶ Return QWidget with actions buttons
Returns: widget with buttons Return type: QWidget
-
get_host_icon_widget
()¶ Return QWidget with overall icon state and host name
Returns: widget with host name and icon Return type: QWidget
-
get_last_check_widget
()¶ Return QWidget with last check data
Returns: widget with last check data Return type: QWidget
-
get_notes_output_widget
()¶ Return QWidget with output and notes data
Returns: widget with host output and notes Return type: QWidget
-
get_variables_widget
()¶ Return QWidget with host variables
Returns: widget with host variables Return type: QWidget
-
initialize
()¶ Initialize QWidget
-
patch_host_checks
(check_type, state)¶ Patch the host check: ‘active_checks_enabled’ | ‘passive_checks_enabled’
Parameters:
-
set_data
(hostname)¶ Set data of host and service
Parameters: hostname (str) – name of host to display
-
show_history
()¶ Create and show HistoryQWidget
-
Number Services¶
Number Services manage creation of QWidget to display number of host services, for each state
Problems¶
Problems manage creation of QWidget to display problems found in Alignak backend:
- Hosts:
DOWN
- Services:
WARNING
,CRITICAL
,UNKNOWN
-
class
alignak_app.qobjects.panel.problems.
ProblemsQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class who create Problems QWidget
-
static
get_icon_widget
(state)¶ Return QWidget with corresponding icon to item state
Parameters: Returns: QWidget with corresponding icon
Return type: QWidget
-
get_problems_widget_title
()¶ Return QWidget title with number of problems and refresh QPushButton
Returns: QWidget with number of problems Return type: QWidget
-
get_table_items_problem
(item)¶ Return list of QWidgets and QTableWidgetItem
Parameters: item (alignak_app.core.models.host.Host | alignak_app.core.models.service.Service) – ItemModel instance with its data Returns: list of QWidgets and QTableWidgetItem Return type: list
-
initialize
()¶ Initialize QWidget
-
update_problems_data
()¶ Update data of QTableWidget and problems title
-
static
Service¶
Service manage creation of QWidget to display service data
-
class
alignak_app.qobjects.panel.service.
ServiceDataQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class who create QWidget with service data
-
get_actions_widget
()¶ Return QWidget with actions buttons
Returns: widget with buttons Return type: QWidget
-
get_last_check_widget
()¶ Return QWidget with last check data
Returns: widget with last check data Return type: QWidget
-
get_service_icon_widget
()¶ Return QWidget with its icon and name
Returns: widget with icon and name Return type: QWidget
-
initialize
()¶ Initialize QWidget
-
periodic_refresh
()¶ Refresh QWidget periodically
-
update_widget
(service=None)¶ Update ServiceDataQWidget
Parameters: service (alignak_app.core.models.service.Service) – Service item with its data
-
Service Tree Item¶
Service Tree Item manage creation of QTreeWidgetItem(s) to store and display Service item data
-
class
alignak_app.qobjects.panel.service_tree_item.
ServiceTreeItem
(parent=None)¶ Bases:
PyQt5.QtWidgets.QTreeWidgetItem
Class who create QTreeWidgetItem with service data
-
initialize
(service_item)¶ Initialize the QTreeWidgetItem
Parameters: service_item (alignak_app.core.models.service.Service) – service item with its data
-
update_item
()¶ Update QIcon of service
-
Services¶
Services manage creation of QWidget to display the services
-
class
alignak_app.qobjects.panel.services.
ServicesQWidget
(parent=None)¶ Bases:
PyQt5.QtWidgets.QWidget
Class wo create services QWidget
-
initialize
()¶ Initialize QWidget
-
set_data
(hostname)¶ Set data of host and service
Parameters: hostname (str) – name of host to display
-
update_service_data
()¶ Update ServiceDataqWidget
-
update_widget
()¶ Update the service QWidget
-
Systray¶
The Systray package contains classes who create QSystemTrayIcon UI.
QActions Factory¶
QAction Factory manage creation of QActions for TrayIcon.
Tray Icon¶
Tray Icon manage the creation of QSystemTrayIcon for Alignak-app menus
-
class
alignak_app.qobjects.systray.tray_icon.
TrayIcon
(icon, parent=None)¶ Bases:
PyQt5.QtWidgets.QSystemTrayIcon
Class who create QMenu and QAction.
Create AppAbout QWidget and “about” action.
Create “dock” action
Create “reload” action
Initialize and create each action of menu.
-
check_connection
()¶ Check periodically connection for App
-
create_quit_action
()¶ Create quit action.
-
static
quit_app
()¶ Quit application and close all widgets handle by application
-
static
reload_configuration
()¶ Reload configuration
QThreads¶
The QThreads package contains classes who manage application threads
Backend Thread¶
Backend Thread manage creation of QThread for backend requests
Thread Manager¶
Thread Manager manage creation of QObject for launched threads
-
class
alignak_app.qthreads.threadmanager.
ThreadManager
(parent=None)¶ Bases:
PyQt5.QtCore.QObject
Class who create BackendQThreads periodically, to request on Alignak Backend endpoints
-
add_priority_thread
(thread_name, data)¶ Launch a thread with higher priority (doesn’t wait launch_threads() function)
Parameters:
-
clean_threads
()¶ Clean current BackendQThreads
-
get_threads_to_launch
()¶ Return the threads_to_launch to run in BackendQRunnable
Returns: threads_to_launch to run Return type: list
-
launch_threads
()¶ Launch periodically threads
-
stop_priority_threads
()¶ Stop priority threads
-
stop_threads
()¶ Stop ThreadManager and close all running BackendQThreads
-