# migration_log

migration_id: create migration_log table
timestamp: 2024-05-24 13:36:45
sql:
  CREATE TABLE IF NOT EXISTS `migration_log` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `migration_id` TEXT NOT NULL
  , `sql` TEXT NOT NULL
  , `success` INTEGER NOT NULL
  , `error` TEXT NOT NULL
  , `timestamp` DATETIME NOT NULL
  );


migration_id: create user table
timestamp: 2024-05-24 13:36:45
sql:
  CREATE TABLE IF NOT EXISTS `user` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `version` INTEGER NOT NULL
  , `login` TEXT NOT NULL
  , `email` TEXT NOT NULL
  , `name` TEXT NULL
  , `password` TEXT NULL
  , `salt` TEXT NULL
  , `rands` TEXT NULL
  , `company` TEXT NULL
  , `account_id` INTEGER NOT NULL
  , `is_admin` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create user table v2
timestamp: 2024-05-24 13:36:45
sql:
  CREATE TABLE IF NOT EXISTS `user` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `version` INTEGER NOT NULL
  , `login` TEXT NOT NULL
  , `email` TEXT NOT NULL
  , `name` TEXT NULL
  , `password` TEXT NULL
  , `salt` TEXT NULL
  , `rands` TEXT NULL
  , `company` TEXT NULL
  , `org_id` INTEGER NOT NULL
  , `is_admin` INTEGER NOT NULL
  , `email_verified` INTEGER NULL
  , `theme` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: copy data_source v1 to v2
timestamp: 2024-05-24 13:36:45
sql:
  INSERT INTO `user` (`id`
  , `version`
  , `login`
  , `is_admin`
  , `rands`
  , `created`
  , `email`
  , `name`
  , `password`
  , `org_id`
  , `updated`
  , `salt`
  , `company`) SELECT `id`
  , `version`
  , `login`
  , `is_admin`
  , `rands`
  , `created`
  , `email`
  , `name`
  , `password`
  , `account_id`
  , `updated`
  , `salt`
  , `company` FROM `user_v1`


migration_id: Update is_service_account column to nullable
timestamp: 2024-05-24 13:36:45
sql:
  ALTER TABLE user ADD COLUMN tmp_service_account BOOLEAN DEFAULT 0;
  UPDATE user SET tmp_service_account = is_service_account;
  ALTER TABLE user DROP COLUMN is_service_account;
  ALTER TABLE user RENAME COLUMN tmp_service_account TO is_service_account;


migration_id: create temp user table v1-7
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `temp_user` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `email` TEXT NOT NULL
  , `name` TEXT NULL
  , `role` TEXT NULL
  , `code` TEXT NOT NULL
  , `status` TEXT NOT NULL
  , `invited_by_user_id` INTEGER NULL
  , `email_sent` INTEGER NOT NULL
  , `email_sent_on` DATETIME NULL
  , `remote_addr` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create temp_user v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `temp_user` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `email` TEXT NOT NULL
  , `name` TEXT NULL
  , `role` TEXT NULL
  , `code` TEXT NOT NULL
  , `status` TEXT NOT NULL
  , `invited_by_user_id` INTEGER NULL
  , `email_sent` INTEGER NOT NULL
  , `email_sent_on` DATETIME NULL
  , `remote_addr` TEXT NULL
  , `created` INTEGER NOT NULL DEFAULT 0
  , `updated` INTEGER NOT NULL DEFAULT 0
  );


migration_id: copy temp_user v1 to v2
timestamp: 2024-05-24 13:36:46
sql:
  INSERT INTO `temp_user` (`status`
  , `invited_by_user_id`
  , `email_sent`
  , `email_sent_on`
  , `id`
  , `code`
  , `email`
  , `name`
  , `role`
  , `remote_addr`
  , `org_id`
  , `version`) SELECT `status`
  , `invited_by_user_id`
  , `email_sent`
  , `email_sent_on`
  , `id`
  , `code`
  , `email`
  , `name`
  , `role`
  , `remote_addr`
  , `org_id`
  , `version` FROM `temp_user_tmp_qwerty`


migration_id: create star table
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `star` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `user_id` INTEGER NOT NULL
  , `dashboard_id` INTEGER NOT NULL
  );


migration_id: create org table v1
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `org` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `version` INTEGER NOT NULL
  , `name` TEXT NOT NULL
  , `address1` TEXT NULL
  , `address2` TEXT NULL
  , `city` TEXT NULL
  , `state` TEXT NULL
  , `zip_code` TEXT NULL
  , `country` TEXT NULL
  , `billing_email` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create org_user table v1
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `org_user` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `user_id` INTEGER NOT NULL
  , `role` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create dashboard table
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `dashboard` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `version` INTEGER NOT NULL
  , `slug` TEXT NOT NULL
  , `title` TEXT NOT NULL
  , `data` TEXT NOT NULL
  , `account_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create dashboard_tag table
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_tag` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `dashboard_id` INTEGER NOT NULL
  , `term` TEXT NOT NULL
  );


migration_id: add unique index dashboard_tag.dasboard_id_term
timestamp: 2024-05-24 13:36:46
sql:
  CREATE UNIQUE INDEX `UQE_dashboard_tag_dashboard_id_term` ON `dashboard_tag` (`dashboard_id`,`term`);


migration_id: create dashboard v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `dashboard` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `version` INTEGER NOT NULL
  , `slug` TEXT NOT NULL
  , `title` TEXT NOT NULL
  , `data` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: copy dashboard v1 to v2
timestamp: 2024-05-24 13:36:46
sql:
  INSERT INTO `dashboard` (`id`
  , `version`
  , `slug`
  , `title`
  , `data`
  , `org_id`
  , `created`
  , `updated`) SELECT `id`
  , `version`
  , `slug`
  , `title`
  , `data`
  , `account_id`
  , `created`
  , `updated` FROM `dashboard_v1`


migration_id: Add unique index for dashboard_org_id_title_folder_id
timestamp: 2024-05-24 13:36:46
sql:
  CREATE UNIQUE INDEX `UQE_dashboard_org_id_folder_id_title` ON `dashboard` (`org_id`,`folder_id`,`title`);


migration_id: create dashboard_provisioning
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_provisioning` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `dashboard_id` INTEGER NULL
  , `name` TEXT NOT NULL
  , `external_id` TEXT NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create dashboard_provisioning v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_provisioning` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `dashboard_id` INTEGER NULL
  , `name` TEXT NOT NULL
  , `external_id` TEXT NOT NULL
  , `updated` INTEGER NOT NULL DEFAULT 0
  );


migration_id: create index IDX_dashboard_provisioning_dashboard_id - v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE INDEX `IDX_dashboard_provisioning_dashboard_id` ON `dashboard_provisioning` (`dashboard_id`);


migration_id: create index IDX_dashboard_provisioning_dashboard_id_name - v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE INDEX `IDX_dashboard_provisioning_dashboard_id_name` ON `dashboard_provisioning` (`dashboard_id`,`name`);


migration_id: copy dashboard_provisioning v1 to v2
timestamp: 2024-05-24 13:36:46
sql:
  INSERT INTO `dashboard_provisioning` (`dashboard_id`
  , `name`
  , `external_id`
  , `id`) SELECT `dashboard_id`
  , `name`
  , `external_id`
  , `id` FROM `dashboard_provisioning_tmp_qwerty`


migration_id: create data_source table
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `data_source` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `account_id` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `type` TEXT NOT NULL
  , `name` TEXT NOT NULL
  , `access` TEXT NOT NULL
  , `url` TEXT NOT NULL
  , `password` TEXT NULL
  , `user` TEXT NULL
  , `database` TEXT NULL
  , `basic_auth` INTEGER NOT NULL
  , `basic_auth_user` TEXT NULL
  , `basic_auth_password` TEXT NULL
  , `is_default` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create data_source table v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `data_source` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `type` TEXT NOT NULL
  , `name` TEXT NOT NULL
  , `access` TEXT NOT NULL
  , `url` TEXT NOT NULL
  , `password` TEXT NULL
  , `user` TEXT NULL
  , `database` TEXT NULL
  , `basic_auth` INTEGER NOT NULL
  , `basic_auth_user` TEXT NULL
  , `basic_auth_password` TEXT NULL
  , `is_default` INTEGER NOT NULL
  , `json_data` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create api_key table
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `api_key` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `account_id` INTEGER NOT NULL
  , `name` TEXT NOT NULL
  , `key` TEXT NOT NULL
  , `role` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create api_key table v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `api_key` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `name` TEXT NOT NULL
  , `key` TEXT NOT NULL
  , `role` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: copy api_key v1 to v2
timestamp: 2024-05-24 13:36:46
sql:
  INSERT INTO `api_key` (`org_id`
  , `name`
  , `key`
  , `role`
  , `created`
  , `updated`
  , `id`) SELECT `account_id`
  , `name`
  , `key`
  , `role`
  , `created`
  , `updated`
  , `id` FROM `api_key_v1`


migration_id: create dashboard_snapshot table v4
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_snapshot` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `name` TEXT NOT NULL
  , `key` TEXT NOT NULL
  , `dashboard` TEXT NOT NULL
  , `expires` DATETIME NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create dashboard_snapshot table v5 #2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_snapshot` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `name` TEXT NOT NULL
  , `key` TEXT NOT NULL
  , `delete_key` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `user_id` INTEGER NOT NULL
  , `external` INTEGER NOT NULL
  , `external_url` TEXT NOT NULL
  , `dashboard` TEXT NOT NULL
  , `expires` DATETIME NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create quota table v1
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `quota` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NULL
  , `user_id` INTEGER NULL
  , `target` TEXT NOT NULL
  , `limit` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create plugin_setting table
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `plugin_setting` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NULL
  , `plugin_id` TEXT NOT NULL
  , `enabled` INTEGER NOT NULL
  , `pinned` INTEGER NOT NULL
  , `json_data` TEXT NULL
  , `secure_json_data` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create index UQE_plugin_setting_org_id_plugin_id - v1
timestamp: 2024-05-24 13:36:46
sql:
  CREATE UNIQUE INDEX `UQE_plugin_setting_org_id_plugin_id` ON `plugin_setting` (`org_id`,`plugin_id`);


migration_id: create session table
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `session` (
  `key` TEXT PRIMARY KEY NOT NULL
  , `data` BLOB NOT NULL
  , `expiry` INTEGER NOT NULL
  );


migration_id: create playlist table v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `playlist` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `name` TEXT NOT NULL
  , `interval` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  );


migration_id: create playlist item table v2
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `playlist_item` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `playlist_id` INTEGER NOT NULL
  , `type` TEXT NOT NULL
  , `value` TEXT NOT NULL
  , `title` TEXT NOT NULL
  , `order` INTEGER NOT NULL
  );


migration_id: create preferences table v3
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `preferences` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `user_id` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `home_dashboard_id` INTEGER NOT NULL
  , `timezone` TEXT NOT NULL
  , `theme` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create alert table v1
timestamp: 2024-05-24 13:36:46
sql:
  CREATE TABLE IF NOT EXISTS `alert` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `version` INTEGER NOT NULL
  , `dashboard_id` INTEGER NOT NULL
  , `panel_id` INTEGER NOT NULL
  , `org_id` INTEGER NOT NULL
  , `name` TEXT NOT NULL
  , `message` TEXT NOT NULL
  , `state` TEXT NOT NULL
  , `settings` TEXT NOT NULL
  , `frequency` INTEGER NOT NULL
  , `handler` INTEGER NOT NULL
  , `severity` TEXT NOT NULL
  , `silenced` INTEGER NOT NULL
  , `execution_error` TEXT NOT NULL
  , `eval_data` TEXT NULL
  , `eval_date` DATETIME NULL
  , `new_state_date` DATETIME NOT NULL
  , `state_changes` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: Create alert_rule_tag table v1
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_rule_tag` (
  `alert_id` INTEGER NOT NULL
  , `tag_id` INTEGER NOT NULL
  );


migration_id: Create alert_rule_tag table v2
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_rule_tag` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `alert_id` INTEGER NOT NULL
  , `tag_id` INTEGER NOT NULL
  );


sql: CREATE UNIQUE INDEX `UQE_alert_rule_tag_alert_id_tag_id` ON `alert_rule_tag` (`alert_id`,`tag_id`);
timestamp: 2024-05-24 13:36:47
migration_id:
  create index UQE_alert_rule_tag_alert_id_tag_id - Add unique index alert_rule_tag.alert_id_tag_id V2


migration_id: copy alert_rule_tag v1 to v2
timestamp: 2024-05-24 13:36:47
sql:
  INSERT INTO `alert_rule_tag` (`alert_id`
  , `tag_id`) SELECT `alert_id`
  , `tag_id` FROM `alert_rule_tag_v1`


migration_id: create alert_notification table v1
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_notification` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `name` TEXT NOT NULL
  , `type` TEXT NOT NULL
  , `settings` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create notification_journal table v1
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_notification_journal` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `alert_id` INTEGER NOT NULL
  , `notifier_id` INTEGER NOT NULL
  , `sent_at` INTEGER NOT NULL
  , `success` INTEGER NOT NULL
  );


migration_id: add index notification_journal org_id & alert_id & notifier_id
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_alert_notification_journal_org_id_alert_id_notifier_id` ON `alert_notification_journal` (`org_id`,`alert_id`,`notifier_id`);


migration_id: create alert_notification_state table v1
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_notification_state` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `alert_id` INTEGER NOT NULL
  , `notifier_id` INTEGER NOT NULL
  , `state` TEXT NOT NULL
  , `version` INTEGER NOT NULL
  , `updated_at` INTEGER NOT NULL
  , `alert_rule_state_updated_version` INTEGER NOT NULL
  );


migration_id: add index alert_notification_state org_id & alert_id & notifier_id
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_alert_notification_state_org_id_alert_id_notifier_id` ON `alert_notification_state` (`org_id`,`alert_id`,`notifier_id`);


migration_id: create annotation table v5
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `annotation` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `alert_id` INTEGER NULL
  , `user_id` INTEGER NULL
  , `dashboard_id` INTEGER NULL
  , `panel_id` INTEGER NULL
  , `category_id` INTEGER NULL
  , `type` TEXT NOT NULL
  , `title` TEXT NOT NULL
  , `text` TEXT NOT NULL
  , `metric` TEXT NULL
  , `prev_state` TEXT NOT NULL
  , `new_state` TEXT NOT NULL
  , `data` TEXT NOT NULL
  , `epoch` INTEGER NOT NULL
  );


migration_id: add index annotation 3 v3
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_annotation_org_id_dashboard_id_panel_id_epoch` ON `annotation` (`org_id`,`dashboard_id`,`panel_id`,`epoch`);


migration_id: Create annotation_tag table v2
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `annotation_tag` (
  `annotation_id` INTEGER NOT NULL
  , `tag_id` INTEGER NOT NULL
  );


migration_id: Add unique index annotation_tag.annotation_id_tag_id
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_annotation_tag_annotation_id_tag_id` ON `annotation_tag` (`annotation_id`,`tag_id`);


migration_id: Create annotation_tag table v3
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `annotation_tag` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `annotation_id` INTEGER NOT NULL
  , `tag_id` INTEGER NOT NULL
  );


timestamp: 2024-05-24 13:36:47
migration_id:
  create index UQE_annotation_tag_annotation_id_tag_id - Add unique index annotation_tag.annotation_id_tag_id V3

sql:
  CREATE UNIQUE INDEX `UQE_annotation_tag_annotation_id_tag_id` ON `annotation_tag` (`annotation_id`,`tag_id`);


migration_id: copy annotation_tag v2 to v3
timestamp: 2024-05-24 13:36:47
sql:
  INSERT INTO `annotation_tag` (`tag_id`
  , `annotation_id`) SELECT `tag_id`
  , `annotation_id` FROM `annotation_tag_v2`


migration_id: Add index for epoch_end
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_annotation_org_id_epoch_epoch_end` ON `annotation` (`org_id`,`epoch`,`epoch_end`);


migration_id: Add index for org_id_dashboard_id_epoch_end_epoch on annotation table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_annotation_org_id_dashboard_id_epoch_end_epoch` ON `annotation` (`org_id`,`dashboard_id`,`epoch_end`,`epoch`);


migration_id: Add index for org_id_epoch_end_epoch on annotation table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_annotation_org_id_epoch_end_epoch` ON `annotation` (`org_id`,`epoch_end`,`epoch`);


migration_id: create test_data table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `test_data` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `metric1` TEXT NULL
  , `metric2` TEXT NULL
  , `value_big_int` INTEGER NULL
  , `value_double` REAL NULL
  , `value_float` REAL NULL
  , `value_int` INTEGER NULL
  , `time_epoch` INTEGER NOT NULL
  , `time_date_time` DATETIME NOT NULL
  , `time_time_stamp` DATETIME NOT NULL
  );


migration_id: create dashboard_version table v1
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_version` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `dashboard_id` INTEGER NOT NULL
  , `parent_version` INTEGER NOT NULL
  , `restored_from` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `created_by` INTEGER NOT NULL
  , `message` TEXT NOT NULL
  , `data` TEXT NOT NULL
  );


migration_id: add unique index dashboard_version.dashboard_id and dashboard_version.version
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_dashboard_version_dashboard_id_version` ON `dashboard_version` (`dashboard_id`,`version`);


migration_id: save existing dashboard data in dashboard_version table v1
timestamp: 2024-05-24 13:36:47
sql:
  INSERT INTO dashboard_version
  (
  	dashboard_id,
  	version,
  	parent_version,
  	restored_from,
  	created,
  	created_by,
  	message,
  	data
  )
  SELECT
  	dashboard.id,
  	dashboard.version,
  	dashboard.version,
  	dashboard.version,
  	dashboard.updated,
  	COALESCE(dashboard.updated_by, -1),
  	'',
  	dashboard.data
  FROM dashboard;


migration_id: create team table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `team` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `name` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create team member table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `team_member` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `team_id` INTEGER NOT NULL
  , `user_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: add unique index team_member_org_id_team_id_user_id
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_team_member_org_id_team_id_user_id` ON `team_member` (`org_id`,`team_id`,`user_id`);


migration_id: create dashboard acl table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_acl` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `dashboard_id` INTEGER NOT NULL
  , `user_id` INTEGER NULL
  , `team_id` INTEGER NULL
  , `permission` INTEGER NOT NULL DEFAULT 4
  , `role` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: add unique index dashboard_acl_dashboard_id_user_id
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_dashboard_acl_dashboard_id_user_id` ON `dashboard_acl` (`dashboard_id`,`user_id`);


migration_id: add unique index dashboard_acl_dashboard_id_team_id
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_dashboard_acl_dashboard_id_team_id` ON `dashboard_acl` (`dashboard_id`,`team_id`);


migration_id: save default acl rules in dashboard_acl table
timestamp: 2024-05-24 13:36:47
sql:
  INSERT INTO dashboard_acl
  	(
  		org_id,
  		dashboard_id,
  		permission,
  		role,
  		created,
  		updated
  	)
  	VALUES
  		(-1,-1, 1,'Viewer','2017-06-20','2017-06-20'),
  		(-1,-1, 2,'Editor','2017-06-20','2017-06-20')
  	


migration_id: delete acl rules for deleted dashboards and folders
timestamp: 2024-05-24 13:36:47
sql:
  DELETE FROM dashboard_acl WHERE dashboard_id NOT IN (SELECT id FROM dashboard) AND dashboard_id != -1


migration_id: create tag table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `tag` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `key` TEXT NOT NULL
  , `value` TEXT NOT NULL
  );


migration_id: create login attempt table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `login_attempt` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `username` TEXT NOT NULL
  , `ip_address` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  );


migration_id: create login_attempt v2
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `login_attempt` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `username` TEXT NOT NULL
  , `ip_address` TEXT NOT NULL
  , `created` INTEGER NOT NULL DEFAULT 0
  );


migration_id: copy login_attempt v1 to v2
timestamp: 2024-05-24 13:36:47
sql:
  INSERT INTO `login_attempt` (`id`
  , `username`
  , `ip_address`) SELECT `id`
  , `username`
  , `ip_address` FROM `login_attempt_tmp_qwerty`


migration_id: create user auth table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `user_auth` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `user_id` INTEGER NOT NULL
  , `auth_module` TEXT NOT NULL
  , `auth_id` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  );


migration_id: create server_lock table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `server_lock` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `operation_uid` TEXT NOT NULL
  , `version` INTEGER NOT NULL
  , `last_execution` INTEGER NOT NULL
  );


migration_id: create user auth token table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `user_auth_token` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `user_id` INTEGER NOT NULL
  , `auth_token` TEXT NOT NULL
  , `prev_auth_token` TEXT NOT NULL
  , `user_agent` TEXT NOT NULL
  , `client_ip` TEXT NOT NULL
  , `auth_token_seen` INTEGER NOT NULL
  , `seen_at` INTEGER NULL
  , `rotated_at` INTEGER NOT NULL
  , `created_at` INTEGER NOT NULL
  , `updated_at` INTEGER NOT NULL
  );


migration_id: create cache_data table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `cache_data` (
  `cache_key` TEXT PRIMARY KEY NOT NULL
  , `data` BLOB NOT NULL
  , `expires` INTEGER NOT NULL
  , `created_at` INTEGER NOT NULL
  );


migration_id: create short_url table v1
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `short_url` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `uid` TEXT NOT NULL
  , `path` TEXT NOT NULL
  , `created_by` INTEGER NOT NULL
  , `created_at` INTEGER NOT NULL
  , `last_seen_at` INTEGER NULL
  );


migration_id: recreate alert_definition table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_definition` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `title` TEXT NOT NULL
  , `condition` TEXT NOT NULL
  , `data` TEXT NOT NULL
  , `updated` DATETIME NOT NULL
  , `interval_seconds` INTEGER NOT NULL DEFAULT 60
  , `version` INTEGER NOT NULL DEFAULT 0
  , `uid` TEXT NOT NULL DEFAULT 0
  );


migration_id: recreate alert_definition_version table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_definition_version` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `alert_definition_id` INTEGER NOT NULL
  , `alert_definition_uid` TEXT NOT NULL DEFAULT 0
  , `parent_version` INTEGER NOT NULL
  , `restored_from` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `title` TEXT NOT NULL
  , `condition` TEXT NOT NULL
  , `data` TEXT NOT NULL
  , `interval_seconds` INTEGER NOT NULL
  );


migration_id: add index in alert_definition_version table on alert_definition_id and version columns
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_alert_definition_version_alert_definition_id_version` ON `alert_definition_version` (`alert_definition_id`,`version`);


migration_id: add index in alert_definition_version table on alert_definition_uid and version columns
timestamp: 2024-05-24 13:36:47
sql:
  CREATE UNIQUE INDEX `UQE_alert_definition_version_alert_definition_uid_version` ON `alert_definition_version` (`alert_definition_uid`,`version`);


migration_id: create alert_instance table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_instance` (
  `def_org_id` INTEGER NOT NULL
  , `def_uid` TEXT NOT NULL DEFAULT 0
  , `labels` TEXT NOT NULL
  , `labels_hash` TEXT NOT NULL
  , `current_state` TEXT NOT NULL
  , `current_state_since` INTEGER NOT NULL
  , `last_eval_time` INTEGER NOT NULL
  , PRIMARY KEY ( `def_org_id`,`def_uid`,`labels_hash` ));


migration_id: add index in alert_instance table on def_org_id, def_uid and current_state columns
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_alert_instance_def_org_id_def_uid_current_state` ON `alert_instance` (`def_org_id`,`def_uid`,`current_state`);


migration_id: add index in alert_instance table on def_org_id, current_state columns
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_alert_instance_def_org_id_current_state` ON `alert_instance` (`def_org_id`,`current_state`);


migration_id: add index rule_org_id, rule_uid, current_state on alert_instance
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_alert_instance_rule_org_id_rule_uid_current_state` ON `alert_instance` (`rule_org_id`,`rule_uid`,`current_state`);


migration_id: add index rule_org_id, current_state on alert_instance
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_alert_instance_rule_org_id_current_state` ON `alert_instance` (`rule_org_id`,`current_state`);


migration_id: create alert_rule table
timestamp: 2024-05-24 13:36:47
sql:
  CREATE TABLE IF NOT EXISTS `alert_rule` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `title` TEXT NOT NULL
  , `condition` TEXT NOT NULL
  , `data` TEXT NOT NULL
  , `updated` DATETIME NOT NULL
  , `interval_seconds` INTEGER NOT NULL DEFAULT 60
  , `version` INTEGER NOT NULL DEFAULT 0
  , `uid` TEXT NOT NULL DEFAULT 0
  , `namespace_uid` TEXT NOT NULL
  , `rule_group` TEXT NOT NULL
  , `no_data_state` TEXT NOT NULL DEFAULT 'NoData'
  , `exec_err_state` TEXT NOT NULL DEFAULT 'Alerting'
  );


migration_id: add index in alert_rule on org_id, namespace_uid, group_uid columns
timestamp: 2024-05-24 13:36:47
sql:
  CREATE INDEX `IDX_alert_rule_org_id_namespace_uid_rule_group` ON `alert_rule` (`org_id`,`namespace_uid`,`rule_group`);


migration_id: add index in alert_rule on org_id, namespase_uid and title columns
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_alert_rule_org_id_namespace_uid_title` ON `alert_rule` (`org_id`,`namespace_uid`,`title`);


migration_id: add index in alert_rule on org_id, dashboard_uid and panel_id columns
timestamp: 2024-05-24 13:36:48
sql:
  CREATE INDEX `IDX_alert_rule_org_id_dashboard_uid_panel_id` ON `alert_rule` (`org_id`,`dashboard_uid`,`panel_id`);


migration_id: create alert_rule_version table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `alert_rule_version` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `rule_org_id` INTEGER NOT NULL
  , `rule_uid` TEXT NOT NULL DEFAULT 0
  , `rule_namespace_uid` TEXT NOT NULL
  , `rule_group` TEXT NOT NULL
  , `parent_version` INTEGER NOT NULL
  , `restored_from` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `title` TEXT NOT NULL
  , `condition` TEXT NOT NULL
  , `data` TEXT NOT NULL
  , `interval_seconds` INTEGER NOT NULL
  , `no_data_state` TEXT NOT NULL DEFAULT 'NoData'
  , `exec_err_state` TEXT NOT NULL DEFAULT 'Alerting'
  );


migration_id: add index in alert_rule_version table on rule_org_id, rule_uid and version columns
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_alert_rule_version_rule_org_id_rule_uid_version` ON `alert_rule_version` (`rule_org_id`,`rule_uid`,`version`);


migration_id: add index in alert_rule_version table on rule_org_id, rule_namespace_uid and rule_group columns
timestamp: 2024-05-24 13:36:48
sql:
  CREATE INDEX `IDX_alert_rule_version_rule_org_id_rule_namespace_uid_rule_group` ON `alert_rule_version` (`rule_org_id`,`rule_namespace_uid`,`rule_group`);


migration_id: create_alert_configuration_table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `alert_configuration` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `alertmanager_configuration` TEXT NOT NULL
  , `configuration_version` TEXT NOT NULL
  , `created_at` INTEGER NOT NULL
  );


migration_id: add configuration_hash column to alert_configuration
timestamp: 2024-05-24 13:36:48
sql:
  alter table `alert_configuration` ADD COLUMN `configuration_hash` TEXT NOT NULL DEFAULT 'not-yet-calculated' 


migration_id: create_ngalert_configuration_table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `ngalert_configuration` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `alertmanagers` TEXT NULL
  , `created_at` INTEGER NOT NULL
  , `updated_at` INTEGER NOT NULL
  );


migration_id: create provenance_type table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `provenance_type` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `record_key` TEXT NOT NULL
  , `record_type` TEXT NOT NULL
  , `provenance` TEXT NOT NULL
  );


migration_id: add index to uniquify (record_key, record_type, org_id) columns
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_provenance_type_record_type_record_key_org_id` ON `provenance_type` (`record_type`,`record_key`,`org_id`);


migration_id: create alert_image table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `alert_image` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `token` TEXT NOT NULL
  , `path` TEXT NOT NULL
  , `url` TEXT NOT NULL
  , `created_at` DATETIME NOT NULL
  , `expires_at` DATETIME NOT NULL
  );


migration_id: create_alert_configuration_history_table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `alert_configuration_history` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL DEFAULT 0
  , `alertmanager_configuration` TEXT NOT NULL
  , `configuration_hash` TEXT NOT NULL DEFAULT 'not-yet-calculated'
  , `configuration_version` TEXT NOT NULL
  , `created_at` INTEGER NOT NULL
  , `default` INTEGER NOT NULL DEFAULT 0
  );


migration_id: create library_element table v1
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `library_element` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `folder_id` INTEGER NOT NULL
  , `uid` TEXT NOT NULL
  , `name` TEXT NOT NULL
  , `kind` INTEGER NOT NULL
  , `type` TEXT NOT NULL
  , `description` TEXT NOT NULL
  , `model` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `created_by` INTEGER NOT NULL
  , `updated` DATETIME NOT NULL
  , `updated_by` INTEGER NOT NULL
  , `version` INTEGER NOT NULL
  );


migration_id: add index library_element org_id-folder_id-name-kind
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_library_element_org_id_folder_id_name_kind` ON `library_element` (`org_id`,`folder_id`,`name`,`kind`);


migration_id: create library_element_connection table v1
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `library_element_connection` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `element_id` INTEGER NOT NULL
  , `kind` INTEGER NOT NULL
  , `connection_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `created_by` INTEGER NOT NULL
  );


migration_id: add index library_element_connection element_id-kind-connection_id
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_library_element_connection_element_id_kind_connection_id` ON `library_element_connection` (`element_id`,`kind`,`connection_id`);


migration_id: populate library_element folder_uid
timestamp: 2024-05-24 13:36:48
sql:
  UPDATE library_element
  	SET folder_uid = dashboard.uid
  	FROM dashboard
  	WHERE library_element.folder_id = dashboard.id AND library_element.org_id = dashboard.org_id


migration_id: add index library_element org_id-folder_uid-name-kind
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_library_element_org_id_folder_uid_name_kind` ON `library_element` (`org_id`,`folder_uid`,`name`,`kind`);


migration_id: create data_keys table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `data_keys` (
  `name` TEXT PRIMARY KEY NOT NULL
  , `active` INTEGER NOT NULL
  , `scope` TEXT NOT NULL
  , `provider` TEXT NOT NULL
  , `encrypted_data` BLOB NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create secrets table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `secrets` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `namespace` TEXT NOT NULL
  , `type` TEXT NOT NULL
  , `value` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create kv_store table v1
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `kv_store` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `namespace` TEXT NOT NULL
  , `key` TEXT NOT NULL
  , `value` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create permission table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `permission` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `role_id` INTEGER NOT NULL
  , `action` TEXT NOT NULL
  , `scope` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: add unique index role_id_action_scope
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_permission_role_id_action_scope` ON `permission` (`role_id`,`action`,`scope`);


migration_id: create role table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `role` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `name` TEXT NOT NULL
  , `description` TEXT NULL
  , `version` INTEGER NOT NULL
  , `org_id` INTEGER NOT NULL
  , `uid` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: create team role table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `team_role` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `team_id` INTEGER NOT NULL
  , `role_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  );


migration_id: add unique index team_role_org_id_team_id_role_id
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_team_role_org_id_team_id_role_id` ON `team_role` (`org_id`,`team_id`,`role_id`);


migration_id: create user role table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `user_role` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `user_id` INTEGER NOT NULL
  , `role_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  );


migration_id: add unique index user_role_org_id_user_id_role_id
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_user_role_org_id_user_id_role_id` ON `user_role` (`org_id`,`user_id`,`role_id`);


migration_id: create builtin role table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `builtin_role` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `role` TEXT NOT NULL
  , `role_id` INTEGER NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: add unique index builtin_role_org_id_role_id_role
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_builtin_role_org_id_role_id_role` ON `builtin_role` (`org_id`,`role_id`,`role`);


migration_id: create seed assignment table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `seed_assignment` (
  `builtin_role` TEXT NOT NULL
  , `role_name` TEXT NOT NULL
  );


migration_id: add unique index builtin_role_role_name
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_seed_assignment_builtin_role_role_name` ON `seed_assignment` (`builtin_role`,`role_name`);


migration_id: add permission action scope role_id index
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_permission_action_scope_role_id` ON `permission` (`action`,`scope`,`role_id`);


migration_id: create query_history table v1
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `query_history` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `uid` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `datasource_uid` TEXT NOT NULL
  , `created_by` INTEGER NOT NULL
  , `created_at` INTEGER NOT NULL
  , `comment` TEXT NOT NULL
  , `queries` TEXT NOT NULL
  );


migration_id: add index query_history.org_id-created_by-datasource_uid
timestamp: 2024-05-24 13:36:48
sql:
  CREATE INDEX `IDX_query_history_org_id_created_by_datasource_uid` ON `query_history` (`org_id`,`created_by`,`datasource_uid`);


migration_id: create query_history_star table v1
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `query_history_star` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `query_uid` TEXT NOT NULL
  , `user_id` INTEGER NOT NULL
  );


migration_id: add index query_history.user_id-query_uid
timestamp: 2024-05-24 13:36:48
sql:
  CREATE UNIQUE INDEX `UQE_query_history_star_user_id_query_uid` ON `query_history_star` (`user_id`,`query_uid`);


migration_id: create correlation table v1
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `correlation` (
  `uid` TEXT NOT NULL
  , `source_uid` TEXT NOT NULL
  , `target_uid` TEXT NULL
  , `label` TEXT NOT NULL
  , `description` TEXT NOT NULL
  , PRIMARY KEY ( `uid`,`source_uid` ));


migration_id: create correlation v2
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `correlation` (
  `uid` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL DEFAULT 0
  , `source_uid` TEXT NOT NULL
  , `target_uid` TEXT NULL
  , `label` TEXT NOT NULL
  , `description` TEXT NOT NULL
  , `config` TEXT NULL
  , PRIMARY KEY ( `uid`,`org_id`,`source_uid` ));


migration_id: copy correlation v1 to v2
timestamp: 2024-05-24 13:36:48
sql:
  INSERT INTO `correlation` (`config`
  , `uid`
  , `source_uid`
  , `target_uid`
  , `label`
  , `description`) SELECT `config`
  , `uid`
  , `source_uid`
  , `target_uid`
  , `label`
  , `description` FROM `correlation_tmp_qwerty`


migration_id: create entity_events table
timestamp: 2024-05-24 13:36:48
sql:
  CREATE TABLE IF NOT EXISTS `entity_event` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `entity_id` TEXT NOT NULL
  , `event_type` TEXT NOT NULL
  , `created` INTEGER NOT NULL
  );


migration_id: create dashboard public config v1
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_public_config` (
  `uid` TEXT PRIMARY KEY NOT NULL
  , `dashboard_uid` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `time_settings` TEXT NOT NULL
  , `refresh_rate` INTEGER NOT NULL DEFAULT 30
  , `template_variables` TEXT NULL
  );


migration_id: create index IDX_dashboard_public_config_org_id_dashboard_uid - v1
timestamp: 2024-05-24 13:36:49
sql:
  CREATE INDEX `IDX_dashboard_public_config_org_id_dashboard_uid` ON `dashboard_public_config` (`org_id`,`dashboard_uid`);


migration_id: Recreate dashboard public config v2
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `dashboard_public_config` (
  `uid` TEXT PRIMARY KEY NOT NULL
  , `dashboard_uid` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `time_settings` TEXT NULL
  , `template_variables` TEXT NULL
  , `access_token` TEXT NOT NULL
  , `created_by` INTEGER NOT NULL
  , `updated_by` INTEGER NULL
  , `created_at` DATETIME NOT NULL
  , `updated_at` DATETIME NULL
  , `is_enabled` INTEGER NOT NULL DEFAULT 0
  );


migration_id: create index UQE_dashboard_public_config_access_token - v2
timestamp: 2024-05-24 13:36:49
sql:
  CREATE UNIQUE INDEX `UQE_dashboard_public_config_access_token` ON `dashboard_public_config` (`access_token`);


migration_id: create file table
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `file` (
  `path` TEXT NOT NULL
  , `path_hash` TEXT NOT NULL
  , `parent_folder_path_hash` TEXT NOT NULL
  , `contents` BLOB NOT NULL
  , `etag` TEXT NOT NULL
  , `cache_control` TEXT NOT NULL
  , `content_disposition` TEXT NOT NULL
  , `updated` DATETIME NOT NULL
  , `created` DATETIME NOT NULL
  , `size` INTEGER NOT NULL
  , `mime_type` TEXT NOT NULL
  );


migration_id: create file_meta table
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `file_meta` (
  `path_hash` TEXT NOT NULL
  , `key` TEXT NOT NULL
  , `value` TEXT NOT NULL
  );


migration_id: update seed_assignment role_name column to nullable
timestamp: 2024-05-24 13:36:49
sql:
  ALTER TABLE seed_assignment ADD COLUMN tmp_role_name VARCHAR(190) DEFAULT NULL;
  UPDATE seed_assignment SET tmp_role_name = role_name;
  ALTER TABLE seed_assignment DROP COLUMN role_name;
  ALTER TABLE seed_assignment RENAME COLUMN tmp_role_name TO role_name;


migration_id: add unique index builtin_role_action_scope
timestamp: 2024-05-24 13:36:49
sql:
  CREATE UNIQUE INDEX `UQE_seed_assignment_builtin_role_action_scope` ON `seed_assignment` (`builtin_role`,`action`,`scope`);


migration_id: create folder table
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `folder` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `uid` TEXT NOT NULL
  , `org_id` INTEGER NOT NULL
  , `title` TEXT NOT NULL
  , `description` TEXT NULL
  , `parent_uid` TEXT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  );


migration_id: Add unique index for title, parent_uid, and org_id
timestamp: 2024-05-24 13:36:49
sql:
  CREATE UNIQUE INDEX `UQE_folder_title_parent_uid_org_id` ON `folder` (`title`,`parent_uid`,`org_id`);


migration_id: Sync dashboard and folder table
timestamp: 2024-05-24 13:36:49
sql:
  			INSERT INTO folder (uid, org_id, title, created, updated)
  			SELECT uid, org_id, title, created, updated FROM dashboard WHERE is_folder = 1
  			ON CONFLICT DO UPDATE SET title=excluded.title, updated=excluded.updated
  		


migration_id: Remove ghost folders from the folder table
timestamp: 2024-05-24 13:36:49
sql:
  			DELETE FROM folder WHERE NOT EXISTS
  				(SELECT 1 FROM dashboard WHERE dashboard.uid = folder.uid AND dashboard.org_id = folder.org_id AND dashboard.is_folder = true)
  	


migration_id: Add unique index UQE_folder_org_id_parent_uid_title
timestamp: 2024-05-24 13:36:49
sql:
  CREATE UNIQUE INDEX `UQE_folder_org_id_parent_uid_title` ON `folder` (`org_id`,`parent_uid`,`title`);


migration_id: create anon_device table
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `anon_device` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `client_ip` TEXT NOT NULL
  , `created_at` DATETIME NOT NULL
  , `device_id` TEXT NOT NULL
  , `updated_at` DATETIME NOT NULL
  , `user_agent` TEXT NOT NULL
  );


migration_id: create signing_key table
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `signing_key` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  , `key_id` TEXT NOT NULL
  , `private_key` TEXT NOT NULL
  , `added_at` DATETIME NOT NULL
  , `expires_at` DATETIME NULL
  , `alg` TEXT NOT NULL
  );


migration_id: Add unique index for dashboard_org_id_folder_uid_title_is_folder
timestamp: 2024-05-24 13:36:49
sql:
  CREATE UNIQUE INDEX `UQE_dashboard_org_id_folder_uid_title_is_folder` ON `dashboard` (`org_id`,`folder_uid`,`title`,`is_folder`);


migration_id: create sso_setting table
timestamp: 2024-05-24 13:36:49
sql:
  CREATE TABLE IF NOT EXISTS `sso_setting` (
  `id` TEXT PRIMARY KEY NOT NULL
  , `provider` TEXT NOT NULL
  , `settings` TEXT NOT NULL
  , `created` DATETIME NOT NULL
  , `updated` DATETIME NOT NULL
  , `is_deleted` INTEGER NOT NULL DEFAULT 0
  );


# user

login: admin
email: admin@localhost
salt: F5FKXDK4F3
rands: AzowFfZhqP
created: 2024-05-24 13:36:49
updated: 2024-05-24 13:40:13
last_seen_at: 2024-05-25 08:03:40
password:
  9eeee0c7701aa874b30986f7afa415c81f1593e15c60497fdd22056532c75569e52d8e786d0116815ccd77a399e9e35d3aa1


# dashboard

slug: 1-k8s-for-prometheus-dashboard-20211010-en
title: 1 K8S for Prometheus Dashboard 20211010 EN
created: 2024-05-24 13:47:17
updated: 2024-05-24 13:47:17
uid: PwMJtdvnz
data:
  {"annotations":{"list":[{"$$hashKey":"object:247","builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations \u0026 Alerts","target":{"limit":100,"matchAny":false,"tags":[],"type":"dashboard"},"type":"dashboard"}]},"description":"【 resource overview 】2021.10.10 detail ，kubernetes Node information details ！ outflow K8S Node resource overview 、 Network bandwidth per second 、Pod Resource details K8S Network overview ， Optimizing important metrics display 。https://github.com/starsliao/Prometheus","editable":true,"gnetId":15661,"graphTooltip":0,"id":null,"iteration":1633873748245,"links":[{"icon":"bolt","tags":[],"targetBlank":true,"title":"Update","tooltip":" Update current dashboard ","type":"link","url":"https://grafana.com/dashboards/13105"},{"$$hashKey":"object:831","icon":"question","tags":["node_exporter"],"targetBlank":true,"title":"GitHub","tooltip":" Overall memory usage  ","type":"link","url":"https://github.com/starsliao/Prometheus"},{"$$hashKey":"object:1091","asDropdown":true,"icon":"external link","tags":[],"targetBlank":true,"type":"dashboards"}],"panels":[{"collapsed":false,"datasource":"admog8zd25xq8d","gridPos":{"h":1,"w":24,"x":0,"y":0},"id":54,"panels":[],"title":" Node Storage Information ： Number of cores used :【$Node】","type":"row"},{"cacheTimeout":null,"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"decimals":1,"mappings":[],"max":1,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"rgba(50, 172, 45, 0.97)","value":null},{"color":"rgba(237, 129, 40, 0.89)","value":0.8},{"color":"rgba(245, 54, 54, 0.9)","value":0.99}]},"unit":"percentunit"},"overrides":[]},"gridPos":{"h":4,"w":4,"x":0,"y":1},"id":44,"links":[],"options":{"displayMode":"basic","orientation":"vertical","reduceOptions":{"calcs":["last"],"fields":"","values":false},"showUnfilled":true,"text":{}},"pluginVersion":"7.5.11","targets":[{"exemplar":true,"expr":"sum(container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"}) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})","hide":false,"instant":true,"interval":"","legendFormat":" Memory Limit Rate ","refId":"C"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"}) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})","hide":false,"instant":true,"interval":"","legendFormat":" Total memory usage ","refId":"A"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"}) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})","hide":false,"instant":true,"interval":"10s","intervalFactor":1,"legendFormat":" Total Memory Demand ","refId":"B","step":10}],"title":" Overall core usage ","type":"bargauge"},{"cacheTimeout":null,"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"decimals":1,"mappings":[],"max":1,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"rgba(50, 172, 45, 0.97)","value":null},{"color":"rgba(237, 129, 40, 0.89)","value":0.8},{"color":"rgba(245, 54, 54, 0.9)","value":0.99}]},"unit":"percentunit"},"overrides":[]},"gridPos":{"h":4,"w":4,"x":4,"y":1},"id":45,"links":[],"options":{"displayMode":"basic","orientation":"vertical","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showUnfilled":true,"text":{}},"pluginVersion":"7.5.11","targets":[{"exemplar":true,"expr":"sum (irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"}[2m])) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})","hide":false,"instant":true,"interval":"","legendFormat":"CPU Request Rate ","refId":"C"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"}) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":"CPU total memory ","refId":"A"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"}) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":"CPU Nodes ","refId":"B"}],"title":" container CPU proportion ","type":"bargauge"},{"datasource":"admog8zd25xq8d","description":" Memory Request Rate ， container POD core ， container POD disk ","fieldConfig":{"defaults":{"mappings":[],"max":1000,"min":1,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"#EAB839","value":1000},{"color":"red","value":2000}]},"unit":"none"},"overrides":[]},"gridPos":{"h":4,"w":3,"x":8,"y":1},"id":74,"options":{"displayMode":"basic","orientation":"vertical","reduceOptions":{"calcs":["last"],"fields":"","values":false},"showUnfilled":true,"text":{}},"pluginVersion":"7.5.11","targets":[{"expr":"count(kube_node_info{origin_prometheus=~\"$origin_prometheus\"})","instant":true,"interval":"","legendFormat":" Total Cores ","refId":"A"},{"expr":"count(kube_pod_info{origin_prometheus=~\"$origin_prometheus\",created_by_kind!~\"\u003cnone\u003e|Job\",node=~\"^$Node$\"})","hide":false,"instant":true,"interval":"","legendFormat":"Pod core ","refId":"B"},{"exemplar":true,"expr":"sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"pods\", unit=\"integer\",node=~\"^$Node$\"})","hide":false,"instant":true,"interval":"","legendFormat":" disk Pod","refId":"C"}],"timeFrom":null,"timeShift":null,"title":" microservice Pod","type":"bargauge"},{"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"custom":{"align":"center","displayMode":"auto","filterable":false},"mappings":[],"noValue":"0","thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[{"matcher":{"id":"byName","options":" use "},"properties":[{"id":"custom.width","value":8}]},{"matcher":{"id":"byName","options":"Pod"},"properties":[{"id":"custom.width","value":21}]},{"matcher":{"id":"byName","options":"SVC"},"properties":[{"id":"custom.width","value":7}]},{"matcher":{"id":"byName","options":" usage "},"properties":[{"id":"custom.width","value":4}]},{"matcher":{"id":"byName","options":" memory "},"properties":[{"id":"custom.width","value":16}]},{"matcher":{"id":"byName","options":" request "},"properties":[{"id":"custom.width","value":33}]}]},"gridPos":{"h":8,"w":5,"x":11,"y":1},"id":51,"options":{"showHeader":true,"sortBy":[{"desc":true,"displayName":" use "}]},"pluginVersion":"7.5.11","targets":[{"expr":"count(kube_pod_info{origin_prometheus=~\"$origin_prometheus\",node=~\"^$Node$\"}) by (namespace)","format":"table","instant":true,"interval":"","legendFormat":"","refId":"A"},{"expr":"count(kube_service_info{origin_prometheus=~\"$origin_prometheus\"}) by(namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"C"},{"expr":"count(count(kube_pod_container_info{origin_prometheus=~\"$origin_prometheus\"}) by(container,namespace))by(namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"D"},{"expr":"count(kube_configmap_info{origin_prometheus=~\"$origin_prometheus\"}) by(namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"configmap","refId":"B"},{"expr":"count(kube_secret_info{origin_prometheus=~\"$origin_prometheus\"}) by(namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"secret","refId":"E"}],"timeFrom":null,"timeShift":null,"title":" average memory ","transformations":[{"id":"seriesToColumns","options":{"byField":"namespace"}},{"id":"organize","options":{"excludeByName":{"Time 1":true,"Time 2":true,"Time 3":true,"Time 4":true,"Time 5":true},"indexByName":{"Time 1":2,"Time 2":4,"Time 3":6,"Value #A":3,"Value #C":5,"Value #D":1,"namespace":0},"renameByName":{"Time 1":"","Time 2":"","Value #A":"Pod","Value #B":" memory ","Value #C":"SVC","Value #D":" usage ","Value #E":" request ","namespace":" use "}}}],"type":"table"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":2,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":8,"w":8,"x":16,"y":1},"height":"200px","hiddenSeries":false,"id":32,"isNew":true,"legend":{"alignAsTable":false,"avg":true,"current":true,"max":false,"min":false,"rightSide":false,"show":false,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum (rate(container_network_receive_bytes_total{origin_prometheus=~\"$origin_prometheus\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}[2m]))*8","format":"time_series","interval":"","intervalFactor":1,"legendFormat":" inflow ","metric":"network","refId":"A","step":10},{"exemplar":true,"expr":"sum (rate(container_network_transmit_bytes_total{origin_prometheus=~\"$origin_prometheus\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}[2m]))*8","instant":false,"interval":"","intervalFactor":1,"legendFormat":" status ","metric":"network","refId":"B","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"$NameSpace： selected nodes （ Associating nodes and namespaces ）","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:750","format":"binbps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:751","format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"decimals":1,"mappings":[],"max":1000000000000,"min":1,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"#EAB839","value":800000000000},{"color":"red","value":1000000000000}]},"unit":"bytes"},"overrides":[]},"gridPos":{"h":4,"w":4,"x":0,"y":5},"id":71,"options":{"displayMode":"basic","orientation":"vertical","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showUnfilled":true,"text":{}},"pluginVersion":"7.5.11","targets":[{"exemplar":true,"expr":"sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" Requests ","refId":"A"},{"exemplar":true,"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" Nodes ","refId":"C"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" total disk ","refId":"D"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" limit rate ","refId":"B"}],"timeFrom":null,"timeShift":null,"title":" Resource comprehensive display ","type":"bargauge"},{"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"decimals":1,"mappings":[],"max":500,"min":1,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"#EAB839","value":500},{"color":"red","value":1000}]},"unit":"locale"},"overrides":[]},"gridPos":{"h":4,"w":4,"x":4,"y":5},"id":72,"options":{"displayMode":"basic","orientation":"vertical","reduceOptions":{"calcs":["last"],"fields":"","values":false},"showUnfilled":true,"text":{}},"pluginVersion":"7.5.11","targets":[{"exemplar":true,"expr":"sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" usage ","refId":"A"},{"exemplar":true,"expr":"sum (irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",id=\"/\",node=~\"^$Node$\"}[2m]))","instant":true,"interval":"","legendFormat":" Nodes ","refId":"C"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" total disk ","refId":"D"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" limit rate ","refId":"B"}],"timeFrom":null,"timeShift":null,"title":" container CPU node ","type":"bargauge"},{"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"decimals":2,"mappings":[],"max":8000000000000,"min":1,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"#EAB839","value":5000000000000},{"color":"red","value":10000000000000}]},"unit":"bytes"},"overrides":[{"matcher":{"id":"byName","options":" Request Rate "},"properties":[{"id":"unit","value":"percentunit"},{"id":"max","value":1},{"id":"min","value":0},{"id":"thresholds","value":{"mode":"percentage","steps":[{"color":"green","value":null},{"color":"orange","value":80},{"color":"red","value":90}]}}]}]},"gridPos":{"h":4,"w":3,"x":8,"y":5},"id":73,"options":{"displayMode":"basic","orientation":"vertical","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showUnfilled":true,"text":{}},"pluginVersion":"7.5.11","targets":[{"expr":"sum (container_fs_usage_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"}) / sum (container_fs_limit_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" Request Rate ","refId":"C"},{"expr":"sum (container_fs_usage_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" Nodes ","refId":"A"},{"expr":"sum (container_fs_limit_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"})","instant":true,"interval":"","legendFormat":" name ","refId":"B"}],"timeFrom":null,"timeShift":null,"title":" Node memory ratio ","type":"bargauge"},{"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","displayMode":"auto","filterable":false},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[{"matcher":{"id":"byName","options":"Pod"},"properties":[{"id":"custom.width","value":51}]},{"matcher":{"id":"byName","options":" include "},"properties":[{"id":"custom.width","value":51}]},{"matcher":{"id":"byName","options":"CPU limit ( number )"},"properties":[{"id":"custom.width","value":63}]},{"matcher":{"id":"byName","options":"CPU total "},"properties":[{"id":"custom.width","value":54}]},{"matcher":{"id":"byName","options":"CPU total "},"properties":[{"id":"custom.width","value":58}]},{"matcher":{"id":"byName","options":" memory request "},"properties":[{"id":"custom.width","value":78}]},{"matcher":{"id":"byName","options":" Total Memory "},"properties":[{"id":"custom.width","value":76}]},{"matcher":{"id":"byName","options":" Network bandwidth "},"properties":[{"id":"custom.width","value":83}]},{"matcher":{"id":"byName","options":" English version "},"properties":[{"id":"custom.width","value":85}]},{"matcher":{"id":"byName","options":" container name "},"properties":[{"id":"custom.width","value":84}]},{"matcher":{"id":"byName","options":" config %"},"properties":[{"id":"custom.width","value":92}]},{"matcher":{"id":"byName","options":" Memory Usage %"},"properties":[{"id":"custom.width","value":63}]},{"matcher":{"id":"byName","options":" Network bandwidth %"},"properties":[{"id":"custom.width","value":59}]},{"matcher":{"id":"byName","options":"CPU limit %"},"properties":[{"id":"custom.width","value":81}]},{"matcher":{"id":"byName","options":"CPU max %"},"properties":[{"id":"custom.width","value":77}]},{"matcher":{"id":"byName","options":"CPU total %"},"properties":[{"id":"custom.width","value":59}]},{"matcher":{"id":"byName","options":" English version %"},"properties":[{"id":"custom.width","value":72}]},{"matcher":{"id":"byRegexp","options":".*%"},"properties":[{"id":"unit","value":"percentunit"},{"id":"thresholds","value":{"mode":"percentage","steps":[{"color":"green","value":null},{"color":"orange","value":80},{"color":"red","value":90}]}},{"id":"custom.displayMode","value":"color-background"}]},{"matcher":{"id":"byRegexp","options":"( memory request | Total Memory | Memory Usage | Network bandwidth | English version | container name )"},"properties":[{"id":"unit","value":"bytes"},{"id":"decimals","value":2}]},{"matcher":{"id":"byName","options":" container "},"properties":[{"id":"custom.width","value":96}]},{"matcher":{"id":"byName","options":" memory request %"},"properties":[{"id":"custom.width","value":67}]},{"matcher":{"id":"byName","options":" Memory Usage "},"properties":[{"id":"custom.width","value":75}]},{"matcher":{"id":"byName","options":"CPU max "},"properties":[{"id":"custom.width","value":58}]},{"matcher":{"id":"byRegexp","options":"(CPU total | Total Memory | container name |Pod disk )"},"properties":[{"id":"custom.displayMode","value":"color-background"},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"blue","value":null}]}}]},{"matcher":{"id":"byName","options":"Pod disk "},"properties":[{"id":"custom.width","value":54}]},{"matcher":{"id":"byRegexp","options":"CPU limit \\( number \\)$| memory request $| English version $"},"properties":[{"id":"custom.displayMode","value":"color-text"},{"id":"color","value":{"fixedColor":"orange","mode":"fixed"}}]}]},"gridPos":{"h":8,"w":24,"x":0,"y":9},"id":52,"options":{"showHeader":true,"sortBy":[{"desc":true,"displayName":" English version %"}]},"pluginVersion":"7.5.11","targets":[{"expr":"count(kube_pod_info{origin_prometheus=~\"$origin_prometheus\",created_by_kind!~\"\u003cnone\u003e|Job\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"pod core ","refId":"A"},{"exemplar":true,"expr":"kube_node_status_condition{origin_prometheus=~\"$origin_prometheus\",status=\"true\",node=~\"^$Node$\"}  == 1","format":"table","instant":true,"interval":"","legendFormat":" include ","refId":"B"},{"exemplar":true,"expr":"sum (irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"}[2m])) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"I"},{"exemplar":true,"expr":"kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"} - 0","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"C"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"E"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"F"},{"exemplar":true,"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"J"},{"exemplar":true,"expr":"sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"}) by (node) - 0","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"D"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"G"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"H"},{"expr":"sum (container_fs_usage_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"K"},{"exemplar":true,"expr":"sum (container_fs_limit_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"}) by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"L"},{"exemplar":true,"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"})by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" memory request %","refId":"M"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"})by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" Memory Usage %","refId":"N"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",node=~\"^$Node$\"})by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" Network bandwidth %","refId":"O"},{"exemplar":true,"expr":"sum (irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"}[2m]))by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"CPU limit %","refId":"P"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"})by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"CPU max %","refId":"Q"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",node=~\"^$Node$\"})by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" Network bandwidth %","refId":"R"},{"expr":"sum (container_fs_usage_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"})by (node) / sum (container_fs_limit_bytes{origin_prometheus=~\"$origin_prometheus\",device=~\"^/dev/.*$\",id=\"/\",node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" English version %","refId":"S"},{"exemplar":true,"expr":"sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"pods\", unit=\"integer\",node=~\"^$Node$\"})by (node)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"Pod disk ","refId":"T"}],"timeFrom":null,"timeShift":null,"title":"$Node： Node memory details ","transformations":[{"id":"merge","options":{}},{"id":"organize","options":{"excludeByName":{"Time":true,"Time 1":true,"Time 10":true,"Time 11":true,"Time 12":true,"Time 13":true,"Time 14":true,"Time 15":true,"Time 16":true,"Time 17":true,"Time 18":true,"Time 19":true,"Time 2":true,"Time 20":true,"Time 3":true,"Time 4":true,"Time 5":true,"Time 6":true,"Time 7":true,"Time 8":true,"Time 9":true,"Value #B":true,"Value #E":false,"Value #F":false,"__name__":true,"app_kubernetes_io_name":true,"app_kubernetes_io_name 1":true,"app_kubernetes_io_name 2":true,"app_kubernetes_io_name 3":true,"app_kubernetes_io_version":true,"app_kubernetes_io_version 1":true,"app_kubernetes_io_version 2":true,"app_kubernetes_io_version 3":true,"condition":false,"instance":true,"instance 1":true,"instance 2":true,"instance 3":true,"job":true,"job 1":true,"job 2":true,"job 3":true,"k8s_namespace":true,"k8s_namespace 1":true,"k8s_namespace 2":true,"k8s_namespace 3":true,"k8s_sname":true,"k8s_sname 1":true,"k8s_sname 2":true,"k8s_sname 3":true,"origin_prometheus":true,"origin_prometheus 1":true,"origin_prometheus 2":true,"origin_prometheus 3":true,"resource":true,"status":true,"unit":true},"indexByName":{"Time":26,"Value #A":3,"Value #B":6,"Value #C":7,"Value #D":14,"Value #E":10,"Value #F":12,"Value #G":17,"Value #H":19,"Value #I":8,"Value #J":15,"Value #K":22,"Value #L":21,"Value #M":16,"Value #N":18,"Value #O":20,"Value #P":9,"Value #Q":11,"Value #R":13,"Value #S":23,"Value #T":2,"__name__":4,"app_kubernetes_io_name":27,"app_kubernetes_io_version":28,"condition":1,"instance":29,"job":30,"k8s_namespace":31,"k8s_sname":32,"node":0,"origin_prometheus":33,"resource":24,"status":5,"unit":25},"renameByName":{"Value #A":"Pod","Value #C":"CPU total ","Value #D":" Total Memory ","Value #E":"CPU max ","Value #F":"CPU total ","Value #G":" Memory Usage ","Value #H":" Network bandwidth ","Value #I":"CPU limit ( number )","Value #J":" memory request ","Value #K":" English version ","Value #L":" container name ","Value #M":" memory request %","Value #N":" Memory Usage %","Value #O":" Network bandwidth %","Value #P":"CPU limit %","Value #Q":"CPU max %","Value #R":"CPU total %","Value #S":" English version %","Value #T":"Pod disk ","condition":" include ","node":" container "}}},{"id":"filterFieldsByName","options":{}}],"type":"table"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{},"overrides":[]},"fill":0,"fillGradient":0,"gridPos":{"h":10,"w":8,"x":0,"y":17},"hiddenSeries":false,"id":75,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":false,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[{"$$hashKey":"object:2068","alias":"/ usage .*/","color":"#C4162A"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum (irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"}[2m]))by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\", node=~\"^$Node$\"})by (node)*100","format":"time_series","hide":false,"instant":false,"interval":"","legendFormat":"{{node}}","refId":"I"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"$Node： container CPU receive ","tooltip":{"shared":true,"sort":2,"value_type":"individual"},"transformations":[],"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:1711","format":"percent","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:1712","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{},"overrides":[]},"fill":0,"fillGradient":0,"gridPos":{"h":10,"w":8,"x":8,"y":17},"hiddenSeries":false,"id":76,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":false,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container!=\"\",node=~\"^$Node$\"})by (node) / sum(kube_node_status_allocatable{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\", node=~\"^$Node$\"})by (node)*100","format":"time_series","hide":false,"instant":false,"interval":"","legendFormat":"{{node}}","refId":"I"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"$Node： Node Memory Information ","tooltip":{"shared":true,"sort":2,"value_type":"individual"},"transformations":[],"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:1711","format":"percent","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:1712","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":2,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":0,"fillGradient":0,"grid":{},"gridPos":{"h":10,"w":8,"x":16,"y":17},"height":"200px","hiddenSeries":false,"id":78,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":false,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum (irate(container_network_receive_bytes_total{origin_prometheus=~\"$origin_prometheus\",node=~\"^$Node$\"}[2m]))by (node) *8","format":"time_series","interval":"","intervalFactor":1,"legendFormat":" update :{{node}}","metric":"network","refId":"A","step":10},{"exemplar":true,"expr":"sum (irate(container_network_transmit_bytes_total{origin_prometheus=~\"$origin_prometheus\",node=~\"^$Node$\"}[2m]))by (node) *8","instant":false,"interval":"","intervalFactor":1,"legendFormat":" restart :{{node}}","metric":"network","refId":"B","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"$Node： Overall resource overview ","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:750","format":"binbps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:751","format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":true,"datasource":"admog8zd25xq8d","gridPos":{"h":1,"w":24,"x":0,"y":27},"id":61,"panels":[{"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","displayMode":"auto","filterable":false},"displayName":"","mappings":[],"thresholds":{"mode":"percentage","steps":[{"color":"green","value":null},{"color":"orange","value":70},{"color":"red","value":90}]},"unit":"short"},"overrides":[{"matcher":{"id":"byRegexp","options":".*%.*"},"properties":[{"id":"unit","value":"percent"},{"id":"custom.displayMode","value":"gradient-gauge"}]},{"matcher":{"id":"byRegexp","options":" Requests .*"},"properties":[{"id":"unit","value":"bytes"}]},{"matcher":{"id":"byName","options":" Number of cluster nodes "},"properties":[{"id":"unit","value":"bytes"},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"orange","value":10737418240},{"color":"red","value":16106127360}]}},{"id":"custom.displayMode","value":"color-background"},{"id":"custom.width","value":90}]},{"matcher":{"id":"byRegexp","options":".* total "},"properties":[{"id":"color","value":{"fixedColor":"blue","mode":"fixed"}},{"id":"custom.displayMode","value":"color-background"}]},{"matcher":{"id":"byName","options":" total CPU total "},"properties":[{"id":"custom.width","value":84}]},{"matcher":{"id":"byName","options":" Total Disk Usage "},"properties":[{"id":"custom.width","value":77}]},{"matcher":{"id":"byName","options":" Selected microservices (RSS) "},"properties":[{"id":"custom.width","value":119}]},{"matcher":{"id":"byName","options":" Total memory limit "},"properties":[{"id":"custom.width","value":82}]},{"matcher":{"id":"byName","options":" limit amount "},"properties":[{"id":"custom.width","value":69},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"orange","value":null},{"color":"green","value":2}]}},{"id":"custom.displayMode","value":"color-background"}]},{"matcher":{"id":"byName","options":" Resource Details %(RSS)"},"properties":[{"id":"custom.width","value":112}]},{"matcher":{"id":"byName","options":" password CPU%( overall 100%)"},"properties":[{"id":"custom.width","value":150}]},{"matcher":{"id":"byName","options":" Node Network Overview "},"properties":[{"id":"custom.width","value":100}]},{"matcher":{"id":"byName","options":" total CPU selected "},"properties":[{"id":"custom.width","value":82}]},{"matcher":{"id":"byName","options":" Resource Details %(WSS)"},"properties":[{"id":"custom.width","value":130}]},{"matcher":{"id":"byName","options":" Selected microservices (WSS)"},"properties":[{"id":"custom.width","value":120}]},{"matcher":{"id":"byName","options":" average memory "},"properties":[{"id":"custom.width","value":79}]},{"matcher":{"id":"byRegexp","options":" Node Network Overview $| Selected microservices \\(WSS\\)$| Selected microservices \\(RSS\\) $"},"properties":[{"id":"color","value":{"fixedColor":"orange","mode":"fixed"}},{"id":"custom.displayMode","value":"color-text"}]},{"matcher":{"id":"byName","options":" container number "},"properties":[{"id":"custom.width","value":149}]}]},"gridPos":{"h":8,"w":24,"x":0,"y":2},"id":57,"options":{"showHeader":true,"sortBy":[{"desc":true,"displayName":" container number "}]},"pluginVersion":"7.5.11","targets":[{"exemplar":true,"expr":"sum(irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}[2m])) by (container) / (sum(container_spec_cpu_quota{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}/100000) by (container)) * 100","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"A"},{"exemplar":true,"expr":"sum(irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}[2m])) by (container)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" Node Network Overview ","refId":"L"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"B"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)","format":"table","instant":true,"interval":"","legendFormat":"","refId":"C"},{"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container) * 100","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"I"},{"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"D"},{"expr":"sum (container_memory_rss{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container) * 100","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" Resource Details %(RSS)","refId":"H"},{"expr":"sum (container_memory_rss{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":" Selected microservices (RSS) ","refId":"K"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"E"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"F"},{"expr":"sum(container_fs_usage_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)","format":"table","instant":true,"interval":"","legendFormat":"","refId":"J"},{"exemplar":true,"expr":"count(kube_pod_container_info{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by(container,namespace) - 0","format":"table","instant":true,"interval":"","legendFormat":"","refId":"G"}],"timeFrom":null,"timeShift":null,"title":" usage ( container number ) namespace ","transformations":[{"id":"merge","options":{}},{"id":"organize","options":{"excludeByName":{"Time":true,"Time 1":true,"Time 10":true,"Time 11":true,"Time 12":true,"Time 2":true,"Time 3":true,"Time 4":true,"Time 5":true,"Time 6":true,"Time 7":true,"Time 8":true,"Time 9":true},"indexByName":{"Time 1":2,"Time 10":20,"Time 11":22,"Time 12":24,"Time 2":4,"Time 3":6,"Time 4":8,"Time 5":10,"Time 6":12,"Time 7":14,"Time 8":16,"Time 9":18,"Value #A":3,"Value #B":7,"Value #C":9,"Value #D":13,"Value #E":19,"Value #F":21,"Value #G":25,"Value #H":15,"Value #I":11,"Value #J":23,"Value #K":17,"Value #L":5,"container":1,"namespace":0},"renameByName":{"Time 1":"","Value #A":" password CPU%( overall 100%)","Value #B":" total CPU selected ","Value #C":" total CPU total ","Value #D":" Selected microservices (WSS)","Value #E":" Total memory limit ","Value #F":" Total Disk Usage ","Value #G":" limit amount ","Value #H":" Resource Details %(RSS)","Value #I":" Resource Details %(WSS)","Value #J":" Number of cluster nodes ","Value #K":" Selected microservices (RSS) ","Value #L":" Node Network Overview ","container":" container number ","namespace":" average memory "}}},{"id":"filterFieldsByName","options":{}}],"type":"table"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":3,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":0,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":8,"x":0,"y":10},"height":"","hiddenSeries":false,"id":24,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}[2m])) by (container) / (sum(container_spec_cpu_quota{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}/100000) by (container)) * 100","hide":false,"instant":false,"interval":"","intervalFactor":1,"legendFormat":"{{ container}}","metric":"container_cpu","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":" usage ( container number ) password CPU Request Rate ( overall 100%)","tooltip":{"msResolution":true,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:5607","format":"percent","label":"","logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:5608","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":2,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":0,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":8,"x":8,"y":10},"hiddenSeries":false,"id":59,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container) * 100","interval":"","intervalFactor":1,"legendFormat":"WSS：{{ container }}","metric":"container_memory_usage:sort_desc","refId":"A","step":10},{"expr":"sum (container_memory_rss{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"}) by (container) * 100","interval":"","intervalFactor":1,"legendFormat":"RSS：{{ container }}","metric":"container_memory_usage:sort_desc","refId":"B","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":" usage ( container number ) Microservice resource details ","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:5686","format":"percent","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:5687","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{" restart :wholion-lbs":"green"," update :wholion-lbs":"purple"},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":2,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":0,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":8,"x":16,"y":10},"hiddenSeries":false,"id":16,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":false,"rightSide":false,"show":true,"sideWidth":null,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum(sum(irate(container_network_receive_bytes_total{origin_prometheus=~\"$origin_prometheus\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)* on(pod) group_right kube_pod_container_info) by(container) *8","hide":false,"interval":"","intervalFactor":1,"legendFormat":" update :{{ container }}","metric":"network","refId":"A","step":10},{"exemplar":true,"expr":"sum(sum(irate(container_network_transmit_bytes_total{origin_prometheus=~\"$origin_prometheus\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)* on(pod) group_right kube_pod_container_info) by(container) *8","interval":"","intervalFactor":1,"legendFormat":" restart :{{ container }}","metric":"network","refId":"B","step":10},{"expr":"sum (rate (container_network_receive_bytes_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)","hide":true,"interval":"","intervalFactor":1,"legendFormat":"-\u003e {{ pod }}","metric":"network","refId":"C","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)","hide":true,"interval":"","intervalFactor":1,"legendFormat":"\u003c- {{ pod }}","metric":"network","refId":"D","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":" usage ( container number ) Container memory usage ( Memory Usage )","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:8106","format":"binbps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:8107","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":" usage ( container number ) Memory Requirements ： Associated nodes :【$Container】","type":"row"},{"collapsed":true,"datasource":"admog8zd25xq8d","gridPos":{"h":1,"w":24,"x":0,"y":28},"id":49,"panels":[{"datasource":"admog8zd25xq8d","fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"center","displayMode":"auto","filterable":false},"displayName":"","mappings":[],"thresholds":{"mode":"percentage","steps":[{"color":"green","value":null},{"color":"#EAB839","value":80},{"color":"red","value":90}]},"unit":"short"},"overrides":[{"matcher":{"id":"byName","options":"CPU%( overall 100%)"},"properties":[{"id":"custom.width","value":140}]},{"matcher":{"id":"byName","options":" average memory "},"properties":[{"id":"custom.width","value":78}]},{"matcher":{"id":"byName","options":"Pod core count "},"properties":[{"id":"custom.width","value":136}]},{"matcher":{"id":"byName","options":" core usage "},"properties":[{"id":"custom.width","value":71}]},{"matcher":{"id":"byName","options":"CPU selected "},"properties":[{"id":"custom.width","value":68}]},{"matcher":{"id":"byName","options":"CPU total "},"properties":[{"id":"custom.width","value":65}]},{"matcher":{"id":"byName","options":"WSS%"},"properties":[{"id":"custom.width","value":129}]},{"matcher":{"id":"byName","options":"WSS"},"properties":[{"id":"custom.width","value":73}]},{"matcher":{"id":"byName","options":"RSS%"},"properties":[{"id":"custom.width","value":132}]},{"matcher":{"id":"byName","options":"RSS"},"properties":[{"id":"custom.width","value":68}]},{"matcher":{"id":"byName","options":" resource statistics "},"properties":[{"id":"custom.width","value":69}]},{"matcher":{"id":"byName","options":" Network bandwidth "},"properties":[{"id":"custom.width","value":71}]},{"matcher":{"id":"byName","options":" send "},"properties":[{"id":"custom.width","value":67},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"#EAB839","value":1},{"color":"red","value":3}]}},{"id":"custom.displayMode","value":"color-background"}]},{"matcher":{"id":"byName","options":" demand "},"properties":[{"id":"custom.width","value":71},{"id":"unit","value":"bytes"},{"id":"thresholds","value":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"#EAB839","value":10737418240},{"color":"red","value":16106127360}]}},{"id":"custom.displayMode","value":"color-background"}]},{"matcher":{"id":"byRegexp","options":".*%.*"},"properties":[{"id":"unit","value":"percent"},{"id":"custom.displayMode","value":"gradient-gauge"}]},{"matcher":{"id":"byRegexp","options":" config .*|WSS$|RSS$"},"properties":[{"id":"unit","value":"bytes"}]},{"matcher":{"id":"byRegexp","options":".* total "},"properties":[{"id":"color","value":{"fixedColor":"blue","mode":"fixed"}},{"id":"custom.displayMode","value":"color-background"}]},{"matcher":{"id":"byName","options":" container "},"properties":[{"id":"custom.width","value":87}]},{"matcher":{"id":"byRegexp","options":" core usage $|WSS$|RSS$"},"properties":[{"id":"custom.displayMode","value":"color-text"},{"id":"color","value":{"fixedColor":"orange","mode":"fixed"}}]},{"matcher":{"id":"byName","options":" container number "},"properties":[{"id":"custom.width","value":116}]}]},"gridPos":{"h":8,"w":24,"x":0,"y":3},"id":47,"options":{"showHeader":true,"sortBy":[]},"pluginVersion":"7.5.11","targets":[{"exemplar":true,"expr":"sum(irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}[2m])) by (container, pod,node,namespace) / (sum(container_spec_cpu_quota{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}/100000) by (container, pod,node,namespace)) * 100","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"A"},{"exemplar":true,"expr":"sum(irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}[2m])) by (container, pod,node,namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"CPU disk usage ","refId":"Q"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",pod=~\"$Pod\",container =~\"$Container\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container,pod,node,namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"B"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"cpu\", unit=\"core\",pod=~\"$Pod\",container =~\"$Container\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container,pod,node,namespace)","format":"table","instant":true,"interval":"","legendFormat":"","refId":"C"},{"exemplar":true,"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod,node,namespace)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod,node,namespace) * 100","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"wss%","refId":"I"},{"exemplar":true,"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod,node,namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"wss","refId":"D"},{"exemplar":true,"expr":"sum (container_memory_rss{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod,node,namespace)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod,node,namespace) * 100","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"rss%","refId":"L"},{"exemplar":true,"expr":"sum (container_memory_rss{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod,node,namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"rss","refId":"K"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_requests{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",pod=~\"$Pod\",container =~\"$Container\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container,pod,node,namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"E"},{"exemplar":true,"expr":"sum(kube_pod_container_resource_limits{origin_prometheus=~\"$origin_prometheus\",resource=\"memory\", unit=\"byte\",pod=~\"$Pod\",container =~\"$Container\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container,pod,node,namespace)","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"F"},{"exemplar":true,"expr":"sum(container_fs_usage_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container,pod,node,namespace)","format":"table","instant":true,"interval":"","legendFormat":"","refId":"J"},{"exemplar":true,"expr":"kube_pod_container_status_restarts_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",namespace=~\"$NameSpace\"} * on (pod) group_left(node) kube_pod_info{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}","format":"table","hide":false,"instant":true,"interval":"","legendFormat":"","refId":"H"},{"exemplar":true,"expr":"cass_jvm_heap{service=~\"$Container\"} * on (pod_ip) group_right(service) kube_pod_info{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",namespace=~\"$NameSpace\"}","format":"table","hide":true,"instant":true,"interval":"","legendFormat":"","refId":"M"},{"exemplar":true,"expr":"cass_jvm_heap_max{service=~\"$Container\"} * on (pod_ip) group_right(service) kube_pod_info{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",namespace=~\"$NameSpace\"}","format":"table","hide":true,"instant":true,"interval":"","legendFormat":"","refId":"N"},{"expr":"cass_jvm_noheap{service=~\"$Container\"} * on (pod_ip) group_right(service) kube_pod_info{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",namespace=~\"$NameSpace\"}","format":"table","hide":true,"instant":true,"interval":"","legendFormat":"","refId":"O"},{"expr":"cass_jvm_noheap_max{service=~\"$Container\"} * on (pod_ip) group_right(service) kube_pod_info{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",namespace=~\"$NameSpace\"}","format":"table","hide":true,"instant":true,"interval":"","legendFormat":"","refId":"P"}],"timeFrom":null,"timeShift":null,"title":"$Node：Pod Memory Limit ( Memory Usage )","transformations":[{"id":"merge","options":{}},{"id":"organize","options":{"excludeByName":{"Time":true,"Time 1":true,"Time 10":true,"Time 11":true,"Time 12":true,"Time 13":true,"Time 2":true,"Time 3":true,"Time 4":true,"Time 5":true,"Time 6":true,"Time 7":true,"Time 8":true,"Time 9":true,"Value #G":true,"__name__":true,"app_kubernetes_io_name":true,"app_kubernetes_io_name 1":true,"app_kubernetes_io_name 2":true,"app_kubernetes_io_version":true,"app_kubernetes_io_version 1":true,"app_kubernetes_io_version 2":true,"container 1":true,"container 10":true,"container 11":true,"container 12":true,"container 2":true,"container 3":true,"container 4":true,"container 5":true,"container 6":true,"container 7":true,"container 8":true,"container 9":true,"created_by_kind":true,"created_by_name":true,"host_ip":true,"instance":true,"instance 1":true,"instance 2":true,"job":true,"job 1":true,"job 2":true,"k8s_namespace":true,"k8s_namespace 1":true,"k8s_namespace 2":true,"k8s_sname":true,"k8s_sname 1":true,"k8s_sname 2":true,"namespace":false,"namespace 1":true,"namespace 10":true,"namespace 11":true,"namespace 12":false,"namespace 2":true,"namespace 3":true,"namespace 4":true,"namespace 5":true,"namespace 6":true,"namespace 7":true,"namespace 8":true,"namespace 9":true,"node 1":true,"node 10":true,"node 11":false,"node 12":true,"node 2":true,"node 3":true,"node 4":true,"node 5":true,"node 6":true,"node 7":true,"node 8":true,"node 9":true,"origin_prometheus":true,"origin_prometheus 1":true,"origin_prometheus 2":true,"phase":true,"pod_ip":true,"priority_class":true,"uid":true},"indexByName":{"Time":23,"Value #A":4,"Value #B":6,"Value #C":7,"Value #D":9,"Value #E":12,"Value #F":13,"Value #H":22,"Value #I":8,"Value #J":14,"Value #K":11,"Value #L":10,"Value #Q":5,"app_kubernetes_io_name":15,"app_kubernetes_io_version":16,"container":2,"instance":17,"job":18,"k8s_namespace":19,"k8s_sname":20,"namespace":1,"node":0,"origin_prometheus":21,"pod":3},"renameByName":{"Value #A":"CPU%( overall 100%)","Value #B":"CPU selected ","Value #C":"CPU total ","Value #D":"WSS","Value #E":" resource statistics ","Value #F":" Network bandwidth ","Value #H":" send ","Value #I":"WSS%","Value #J":" demand ","Value #K":"RSS","Value #L":"RSS%","Value #Q":" core usage ","container":" container number ","namespace":" average memory ","namespace 1":"","namespace 12":" average memory ","node":" container ","node 1":"","node 11":" container ","pod":"Pod core count ","priority_class":""}}},{"id":"filterFieldsByName","options":{"include":{"names":[" container "," average memory ","Pod core count ","CPU%( overall 100%)"," core usage ","CPU selected ","CPU total ","WSS%","WSS","RSS%","RSS"," resource statistics "," Network bandwidth "," demand "," send "," container number "]}}}],"type":"table"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":2,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":0,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":8,"x":0,"y":11},"height":"","hiddenSeries":false,"id":58,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":false,"rightSide":false,"show":true,"sideWidth":null,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum(irate(container_cpu_usage_seconds_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}[2m])) by (container, pod) / (sum(container_spec_cpu_quota{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}/100000) by (container, pod)) * 100","hide":false,"instant":false,"interval":"","intervalFactor":1,"legendFormat":"{{ pod }}","metric":"container_cpu","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pod upper limit CPU Request Rate ( overall 100% Memory Usage )","tooltip":{"msResolution":true,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:5607","format":"percent","label":"","logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:5608","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":2,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":0,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":8,"x":8,"y":11},"hiddenSeries":false,"id":27,"isNew":true,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":true,"min":false,"rightSide":false,"show":true,"sideWidth":null,"sort":"current","sortDesc":false,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum (container_memory_working_set_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod) * 100","interval":"","intervalFactor":1,"legendFormat":"WSS：{{ pod }}","metric":"container_memory_usage:sort_desc","refId":"A","step":10},{"exemplar":true,"expr":"sum (container_memory_rss{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod)/ sum(container_spec_memory_limit_bytes{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",container =~\"$Container\",container !=\"\",container!=\"POD\",node=~\"^$Node$\",namespace=~\"$NameSpace\"}) by (container, pod) * 100","interval":"","intervalFactor":1,"legendFormat":"RSS：{{ pod }}","metric":"container_memory_usage:sort_desc","refId":"B","step":10},{"exemplar":true,"expr":"(cass_jvm_heap{service=~\"$Container\"} * on (pod_ip) group_right(service) kube_pod_info{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",namespace=~\"$NameSpace\"}) / (cass_jvm_heap_max{service=~\"$Container\"} * on (pod_ip) group_right(service) kube_pod_info{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",namespace=~\"$NameSpace\"}) * 100","instant":false,"interval":"","intervalFactor":1,"legendFormat":"Heap：{{ pod }}","metric":"container_memory_usage:sort_desc","refId":"C","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pod View more dashboards ( Memory Usage )","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:5686","format":"percent","label":null,"logBase":1,"max":"100","min":null,"show":true},{"$$hashKey":"object:5687","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{" restart :wholion-lbs":"green"," update :wholion-lbs":"purple"},"bars":false,"dashLength":10,"dashes":false,"datasource":"admog8zd25xq8d","decimals":2,"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":0,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":8,"x":16,"y":11},"hiddenSeries":false,"id":77,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":false,"rightSide":false,"show":true,"sideWidth":null,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.5.11","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"exemplar":true,"expr":"sum(sum(irate(container_network_receive_bytes_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)* on(pod) group_right kube_pod_container_info) by(pod) *8","hide":false,"interval":"","intervalFactor":1,"legendFormat":" update :{{ pod}}","metric":"network","refId":"A","step":10},{"exemplar":true,"expr":"sum(sum(irate(container_network_transmit_bytes_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)* on(pod) group_right kube_pod_container_info) by(pod) *8","interval":"","intervalFactor":1,"legendFormat":" restart :{{ pod}}","metric":"network","refId":"B","step":10},{"expr":"sum (rate (container_network_receive_bytes_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)","hide":true,"interval":"","intervalFactor":1,"legendFormat":"-\u003e {{ pod }}","metric":"network","refId":"C","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total{origin_prometheus=~\"$origin_prometheus\",pod=~\"$Pod\",image!=\"\",name=~\"^k8s_.*\",node=~\"^$Node$\",namespace=~\"$NameSpace\",pod=~\".*$Container.*\"}[2m])) by (pod)","hide":true,"interval":"","intervalFactor":1,"legendFormat":"\u003c- {{ pod }}","metric":"network","refId":"D","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pod Container memory usage ( Memory Usage )","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:8106","format":"binbps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:8107","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"Pod Memory Requirements ： space Pod:【$Pod】","type":"row"}],"refresh":"","schemaVersion":27,"style":"dark","tags":["StarsL.cn","Prometheus","Kubernetes"],"templating":{"list":[{"allValue":"","current":{},"datasource":"admog8zd25xq8d","definition":"label_values(origin_prometheus)","description":null,"error":null,"hide":0,"includeAll":false,"label":"K8S","multi":false,"name":"origin_prometheus","options":[],"query":{"query":"label_values(origin_prometheus)","refId":"Prometheus-origin_prometheus-Variable-Query"},"refresh":2,"regex":"","skipUrlSync":false,"sort":5,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":"","current":{},"datasource":"admog8zd25xq8d","definition":"label_values(kube_node_info{origin_prometheus=~\"$origin_prometheus\"},node)","description":null,"error":null,"hide":0,"includeAll":true,"label":" container ","multi":false,"name":"Node","options":[],"query":{"query":"label_values(kube_node_info{origin_prometheus=~\"$origin_prometheus\"},node)","refId":"Prometheus-Node-Variable-Query"},"refresh":1,"regex":"","skipUrlSync":false,"sort":5,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":"","current":{},"datasource":"admog8zd25xq8d","definition":"label_values(kube_namespace_labels{origin_prometheus=~\"$origin_prometheus\"},namespace)","description":null,"error":null,"hide":0,"includeAll":true,"label":" average memory ","multi":false,"name":"NameSpace","options":[],"query":{"query":"label_values(kube_namespace_labels{origin_prometheus=~\"$origin_prometheus\"},namespace)","refId":"Prometheus-NameSpace-Variable-Query"},"refresh":1,"regex":"","skipUrlSync":false,"sort":5,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":".*","current":{},"datasource":"admog8zd25xq8d","definition":"label_values(kube_pod_container_info{origin_prometheus=~\"$origin_prometheus\",namespace=~\"$NameSpace\"},container)","description":null,"error":null,"hide":0,"includeAll":true,"label":" usage ( container number )","multi":false,"name":"Container","options":[],"query":{"query":"label_values(kube_pod_container_info{origin_prometheus=~\"$origin_prometheus\",namespace=~\"$NameSpace\"},container)","refId":"Prometheus-Container-Variable-Query"},"refresh":1,"regex":"","skipUrlSync":false,"sort":5,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":".*","current":{},"datasource":"admog8zd25xq8d","definition":"label_values(kube_pod_container_info{origin_prometheus=~\"$origin_prometheus\",namespace=~\"$NameSpace\",container=~\"$Container\"},pod)","description":null,"error":null,"hide":0,"includeAll":true,"label":"Pod","multi":false,"name":"Pod","options":[],"query":{"query":"label_values(kube_pod_container_info{origin_prometheus=~\"$origin_prometheus\",namespace=~\"$NameSpace\",container=~\"$Container\"},pod)","refId":"Prometheus-Pod-Variable-Query"},"refresh":1,"regex":"","skipUrlSync":false,"sort":5,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false}]},"time":{"from":"now-30m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"1     K8S for Prometheus Dashboard 20211010 EN","uid":"PwMJtdvnz","version":1}


# dashboard_version

created: 2024-05-24 13:43:23
data:
  {"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations \u0026 Alerts","type":"dashboard"}]},"description":"","editable":true,"gnetId":893,"graphTooltip":1,"id":null,"iteration":1588003866954,"links":[],"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"Prometheus","editable":true,"error":false,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":0,"y":0},"id":31,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"count(rate(container_last_seen{name=~\".+\"}[$interval]))","format":"time_series","intervalFactor":2,"refId":"A","step":1800}],"thresholds":"","title":"Containers","type":"singlestat","valueFontSize":"120%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"datasource":null,"gridPos":{"h":7,"w":9,"x":4,"y":0},"id":35,"links":[],"options":{"fieldOptions":{"calcs":["last"],"defaults":{"mappings":[],"max":100,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"title":""},"overrides":[],"values":false},"orientation":"auto","showThresholdLabels":false,"showThresholdMarkers":false},"pluginVersion":"6.7.2","targets":[{"expr":"100 - (avg by (cpu) (irate(node_cpu_seconds_total{mode=\"idle\"}[1m])) *100)","hide":false,"interval":"","legendFormat":"","refId":"A"},{"expr":"(irate(node_cpu_seconds_total{mode=\"idle\"}[1m])) ","hide":true,"interval":"","legendFormat":"","refId":"B"}],"timeFrom":null,"timeShift":null,"title":"CPU Auslastung","type":"gauge"},{"cacheTimeout":null,"datasource":"Prometheus","gridPos":{"h":6,"w":4,"x":13,"y":0},"id":25,"links":[],"options":{"fieldOptions":{"calcs":["lastNotNull"],"defaults":{"decimals":0,"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"max":100,"min":0,"nullValueMode":"connected","thresholds":{"mode":"absolute","steps":[{"color":"rgba(50, 172, 45, 0.97)","value":null},{"color":"rgba(237, 129, 40, 0.89)","value":70},{"color":"rgba(245, 54, 54, 0.9)","value":90}]},"unit":"percent"},"overrides":[],"values":false},"orientation":"horizontal","showThresholdLabels":false,"showThresholdMarkers":true},"pluginVersion":"6.7.2","targets":[{"expr":"((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes) * 100  ","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"","refId":"A","step":1800}],"timeFrom":null,"timeShift":null,"title":"RAM Auslastung","type":"gauge"},{"datasource":null,"gridPos":{"h":6,"w":7,"x":17,"y":0},"id":39,"options":{"colorMode":"value","fieldOptions":{"calcs":["mean"],"defaults":{"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"decbytes"},"overrides":[],"values":false},"graphMode":"area","justifyMode":"auto","orientation":"auto"},"pluginVersion":"6.7.2","targets":[{"expr":"node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes","interval":"","legendFormat":"","refId":"A"}],"timeFrom":null,"timeShift":null,"title":"RAM Verbrauch","type":"stat"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"Prometheus","decimals":0,"editable":true,"error":false,"format":"decbytes","gauge":{"maxValue":500000000,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":0,"y":4},"id":30,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"(node_memory_SwapTotal_bytes{instance=~'mon_node-exporter:9100'} - node_memory_SwapFree_bytes{instance=~'mon_node-exporter:9100'})","format":"time_series","intervalFactor":2,"legendFormat":"","refId":"A","step":1800}],"thresholds":"400000000","title":"Swap","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"Prometheus","decimals":1,"editable":true,"error":false,"format":"percentunit","gauge":{"maxValue":1,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":4,"x":13,"y":6},"id":26,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"min((node_filesystem_size_bytes{fstype=~\"xfs|ext4\",instance=\"mon_node-exporter:9100\"} - node_filesystem_free_bytes{fstype=~\"xfs|ext4\",instance=\"mon_node-exporter:9100\"} )/ node_filesystem_size_bytes{fstype=~\"xfs|ext4\",instance=\"mon_node-exporter:9100\"})","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"","refId":"A","step":1800}],"thresholds":"0.75, 0.90","title":"Festplatten Auslastung","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"datasource":"Prometheus","gridPos":{"h":5,"w":7,"x":17,"y":6},"id":13,"links":[],"options":{"colorMode":"value","fieldOptions":{"calcs":["mean"],"defaults":{"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"decbytes"},"overrides":[],"values":false},"graphMode":"area","justifyMode":"auto","orientation":"auto"},"pluginVersion":"6.7.2","targets":[{"expr":"node_filesystem_size_bytes{fstype=\"ext4\"} - node_filesystem_free_bytes{fstype=\"ext4\"}","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"{{device}}","refId":"A","step":600}],"timeFrom":null,"timeShift":null,"title":"Festplatten Verbrauch","type":"stat"},{"aliasColors":{"IN on /sda":"#7EB26D","OUT on /sda":"#890F02"},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":9,"x":4,"y":7},"hiddenSeries":false,"id":3,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null as zero","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"-sum(rate(node_disk_read_bytes_total[$interval])) by (device)","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OUT on /{{device}}","metric":"node_disk_bytes_read","refId":"A","step":600},{"expr":"sum(rate(node_disk_written_bytes_total[$interval])) by (device)","format":"time_series","intervalFactor":2,"legendFormat":"IN on /{{device}}","metric":"","refId":"B","step":600}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Disk I/O","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":false,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"SENT":"#BF1B00"},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":8,"w":4,"x":0,"y":8},"hiddenSeries":false,"id":19,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null as zero","options":{"dataLinks":[]},"percentage":false,"pointradius":1,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_network_receive_bytes_total{id=\"/\"}[$interval])) by (id)","intervalFactor":2,"legendFormat":"RECEIVED","refId":"A","step":600},{"expr":"- sum(rate(container_network_transmit_bytes_total{id=\"/\"}[$interval])) by (id)","hide":false,"intervalFactor":2,"legendFormat":"SENT","refId":"B","step":600}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Netzwerk Verkehr","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":false,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":11,"x":13,"y":11},"hiddenSeries":false,"id":9,"legend":{"alignAsTable":true,"avg":false,"current":false,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"null as zero","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_network_transmit_bytes_total{name=~\".+\"}[$interval])) by (name)","intervalFactor":2,"legendFormat":"{{name}}","refId":"A","step":240},{"expr":"rate(container_network_transmit_bytes_total{id=\"/\"}[$interval])","hide":true,"intervalFactor":2,"legendFormat":"","refId":"B","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Sent Network Traffic per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":"","logBase":10,"max":8,"min":0,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"cacheTimeout":null,"dashLength":10,"dashes":false,"datasource":"Prometheus","editable":true,"error":false,"fill":5,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":13,"x":0,"y":16},"hiddenSeries":false,"id":1,"legend":{"alignAsTable":true,"avg":false,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null as zero","options":{"dataLinks":[]},"percentage":false,"pluginVersion":"6.7.2","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{name=~\".+\"}[$interval])) by (name) * 100","hide":false,"interval":"","intervalFactor":2,"legendFormat":"{{name}}","metric":"","refId":"F","step":240}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"CPU Usage per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percent","label":"","logBase":1,"max":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":11,"x":13,"y":18},"hiddenSeries":false,"id":8,"legend":{"alignAsTable":true,"avg":false,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"null as zero","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_network_receive_bytes_total{name=~\".+\"}[$interval])) by (name)","intervalFactor":2,"legendFormat":"{{name}}","refId":"A","step":240},{"expr":"- rate(container_network_transmit_bytes_total{name=~\".+\"}[$interval])","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","refId":"B","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Received Network Traffic per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","editable":true,"error":false,"fill":3,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":13,"x":0,"y":23},"hiddenSeries":false,"id":10,"legend":{"alignAsTable":true,"avg":false,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"null as zero","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"sum(container_memory_rss{name=~\".+\"}) by (name)","hide":false,"intervalFactor":2,"legendFormat":"{{name}}","refId":"A","step":240},{"expr":"container_memory_usage_bytes{name=~\".+\"}","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","refId":"B","step":240}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory Usage per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"columns":[{"text":"Current","value":"current"}],"datasource":null,"editable":true,"error":false,"fontSize":"100%","gridPos":{"h":8,"w":11,"x":13,"y":25},"id":37,"links":[],"pageSize":null,"scroll":true,"showHeader":true,"sort":{"col":1,"desc":true},"styles":[{"align":"auto","colorMode":null,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"decimals":2,"pattern":"/.*/","thresholds":["10000000"," 25000000"],"type":"number","unit":"decbytes"}],"targets":[{"expr":"sum(container_spec_memory_limit_bytes{name=~\".+\"} - container_memory_usage_bytes{name=~\".+\"}) by (name) ","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","metric":"","refId":"A","step":240},{"expr":"sum(container_spec_memory_limit_bytes{name=~\".+\"}) by (name) ","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","refId":"B","step":240},{"expr":"container_memory_usage_bytes{name=~\".+\"}","hide":false,"intervalFactor":2,"legendFormat":"{{name}}","refId":"C","step":240}],"title":"Usage memory","transform":"timeseries_aggregations","type":"table"}],"refresh":"5s","schemaVersion":22,"style":"dark","tags":[],"templating":{"list":[{"auto":true,"auto_count":50,"auto_min":"50s","current":{"selected":false,"text":"30s","value":"30s"},"hide":0,"label":"interval","name":"interval","options":[{"selected":false,"text":"auto","value":"$__auto_interval_interval"},{"selected":true,"text":"30s","value":"30s"},{"selected":false,"text":"1m","value":"1m"},{"selected":false,"text":"2m","value":"2m"},{"selected":false,"text":"3m","value":"3m"},{"selected":false,"text":"5m","value":"5m"},{"selected":false,"text":"7m","value":"7m"},{"selected":false,"text":"10m","value":"10m"},{"selected":false,"text":"30m","value":"30m"},{"selected":false,"text":"1h","value":"1h"},{"selected":false,"text":"6h","value":"6h"},{"selected":false,"text":"12h","value":"12h"},{"selected":false,"text":"1d","value":"1d"},{"selected":false,"text":"7d","value":"7d"},{"selected":false,"text":"14d","value":"14d"},{"selected":false,"text":"30d","value":"30d"}],"query":"30s,1m,2m,3m,5m,7m,10m,30m,1h,6h,12h,1d,7d,14d,30d","refresh":2,"skipUrlSync":false,"type":"interval"}]},"time":{"from":"now-1h","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Docker - System Dashboard","uid":"0E0FhC7Wz","variables":{"list":[]},"version":1}


created: 2024-05-24 13:44:15
data:
  {"annotations":{"list":[{"builtIn":1,"datasource":{"type":"datasource","uid":"grafana"},"enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations \u0026 Alerts","type":"dashboard"}]},"description":"","editable":true,"fiscalYearStartMonth":0,"gnetId":893,"graphTooltip":1,"id":1,"links":[],"panels":[{"datasource":{"uid":"Prometheus"},"fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"mappings":[{"options":{"match":"null","result":{"text":"N/A"}},"type":"special"}],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"none"},"overrides":[]},"gridPos":{"h":4,"w":4,"x":0,"y":0},"id":31,"maxDataPoints":100,"options":{"colorMode":"none","graphMode":"none","justifyMode":"auto","orientation":"horizontal","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showPercentChange":false,"textMode":"auto","wideLayout":true},"pluginVersion":"10.4.3","targets":[{"datasource":{"uid":"Prometheus"},"expr":"count(rate(container_last_seen{name=~\".+\"}[$interval]))","format":"time_series","intervalFactor":2,"refId":"A","step":1800}],"title":"Containers","type":"stat"},{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"fieldConfig":{"defaults":{"displayName":"","mappings":[],"max":100,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[]},"gridPos":{"h":7,"w":9,"x":4,"y":0},"id":35,"options":{"minVizHeight":75,"minVizWidth":75,"orientation":"auto","reduceOptions":{"calcs":["last"],"fields":"","values":false},"showThresholdLabels":false,"showThresholdMarkers":false,"sizing":"auto"},"pluginVersion":"10.4.3","targets":[{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"expr":"100 - (avg by (cpu) (irate(node_cpu_seconds_total{mode=\"idle\"}[1m])) *100)","hide":false,"interval":"","legendFormat":"","refId":"A"},{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"expr":"(irate(node_cpu_seconds_total{mode=\"idle\"}[1m])) ","hide":true,"interval":"","legendFormat":"","refId":"B"}],"title":"CPU Auslastung","type":"gauge"},{"datasource":{"uid":"Prometheus"},"fieldConfig":{"defaults":{"decimals":0,"mappings":[{"id":0,"op":"=","text":"N/A","type":1,"value":"null"}],"max":100,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"rgba(50, 172, 45, 0.97)","value":null},{"color":"rgba(237, 129, 40, 0.89)","value":70},{"color":"rgba(245, 54, 54, 0.9)","value":90}]},"unit":"percent"},"overrides":[]},"gridPos":{"h":6,"w":4,"x":13,"y":0},"id":25,"options":{"minVizHeight":75,"minVizWidth":75,"orientation":"horizontal","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showThresholdLabels":false,"showThresholdMarkers":true,"sizing":"auto"},"pluginVersion":"10.4.3","targets":[{"datasource":{"uid":"Prometheus"},"expr":"((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes) * 100  ","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"","refId":"A","step":1800}],"title":"RAM Auslastung","type":"gauge"},{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"fieldConfig":{"defaults":{"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"decbytes"},"overrides":[]},"gridPos":{"h":6,"w":7,"x":17,"y":0},"id":39,"options":{"colorMode":"value","graphMode":"area","justifyMode":"auto","orientation":"auto","reduceOptions":{"calcs":["mean"],"fields":"","values":false},"showPercentChange":false,"textMode":"auto","wideLayout":true},"pluginVersion":"10.4.3","targets":[{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"expr":"node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes","interval":"","legendFormat":"","refId":"A"}],"title":"RAM Verbrauch","type":"stat"},{"datasource":{"uid":"Prometheus"},"fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"decimals":0,"mappings":[{"options":{"match":"null","result":{"text":"N/A"}},"type":"special"}],"max":500000000,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"rgba(50, 172, 45, 0.97)","value":null},{"color":"rgba(237, 129, 40, 0.89)","value":400000000},{"color":"rgba(245, 54, 54, 0.9)"}]},"unit":"decbytes"},"overrides":[]},"gridPos":{"h":4,"w":4,"x":0,"y":4},"id":30,"maxDataPoints":100,"options":{"minVizHeight":75,"minVizWidth":75,"orientation":"horizontal","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showThresholdLabels":false,"showThresholdMarkers":true,"sizing":"auto"},"pluginVersion":"10.4.3","targets":[{"datasource":{"uid":"Prometheus"},"expr":"(node_memory_SwapTotal_bytes{instance=~'mon_node-exporter:9100'} - node_memory_SwapFree_bytes{instance=~'mon_node-exporter:9100'})","format":"time_series","intervalFactor":2,"legendFormat":"","refId":"A","step":1800}],"title":"Swap","type":"gauge"},{"datasource":{"uid":"Prometheus"},"fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"decimals":1,"mappings":[{"options":{"match":"null","result":{"text":"N/A"}},"type":"special"}],"max":1,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"rgba(50, 172, 45, 0.97)","value":null},{"color":"rgba(237, 129, 40, 0.89)","value":0.75},{"color":"rgba(245, 54, 54, 0.9)","value":0.9}]},"unit":"percentunit"},"overrides":[]},"gridPos":{"h":5,"w":4,"x":13,"y":6},"id":26,"maxDataPoints":100,"options":{"minVizHeight":75,"minVizWidth":75,"orientation":"horizontal","reduceOptions":{"calcs":["lastNotNull"],"fields":"","values":false},"showThresholdLabels":false,"showThresholdMarkers":true,"sizing":"auto"},"pluginVersion":"10.4.3","targets":[{"datasource":{"uid":"Prometheus"},"expr":"min((node_filesystem_size_bytes{fstype=~\"xfs|ext4\",instance=\"mon_node-exporter:9100\"} - node_filesystem_free_bytes{fstype=~\"xfs|ext4\",instance=\"mon_node-exporter:9100\"} )/ node_filesystem_size_bytes{fstype=~\"xfs|ext4\",instance=\"mon_node-exporter:9100\"})","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"","refId":"A","step":1800}],"title":"Festplatten Auslastung","type":"gauge"},{"datasource":{"uid":"Prometheus"},"fieldConfig":{"defaults":{"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"decbytes"},"overrides":[]},"gridPos":{"h":5,"w":7,"x":17,"y":6},"id":13,"options":{"colorMode":"value","graphMode":"area","justifyMode":"auto","orientation":"auto","reduceOptions":{"calcs":["mean"],"fields":"","values":false},"showPercentChange":false,"textMode":"auto","wideLayout":true},"pluginVersion":"10.4.3","targets":[{"datasource":{"uid":"Prometheus"},"expr":"node_filesystem_size_bytes{fstype=\"ext4\"} - node_filesystem_free_bytes{fstype=\"ext4\"}","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"{{device}}","refId":"A","step":600}],"title":"Festplatten Verbrauch","type":"stat"},{"aliasColors":{"IN on /sda":"#7EB26D","OUT on /sda":"#890F02"},"bars":false,"dashLength":10,"dashes":false,"datasource":{"uid":"Prometheus"},"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":9,"w":9,"x":4,"y":7},"hiddenSeries":false,"id":3,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null as zero","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"10.4.3","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"datasource":{"uid":"Prometheus"},"expr":"-sum(rate(node_disk_read_bytes_total[$interval])) by (device)","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OUT on /{{device}}","metric":"node_disk_bytes_read","refId":"A","step":600},{"datasource":{"uid":"Prometheus"},"expr":"sum(rate(node_disk_written_bytes_total[$interval])) by (device)","format":"time_series","intervalFactor":2,"legendFormat":"IN on /{{device}}","metric":"","refId":"B","step":600}],"thresholds":[],"timeRegions":[],"title":"Disk I/O","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"mode":"time","show":false,"values":[]},"yaxes":[{"format":"Bps","logBase":1,"show":true},{"format":"short","logBase":1,"show":false}],"yaxis":{"align":false}},{"aliasColors":{"SENT":"#BF1B00"},"bars":false,"dashLength":10,"dashes":false,"datasource":{"uid":"Prometheus"},"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":8,"w":4,"x":0,"y":8},"hiddenSeries":false,"id":19,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null as zero","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"10.4.3","pointradius":1,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"datasource":{"uid":"Prometheus"},"expr":"sum(rate(container_network_receive_bytes_total{id=\"/\"}[$interval])) by (id)","intervalFactor":2,"legendFormat":"RECEIVED","refId":"A","step":600},{"datasource":{"uid":"Prometheus"},"expr":"- sum(rate(container_network_transmit_bytes_total{id=\"/\"}[$interval])) by (id)","hide":false,"intervalFactor":2,"legendFormat":"SENT","refId":"B","step":600}],"thresholds":[],"timeRegions":[],"title":"Netzwerk Verkehr","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"mode":"time","show":false,"values":[]},"yaxes":[{"format":"bytes","logBase":1,"show":true},{"format":"short","logBase":1,"show":false}],"yaxis":{"align":false}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":{"uid":"Prometheus"},"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":11,"x":13,"y":11},"hiddenSeries":false,"id":9,"legend":{"alignAsTable":true,"avg":false,"current":false,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":2,"nullPointMode":"null as zero","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"10.4.3","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"datasource":{"uid":"Prometheus"},"expr":"sum(rate(container_network_transmit_bytes_total{name=~\".+\"}[$interval])) by (name)","intervalFactor":2,"legendFormat":"{{name}}","refId":"A","step":240},{"datasource":{"uid":"Prometheus"},"expr":"rate(container_network_transmit_bytes_total{id=\"/\"}[$interval])","hide":true,"intervalFactor":2,"legendFormat":"","refId":"B","step":10}],"thresholds":[],"timeRegions":[],"title":"Sent Network Traffic per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"mode":"time","show":true,"values":[]},"yaxes":[{"format":"Bps","label":"","logBase":1,"show":true},{"format":"short","label":"","logBase":10,"max":8,"min":0,"show":false}],"yaxis":{"align":false}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":{"uid":"Prometheus"},"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":5,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":13,"x":0,"y":16},"hiddenSeries":false,"id":1,"legend":{"alignAsTable":true,"avg":false,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null as zero","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"10.4.3","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"datasource":{"uid":"Prometheus"},"expr":"sum(rate(container_cpu_usage_seconds_total{name=~\".+\"}[$interval])) by (name) * 100","hide":false,"interval":"","intervalFactor":2,"legendFormat":"{{name}}","metric":"","refId":"F","step":240}],"thresholds":[],"timeRegions":[],"title":"CPU Usage per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"mode":"time","show":true,"values":[]},"yaxes":[{"format":"percent","label":"","logBase":1,"show":true},{"format":"short","logBase":1,"show":false}],"yaxis":{"align":false}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":{"uid":"Prometheus"},"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":11,"x":13,"y":18},"hiddenSeries":false,"id":8,"legend":{"alignAsTable":true,"avg":false,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":2,"nullPointMode":"null as zero","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"10.4.3","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"datasource":{"uid":"Prometheus"},"expr":"sum(rate(container_network_receive_bytes_total{name=~\".+\"}[$interval])) by (name)","intervalFactor":2,"legendFormat":"{{name}}","refId":"A","step":240},{"datasource":{"uid":"Prometheus"},"expr":"- rate(container_network_transmit_bytes_total{name=~\".+\"}[$interval])","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","refId":"B","step":10}],"thresholds":[],"timeRegions":[],"title":"Received Network Traffic per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"mode":"time","show":true,"values":[]},"yaxes":[{"format":"Bps","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":{"uid":"Prometheus"},"editable":true,"error":false,"fieldConfig":{"defaults":{"links":[]},"overrides":[]},"fill":3,"fillGradient":0,"grid":{},"gridPos":{"h":7,"w":13,"x":0,"y":23},"hiddenSeries":false,"id":10,"legend":{"alignAsTable":true,"avg":false,"current":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":false},"lines":true,"linewidth":2,"nullPointMode":"null as zero","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"10.4.3","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"datasource":{"uid":"Prometheus"},"expr":"sum(container_memory_rss{name=~\".+\"}) by (name)","hide":false,"intervalFactor":2,"legendFormat":"{{name}}","refId":"A","step":240},{"datasource":{"uid":"Prometheus"},"expr":"container_memory_usage_bytes{name=~\".+\"}","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","refId":"B","step":240}],"thresholds":[],"timeRegions":[],"title":"Memory Usage per Container","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"mode":"time","show":true,"values":[]},"yaxes":[{"format":"bytes","label":"","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false}},{"columns":[{"text":"Current","value":"current"}],"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"editable":true,"error":false,"fontSize":"100%","gridPos":{"h":8,"w":11,"x":13,"y":25},"id":37,"scroll":true,"showHeader":true,"sort":{"col":1,"desc":true},"styles":[{"align":"auto","colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"decimals":2,"pattern":"/.*/","thresholds":["10000000"," 25000000"],"type":"number","unit":"decbytes"}],"targets":[{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"expr":"sum(container_spec_memory_limit_bytes{name=~\".+\"} - container_memory_usage_bytes{name=~\".+\"}) by (name) ","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","metric":"","refId":"A","step":240},{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"expr":"sum(container_spec_memory_limit_bytes{name=~\".+\"}) by (name) ","hide":true,"intervalFactor":2,"legendFormat":"{{name}}","refId":"B","step":240},{"datasource":{"type":"prometheus","uid":"admog8zd25xq8d"},"expr":"container_memory_usage_bytes{name=~\".+\"}","hide":false,"intervalFactor":2,"legendFormat":"{{name}}","refId":"C","step":240}],"title":"Usage memory","transform":"timeseries_aggregations","type":"table-old"}],"refresh":"5s","schemaVersion":39,"tags":[],"templating":{"list":[{"auto":true,"auto_count":50,"auto_min":"50s","current":{"selected":false,"text":"30s","value":"30s"},"hide":0,"label":"interval","name":"interval","options":[{"selected":false,"text":"auto","value":"$__auto_interval_interval"},{"selected":true,"text":"30s","value":"30s"},{"selected":false,"text":"1m","value":"1m"},{"selected":false,"text":"2m","value":"2m"},{"selected":false,"text":"3m","value":"3m"},{"selected":false,"text":"5m","value":"5m"},{"selected":false,"text":"7m","value":"7m"},{"selected":false,"text":"10m","value":"10m"},{"selected":false,"text":"30m","value":"30m"},{"selected":false,"text":"1h","value":"1h"},{"selected":false,"text":"6h","value":"6h"},{"selected":false,"text":"12h","value":"12h"},{"selected":false,"text":"1d","value":"1d"},{"selected":false,"text":"7d","value":"7d"},{"selected":false,"text":"14d","value":"14d"},{"selected":false,"text":"30d","value":"30d"}],"query":"30s,1m,2m,3m,5m,7m,10m,30m,1h,6h,12h,1d,7d,14d,30d","refresh":2,"skipUrlSync":false,"type":"interval"}]},"time":{"from":"now-1h","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Docker - System Dashboard","uid":"0E0FhC7Wz","version":2,"weekStart":""}


# alert_configuration

configuration_version: v1
configuration_hash: e0528a75784033ae7b15c40851d89484
alertmanager_configuration:
  {
  	"alertmanager_config": {
  		"route": {
  			"receiver": "grafana-default-email",
  			"group_by": ["grafana_folder", "alertname"]
  		},
  		"receivers": [{
  			"name": "grafana-default-email",
  			"grafana_managed_receiver_configs": [{
  				"uid": "",
  				"name": "email receiver",
  				"type": "email",
  				"isDefault": true,
  				"settings": {
  					"addresses": "<example@email.com>"
  				}
  			}]
  		}]
  	}
  }


# kv_store

namespace: plugin.publickeys
key: key-7e4d0c6a708866e7
created: 2024-05-24 13:36:49
updated: 2024-05-24 13:36:49
value:
  -----BEGIN PGP PUBLIC KEY BLOCK-----
  Version: OpenPGP.js v4.10.1
  Comment: https://openpgpjs.org

  xpMEXpTXXxMFK4EEACMEIwQBiOUQhvGbDLvndE0fEXaR0908wXzPGFpf0P0Z
  HJ06tsq+0higIYHp7WTNJVEZtcwoYLcPRGaa9OQqbUU63BEyZdgAkPTz3RFd
  5+TkDWZizDcaVFhzbDd500yTwexrpIrdInwC/jrgs7Zy/15h8KA59XXUkdmT
  YB6TR+OA9RKME+dCJozNGUdyYWZhbmEgPGVuZ0BncmFmYW5hLmNvbT7CvAQQ
  EwoAIAUCXpTXXwYLCQcIAwIEFQgKAgQWAgEAAhkBAhsDAh4BAAoJEH5NDGpw
  iGbnaWoCCQGQ3SQnCkRWrG6XrMkXOKfDTX2ow9fuoErN46BeKmLM4f1EkDZQ
  Tpq3SE8+My8B5BIH3SOcBeKzi3S57JHGBdFA+wIJAYWMrJNIvw8GeXne+oUo
  NzzACdvfqXAZEp/HFMQhCKfEoWGJE8d2YmwY2+3GufVRTI5lQnZOHLE8L/Vc
  1S5MXESjzpcEXpTXXxIFK4EEACMEIwQBtHX/SD5Qm3v4V92qpaIZQgtTX0sT
  cFPjYWAHqsQ1iENrYN/vg1wU3ADlYATvydOQYvkTyT/tbDvx2Fse8PL84MQA
  YKKQ6AJ3gLVvmeouZdU03YoV4MYaT8KbnJUkZQZkqdz2riOlySNI9CG3oYmv
  omjUAtzgAgnCcurfGLZkkMxlmY8DAQoJwqQEGBMKAAkFAl6U118CGwwACgkQ
  fk0ManCIZuc0jAIJAVw2xdLr4ZQqPUhubrUyFcqlWoW8dQoQagwO8s8ubmby
  KuLA9FWJkfuuRQr+O9gHkDVCez3aism7zmJBqIOi38aNAgjJ3bo6leSS2jR/
  x5NqiKVi83tiXDPncDQYPymOnMhW0l7CVA7wj75HrFvvlRI/4MArlbsZ2tBn
  N1c5v9v/4h6qeA==
  =DNbR
  -----END PGP PUBLIC KEY BLOCK-----


