Merge branch 'ent-10906-Carga-de-datos-de-demo' into 'develop'
implement demo data feature See merge request artica/pandorafms!6606
This commit is contained in:
commit
d4e6c09acb
|
@ -0,0 +1,30 @@
|
|||
[agent_data]
|
||||
|
||||
agents_number="1"
|
||||
|
||||
agent_name="demo-global-agent"
|
||||
agent_alias="demo-global-agent"
|
||||
|
||||
group="Demo servers"
|
||||
|
||||
address_network="192.168.0.0/24"
|
||||
|
||||
os_name="Linux"
|
||||
|
||||
os_versions[]="Rocky Linux 9.2 (Blue Onyx)"
|
||||
os_versions[]="CentOS Linux 7 (Core)"
|
||||
os_versions[]="CentOS Linux 6 (Core)"
|
||||
os_versions[]="RHEL 8.2"
|
||||
os_versions[]="RHEL 8.1"
|
||||
os_versions[]="Alma Linux 9.1"
|
||||
|
||||
latitude="RANDOM;37;42"
|
||||
longitude="RANDOM;-8;-1"
|
||||
altitude="0"
|
||||
|
||||
[modules]
|
||||
|
||||
name[1]="Host Alive"
|
||||
type[1]="generic_proc"
|
||||
values[1]="PROC;5"
|
||||
group[1]="Network"
|
|
@ -0,0 +1,211 @@
|
|||
[agent_data]
|
||||
|
||||
agents_number="4"
|
||||
|
||||
agent_name="linux"
|
||||
agent_alias="linux"
|
||||
|
||||
group="Demo servers"
|
||||
|
||||
address_network="192.168.1.0/24"
|
||||
|
||||
os_name="Linux"
|
||||
|
||||
os_versions[]="Rocky Linux 9.2 (Blue Onyx)"
|
||||
os_versions[]="CentOS Linux 7 (Core)"
|
||||
os_versions[]="CentOS Linux 6 (Core)"
|
||||
os_versions[]="RHEL 8.2"
|
||||
os_versions[]="RHEL 8.1"
|
||||
os_versions[]="Alma Linux 9.1"
|
||||
|
||||
latitude="RANDOM;37;42"
|
||||
longitude="RANDOM;-8;-1"
|
||||
altitude="0"
|
||||
|
||||
[modules]
|
||||
|
||||
name[1]="Network Usage"
|
||||
type[1]="generic_data_inc"
|
||||
description[1]="Network usage in the system"
|
||||
values[1]="RANDOM;0;10000"
|
||||
unit[1]="bytes/sec"
|
||||
group[1]="Network"
|
||||
|
||||
name[2]="Network latency"
|
||||
type[2]="generic_data"
|
||||
description[2]="Network latency to router"
|
||||
values[2]="RANDOM;0;20"
|
||||
unit[2]="msec"
|
||||
group[2]="Network"
|
||||
|
||||
name[3]="CPU Load"
|
||||
type[3]="generic_data"
|
||||
description[3]="CPU Usage"
|
||||
values[3]="RANDOM;20;90"
|
||||
unit[3]="%"
|
||||
group[3]="System"
|
||||
|
||||
name[4]="Disk Usage"
|
||||
type[4]="generic_data"
|
||||
description[4]="% used space"
|
||||
values[4]="RANDOM;50;60"
|
||||
unit[4]="%"
|
||||
group[4]="System"
|
||||
|
||||
name[5]="Memory Usage"
|
||||
type[5]="generic_data"
|
||||
description[5]="% Used memory"
|
||||
values[5]="RANDOM;0;20"
|
||||
unit[5]="%"
|
||||
group[5]="System"
|
||||
|
||||
name[6]="Antivirus Updated"
|
||||
type[6]="generic_proc"
|
||||
description[6]="Detect if A/V is enabled and updated"
|
||||
values[6]="PROC;5"
|
||||
group[6]="Security"
|
||||
|
||||
name[7]="Insecure passwords status"
|
||||
type[7]="generic_proc"
|
||||
description[7]="No insecure passwords found"
|
||||
values[7]="PROC;0"
|
||||
group[7]="Security"
|
||||
|
||||
name[8]="Files check status"
|
||||
type[8]="generic_proc"
|
||||
description[8]="No changed files found"
|
||||
values[8]="PROC;0"
|
||||
group[8]="Security"
|
||||
|
||||
name[9]="Authorized ports status"
|
||||
type[9]="generic_proc"
|
||||
description[9]="No unauthorized ports found"
|
||||
values[9]="PROC;0"
|
||||
group[9]="Security"
|
||||
|
||||
name[10]="Service httpd"
|
||||
type[10]="generic_proc"
|
||||
values[10]="PROC;5"
|
||||
group[10]="Applications"
|
||||
|
||||
name[11]="Service mysqld"
|
||||
type[11]="generic_proc"
|
||||
values[11]="PROC;5"
|
||||
group[11]="Applications"
|
||||
|
||||
name[12]="Service sshd"
|
||||
type[12]="generic_proc"
|
||||
values[12]="PROC;5"
|
||||
group[12]="Applications"
|
||||
|
||||
[inventory]
|
||||
|
||||
name[1]="Software"
|
||||
format[1]="Name;Version;Description"
|
||||
values[1]="name;version;description"
|
||||
|
||||
name[2]="Users"
|
||||
format[2]="Username"
|
||||
values[2]="username"
|
||||
|
||||
name[3]="File System"
|
||||
format[3]="Device;Free size;Total size;Mount point"
|
||||
values[3]="device;free_size;total_size;mount_point"
|
||||
|
||||
[inventory_values]
|
||||
|
||||
name[1]="aajohan-comfortaa-fonts"
|
||||
name[2]="aardvark-dns"
|
||||
name[3]="abattis-cantarell-fonts"
|
||||
name[4]="abrt"
|
||||
|
||||
version[1]="3.101"
|
||||
version[2]="1.0.3"
|
||||
version[3]="0.301"
|
||||
version[4]="2.14.6"
|
||||
|
||||
description[1]="Modern style true type font"
|
||||
description[2]="Authoritative DNS server for A/AAAA container records"
|
||||
description[3]="Humanist sans serif font"
|
||||
description[4]="Automatic bug detection and reporting tool"
|
||||
|
||||
username[1]="root"
|
||||
username[2]="pandora"
|
||||
|
||||
device[1]="/dev/sda1"
|
||||
device[2]="/dev/sda2"
|
||||
device[3]="/dev/sdb1"
|
||||
|
||||
free_size[1]="96G"
|
||||
free_size[2]="136G"
|
||||
free_size[3]="97M"
|
||||
|
||||
total_size[1]="180G"
|
||||
total_size[2]="1.6T"
|
||||
total_size[3]="819M"
|
||||
|
||||
mount_point[1]="/home"
|
||||
mount_point[2]="/"
|
||||
mount_point[3]="/tmp"
|
||||
|
||||
[log_modules]
|
||||
|
||||
source[1]="httpd"
|
||||
data[1]='127.0.0.1 - "GET /index.html HTTP/1.1" 200 3456 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[2]="httpd"
|
||||
data[2]='192.168.1.1 - "POST /submit.php HTTP/1.1" 302 0 "https://example.com/form" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[3]="httpd"
|
||||
data[3]='10.0.0.2 - "GET /images/logo.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1"'
|
||||
|
||||
source[4]="httpd"
|
||||
data[4]='172.16.0.1 - "GET /page/about-us HTTP/1.1" 404 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[5]="httpd"
|
||||
data[5]='192.168.0.10 - "GET /css/style.css HTTP/1.1" 200 768 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[6]="httpd"
|
||||
data[6]='203.0.113.45 - "GET /blog/post-123 HTTP/1.1" 200 5432 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[7]="httpd"
|
||||
data[7]='54.78.90.12 - "GET /category/api-reference HTTP/1.1" 200 6543 "-" "Mozilla/5.0 (Linux; Android 10; SM-G960U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.181 Mobile Safari/537.36"'
|
||||
|
||||
source[8]="httpd"
|
||||
data[8]='88.77.66.55 - "GET /contact-us HTTP/1.1" 301 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[9]="httpd"
|
||||
data[9]='198.51.100.23 - "GET /images/photo.jpg HTTP/1.1" 200 4567 "https://example.com/gallery" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[10]="httpd"
|
||||
data[10]='128.0.0.1 - "GET /downloads/file.zip HTTP/1.1" 200 12345 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"'
|
||||
|
||||
source[11]="mysqld"
|
||||
data[11]="[Warning] Aborted connection 123 to db: 'your_database' user: 'your_user' host: '192.168.1.100' (Got an error reading communication packets)"
|
||||
|
||||
source[12]="mysqld"
|
||||
data[12]="[ERROR] Table 'your_database.your_table' doesn't exist"
|
||||
|
||||
source[13]="mysqld"
|
||||
data[13]="[Note] Starting crash recovery..."
|
||||
|
||||
source[14]="mysqld"
|
||||
data[14]="[Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a LIMIT clause. Use a different log bin event type."
|
||||
|
||||
source[15]="mysqld"
|
||||
data[15]="[ERROR] Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space"
|
||||
|
||||
source[16]="mysqld"
|
||||
data[16]="[Note] Aborted connection 456 to db: 'another_database' user: 'another_user' host: 'localhost' (Got timeout reading communication packets)"
|
||||
|
||||
source[17]="mysqld"
|
||||
data[17]="[ERROR] Can't create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug"
|
||||
|
||||
source[18]="mysqld"
|
||||
data[18]="[Warning] 'user' entry 'your_user@localhost' ignored in --skip-name-resolve mode."
|
||||
|
||||
source[19]="mysqld"
|
||||
data[19]="[Note] InnoDB: Starting rollback of uncommitted transactions"
|
||||
|
||||
source[20]="mysqld"
|
||||
data[20]="[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed."
|
|
@ -0,0 +1,118 @@
|
|||
[agent_data]
|
||||
|
||||
agents_number="2"
|
||||
|
||||
agent_name="windows"
|
||||
agent_alias="windows"
|
||||
|
||||
group="Demo servers"
|
||||
|
||||
address_network="192.168.2.0/24"
|
||||
|
||||
os_name="Windows"
|
||||
|
||||
os_versions[]="Microsoft Windows 11 Pro"
|
||||
os_versions[]="Microsoft Windows 11"
|
||||
os_versions[]="Home Microsoft Windows 10 Pro"
|
||||
os_versions[]="Microsoft Windows 10 Home"
|
||||
os_versions[]="Microsoft Windows 2018"
|
||||
|
||||
latitude="RANDOM;37;42"
|
||||
longitude="RANDOM;-8;-1"
|
||||
altitude="0"
|
||||
|
||||
[modules]
|
||||
|
||||
name[1]="Network Usage"
|
||||
type[1]="generic_data_inc"
|
||||
description[1]="Network usage in the system"
|
||||
values[1]="RANDOM;0;10000"
|
||||
unit[1]="bytes/sec"
|
||||
group[1]="Network"
|
||||
|
||||
name[2]="Network latency"
|
||||
type[2]="generic_data"
|
||||
description[2]="Network latency to router"
|
||||
values[2]="RANDOM;0;20"
|
||||
unit[2]="msec"
|
||||
group[2]="Network"
|
||||
|
||||
name[3]="CPU Load"
|
||||
type[3]="generic_data"
|
||||
description[3]="CPU Usage"
|
||||
values[3]="RANDOM;20;90"
|
||||
unit[3]="%"
|
||||
group[3]="System"
|
||||
|
||||
name[4]="Disk Usage"
|
||||
type[4]="generic_data"
|
||||
description[4]="% used space"
|
||||
values[4]="RANDOM;50;60"
|
||||
unit[4]="%"
|
||||
group[4]="System"
|
||||
|
||||
name[5]="Memory Usage"
|
||||
type[5]="generic_data"
|
||||
description[5]="% Used memory"
|
||||
values[5]="RANDOM;0;20"
|
||||
unit[5]="%"
|
||||
group[5]="System"
|
||||
|
||||
name[6]="Service WMI"
|
||||
type[6]="generic_proc"
|
||||
values[6]="PROC;5"
|
||||
group[6]="Applications"
|
||||
|
||||
[inventory]
|
||||
|
||||
name[1]="Software"
|
||||
format[1]="Name;Version"
|
||||
values[1]="name;version"
|
||||
|
||||
name[2]="Users"
|
||||
format[2]="Domain;User"
|
||||
values[2]="domain;user"
|
||||
|
||||
name[3]="File System"
|
||||
format[3]="Device;Total size;Free size;Mount point"
|
||||
values[3]="device;total_size;free_size;mount_point"
|
||||
|
||||
name[4]="Windows Serial Number"
|
||||
format[4]="Serial number"
|
||||
values[4]="serial_number"
|
||||
|
||||
[inventory_values]
|
||||
|
||||
name[1]="Microsoft Update Health Tools"
|
||||
name[2]="Java(TM) SE Development Kit 17.0.6 (64-bit)"
|
||||
name[3]="DisplayLink Graphics"
|
||||
name[4]="Microsoft Visual C++ 2019 X64 Additional Runtime - 14.28.29325"
|
||||
|
||||
version[1]="5.71.0.0"
|
||||
version[2]="17.0.6.0"
|
||||
version[3]="10.2.7042.0"
|
||||
version[4]="14.28.29325"
|
||||
|
||||
domain[1]="DEMO"
|
||||
domain[2]="DEMO"
|
||||
|
||||
user[1]="Administrator"
|
||||
user[2]="pandora"
|
||||
|
||||
device[1]="C:"
|
||||
device[2]="D:"
|
||||
device[3]="T:"
|
||||
|
||||
total_size[1]="1.6T"
|
||||
total_size[2]="180G"
|
||||
total_size[3]="819M"
|
||||
|
||||
free_size[1]="136G"
|
||||
free_size[2]="96G"
|
||||
free_size[3]="97M"
|
||||
|
||||
mount_point[1]="OS"
|
||||
mount_point[2]="Data"
|
||||
mount_point[3]="Temp"
|
||||
|
||||
serial_number[1]="Demo-56 4d 7d 43 24 e4 c6 ac-67 57 52 60 e9 10 26 78"
|
|
@ -0,0 +1,74 @@
|
|||
[agent_data]
|
||||
|
||||
agents_number="1"
|
||||
|
||||
agent_name="macos"
|
||||
agent_alias="macos"
|
||||
|
||||
group="Demo servers"
|
||||
|
||||
address_network="192.168.3.0/24"
|
||||
|
||||
os_name="MacOS"
|
||||
|
||||
os_versions[]="12.1"
|
||||
os_versions[]="13.1"
|
||||
os_versions[]="11.2"
|
||||
os_versions[]="11.3"
|
||||
os_versions[]="10.3"
|
||||
|
||||
latitude="RANDOM;37;42"
|
||||
longitude="RANDOM;-8;-1"
|
||||
altitude="0"
|
||||
|
||||
[modules]
|
||||
|
||||
name[1]="Network Usage"
|
||||
type[1]="generic_data_inc"
|
||||
description[1]="Network usage in the system"
|
||||
values[1]="RANDOM;0;10000"
|
||||
unit[1]="bytes/sec"
|
||||
group[1]="Network"
|
||||
|
||||
name[2]="Network latency"
|
||||
type[2]="generic_data"
|
||||
description[2]="Network latency to router"
|
||||
values[2]="RANDOM;0;20"
|
||||
unit[2]="msec"
|
||||
group[2]="Network"
|
||||
|
||||
name[3]="CPU Load"
|
||||
type[3]="generic_data"
|
||||
description[3]="CPU Usage"
|
||||
values[3]="RANDOM;20;90"
|
||||
unit[3]="%"
|
||||
group[3]="System"
|
||||
|
||||
name[4]="Disk Usage"
|
||||
type[4]="generic_data"
|
||||
description[4]="% used space"
|
||||
values[4]="RANDOM;50;60"
|
||||
unit[4]="%"
|
||||
group[4]="System"
|
||||
|
||||
name[5]="Memory Usage"
|
||||
type[5]="generic_data"
|
||||
description[5]="% Used memory"
|
||||
values[5]="RANDOM;0;20"
|
||||
unit[5]="%"
|
||||
group[5]="System"
|
||||
|
||||
name[6]="Service httpd"
|
||||
type[6]="generic_proc"
|
||||
values[6]="PROC;5"
|
||||
group[6]="Applications"
|
||||
|
||||
name[7]="Service mysqld"
|
||||
type[7]="generic_proc"
|
||||
values[7]="PROC;5"
|
||||
group[7]="Applications"
|
||||
|
||||
name[8]="Service sshd"
|
||||
type[8]="generic_proc"
|
||||
values[8]="PROC;5"
|
||||
group[8]="Applications"
|
|
@ -0,0 +1,73 @@
|
|||
[agent_data]
|
||||
|
||||
agents_number="1"
|
||||
|
||||
agent_name="freebsd"
|
||||
agent_alias="freebsd"
|
||||
|
||||
group="Demo servers"
|
||||
|
||||
address_network="192.168.4.0/24"
|
||||
|
||||
os_name="BSD"
|
||||
|
||||
os_versions[]="14.0"
|
||||
os_versions[]="13.1"
|
||||
os_versions[]="13.2"
|
||||
os_versions[]="13.3"
|
||||
|
||||
latitude="RANDOM;37;42"
|
||||
longitude="RANDOM;-8;-1"
|
||||
altitude="0"
|
||||
|
||||
[modules]
|
||||
|
||||
name[1]="Network Usage"
|
||||
type[1]="generic_data_inc"
|
||||
description[1]="Network usage in the system"
|
||||
values[1]="RANDOM;0;10000"
|
||||
unit[1]="bytes/sec"
|
||||
group[1]="Network"
|
||||
|
||||
name[2]="Network latency"
|
||||
type[2]="generic_data"
|
||||
description[2]="Network latency to router"
|
||||
values[2]="RANDOM;0;20"
|
||||
unit[2]="msec"
|
||||
group[2]="Network"
|
||||
|
||||
name[3]="CPU Load"
|
||||
type[3]="generic_data"
|
||||
description[3]="CPU Usage"
|
||||
values[3]="RANDOM;20;90"
|
||||
unit[3]="%"
|
||||
group[3]="System"
|
||||
|
||||
name[4]="Disk Usage"
|
||||
type[4]="generic_data"
|
||||
description[4]="% used space"
|
||||
values[4]="RANDOM;50;60"
|
||||
unit[4]="%"
|
||||
group[4]="System"
|
||||
|
||||
name[5]="Memory Usage"
|
||||
type[5]="generic_data"
|
||||
description[5]="% Used memory"
|
||||
values[5]="RANDOM;0;20"
|
||||
unit[5]="%"
|
||||
group[5]="System"
|
||||
|
||||
name[6]="Service httpd"
|
||||
type[6]="generic_proc"
|
||||
values[6]="PROC;5"
|
||||
group[6]="Applications"
|
||||
|
||||
name[7]="Service mysqld"
|
||||
type[7]="generic_proc"
|
||||
values[7]="PROC;5"
|
||||
group[7]="Applications"
|
||||
|
||||
name[8]="Service sshd"
|
||||
type[8]="generic_proc"
|
||||
values[8]="PROC;5"
|
||||
group[8]="Applications"
|
|
@ -0,0 +1,297 @@
|
|||
[agent_data]
|
||||
|
||||
agents_number="1"
|
||||
|
||||
agent_name="cisco"
|
||||
agent_alias="cisco"
|
||||
|
||||
group="Demo network"
|
||||
|
||||
address_network="192.168.5.0/24"
|
||||
mac="__randomMAC__"
|
||||
|
||||
os_name="Cisco"
|
||||
|
||||
os_versions[]="C9200L"
|
||||
os_versions[]="C9300LM"
|
||||
os_versions[]="C9600"
|
||||
|
||||
latitude="RANDOM;37;42"
|
||||
longitude="RANDOM;-8;-1"
|
||||
altitude="0"
|
||||
|
||||
[modules]
|
||||
|
||||
name[1]="CPU Usage (5 min avg)"
|
||||
type[1]="generic_data"
|
||||
description[1]="CPU Usage"
|
||||
values[1]="RANDOM;20;90"
|
||||
unit[1]="%"
|
||||
group[1]="General"
|
||||
|
||||
name[2]="Big Buffer Misses"
|
||||
type[2]="generic_data"
|
||||
description[2]="Buffer misses"
|
||||
values[2]="RANDOM;20;90"
|
||||
unit[2]="%"
|
||||
group[2]="General"
|
||||
|
||||
name[3]="Temperature"
|
||||
type[3]="generic_data"
|
||||
description[3]="System temp"
|
||||
values[3]="RANDOM;20;30"
|
||||
unit[3]="ºC"
|
||||
group[3]="General"
|
||||
|
||||
name[4]="Host alive"
|
||||
type[4]="generic_proc"
|
||||
values[4]="PROC;5"
|
||||
group[4]="Networking"
|
||||
|
||||
name[5]="Gi0/0_ifOperStatus"
|
||||
type[5]="generic_proc"
|
||||
description[5]="(MAC: _mac_ - Gi0/0_ifOperStatus)"
|
||||
values[5]="PROC;5"
|
||||
group[5]="Networking"
|
||||
|
||||
name[6]="Gi0/0_ifInOctets"
|
||||
type[6]="generic_data_inc"
|
||||
description[6]="(MAC: _mac_ - Gi0/0_ifInOctets)"
|
||||
values[6]="RANDOM;0;1000"
|
||||
unit[6]="bytes/s"
|
||||
group[6]="Networking"
|
||||
|
||||
name[7]="Gi0/0_ifOutOctets"
|
||||
type[7]="generic_data_inc"
|
||||
description[7]="(MAC: _mac_ - Gi0/0_ifOutOctets)"
|
||||
values[7]="RANDOM;0;1000"
|
||||
unit[7]="bytes/s"
|
||||
group[7]="Networking"
|
||||
|
||||
name[8]="Gi0/1_ifOperStatus"
|
||||
type[8]="generic_proc"
|
||||
description[8]="(MAC: _mac_ - Gi0/1_ifOperStatus)"
|
||||
values[8]="PROC;5"
|
||||
group[8]="Networking"
|
||||
|
||||
name[9]="Gi0/1_ifInOctets"
|
||||
type[9]="generic_data_inc"
|
||||
description[9]="(MAC: _mac_ - Gi0/1_ifInOctets)"
|
||||
values[9]="RANDOM;0;1000"
|
||||
unit[9]="bytes/s"
|
||||
group[9]="Networking"
|
||||
|
||||
name[10]="Gi0/1_ifOutOctets"
|
||||
type[10]="generic_data_inc"
|
||||
description[10]="(MAC: _mac_ - Gi0/1_ifOutOctets)"
|
||||
values[10]="RANDOM;0;1000"
|
||||
unit[10]="bytes/s"
|
||||
group[10]="Networking"
|
||||
|
||||
name[11]="Gi0/2_ifOperStatus"
|
||||
type[11]="generic_proc"
|
||||
description[11]="(MAC: _mac_ - Gi0/2_ifOperStatus)"
|
||||
values[11]="PROC;5"
|
||||
group[11]="Networking"
|
||||
|
||||
name[12]="Gi0/2_ifInOctets"
|
||||
type[12]="generic_data_inc"
|
||||
description[12]="(MAC: _mac_ - Gi0/2_ifInOctets)"
|
||||
values[12]="RANDOM;0;1000"
|
||||
unit[12]="bytes/s"
|
||||
group[12]="Networking"
|
||||
|
||||
name[13]="Gi0/2_ifOutOctets"
|
||||
type[13]="generic_data_inc"
|
||||
description[13]="(MAC: _mac_ - Gi0/2_ifOutOctets)"
|
||||
values[13]="RANDOM;0;1000"
|
||||
unit[13]="bytes/s"
|
||||
group[13]="Networking"
|
||||
|
||||
name[14]="Gi0/3_ifOperStatus"
|
||||
type[14]="generic_proc"
|
||||
description[14]="(MAC: _mac_ - Gi0/3_ifOperStatus)"
|
||||
values[14]="PROC;5"
|
||||
group[14]="Networking"
|
||||
|
||||
name[15]="Gi0/3_ifInOctets"
|
||||
type[15]="generic_data_inc"
|
||||
description[15]="(MAC: _mac_ - Gi0/3_ifInOctets)"
|
||||
values[15]="RANDOM;0;1000"
|
||||
unit[15]="bytes/s"
|
||||
group[15]="Networking"
|
||||
|
||||
name[16]="Gi0/3_ifOutOctets"
|
||||
type[16]="generic_data_inc"
|
||||
description[16]="(MAC: _mac_ - Gi0/3_ifOutOctets)"
|
||||
values[16]="RANDOM;0;1000"
|
||||
unit[16]="bytes/s"
|
||||
group[16]="Networking"
|
||||
|
||||
name[17]="Gi0/4_ifOperStatus"
|
||||
type[17]="generic_proc"
|
||||
description[17]="(MAC: _mac_ - Gi0/4_ifOperStatus)"
|
||||
values[17]="PROC;5"
|
||||
group[17]="Networking"
|
||||
|
||||
name[18]="Gi0/4_ifInOctets"
|
||||
type[18]="generic_data_inc"
|
||||
description[18]="(MAC: _mac_ - Gi0/4_ifInOctets)"
|
||||
values[18]="RANDOM;0;1000"
|
||||
unit[18]="bytes/s"
|
||||
group[18]="Networking"
|
||||
|
||||
name[19]="Gi0/4_ifOutOctets"
|
||||
type[19]="generic_data_inc"
|
||||
description[19]="(MAC: _mac_ - Gi0/4_ifOutOctets)"
|
||||
values[19]="RANDOM;0;1000"
|
||||
unit[19]="bytes/s"
|
||||
group[19]="Networking"
|
||||
|
||||
name[20]="Gi0/5_ifOperStatus"
|
||||
type[20]="generic_proc"
|
||||
description[20]="(MAC: _mac_ - Gi0/5_ifOperStatus)"
|
||||
values[20]="PROC;5"
|
||||
group[20]="Networking"
|
||||
|
||||
name[21]="Gi0/5_ifInOctets"
|
||||
type[21]="generic_data_inc"
|
||||
description[21]="(MAC: _mac_ - Gi0/5_ifInOctets)"
|
||||
values[21]="RANDOM;0;1000"
|
||||
unit[21]="bytes/s"
|
||||
group[21]="Networking"
|
||||
|
||||
name[22]="Gi0/5_ifOutOctets"
|
||||
type[22]="generic_data_inc"
|
||||
description[22]="(MAC: _mac_ - Gi0/5_ifOutOctets)"
|
||||
values[22]="RANDOM;0;1000"
|
||||
unit[22]="bytes/s"
|
||||
group[22]="Networking"
|
||||
|
||||
name[23]="Gi0/6_ifOperStatus"
|
||||
type[23]="generic_proc"
|
||||
description[23]="(MAC: _mac_ - Gi0/6_ifOperStatus)"
|
||||
values[23]="PROC;5"
|
||||
group[23]="Networking"
|
||||
|
||||
name[24]="Gi0/6_ifInOctets"
|
||||
type[24]="generic_data_inc"
|
||||
description[24]="(MAC: _mac_ - Gi0/6_ifInOctets)"
|
||||
values[24]="RANDOM;0;1000"
|
||||
unit[24]="bytes/s"
|
||||
group[24]="Networking"
|
||||
|
||||
name[25]="Gi0/6_ifOutOctets"
|
||||
type[25]="generic_data_inc"
|
||||
description[25]="(MAC: _mac_ - Gi0/6_ifOutOctets)"
|
||||
values[25]="RANDOM;0;1000"
|
||||
unit[25]="bytes/s"
|
||||
group[25]="Networking"
|
||||
|
||||
name[26]="Gi0/7_ifOperStatus"
|
||||
type[26]="generic_proc"
|
||||
description[26]="(MAC: _mac_ - Gi0/7_ifOperStatus)"
|
||||
values[26]="PROC;5"
|
||||
group[26]="Networking"
|
||||
|
||||
name[27]="Gi0/7_ifInOctets"
|
||||
type[27]="generic_data_inc"
|
||||
description[27]="(MAC: _mac_ - Gi0/7_ifInOctets)"
|
||||
values[27]="RANDOM;0;1000"
|
||||
unit[27]="bytes/s"
|
||||
group[27]="Networking"
|
||||
|
||||
name[28]="Gi0/7_ifOutOctets"
|
||||
type[28]="generic_data_inc"
|
||||
description[28]="(MAC: _mac_ - Gi0/7_ifOutOctets)"
|
||||
values[28]="RANDOM;0;1000"
|
||||
unit[28]="bytes/s"
|
||||
group[28]="Networking"
|
||||
|
||||
name[29]="Gi0/8_ifOperStatus"
|
||||
type[29]="generic_proc"
|
||||
description[29]="(MAC: _mac_ - Gi0/8_ifOperStatus)"
|
||||
values[29]="PROC;5"
|
||||
group[29]="Networking"
|
||||
|
||||
name[30]="Gi0/8_ifInOctets"
|
||||
type[30]="generic_data_inc"
|
||||
description[30]="(MAC: _mac_ - Gi0/8_ifInOctets)"
|
||||
values[30]="RANDOM;0;1000"
|
||||
unit[30]="bytes/s"
|
||||
group[30]="Networking"
|
||||
|
||||
name[31]="Gi0/8_ifOutOctets"
|
||||
type[31]="generic_data_inc"
|
||||
description[31]="(MAC: _mac_ - Gi0/8_ifOutOctets)"
|
||||
values[31]="RANDOM;0;1000"
|
||||
unit[31]="bytes/s"
|
||||
group[31]="Networking"
|
||||
|
||||
name[32]="Gi0/9_ifOperStatus"
|
||||
type[32]="generic_proc"
|
||||
description[32]="(MAC: _mac_ - Gi0/9_ifOperStatus)"
|
||||
values[32]="PROC;5"
|
||||
group[32]="Networking"
|
||||
|
||||
name[33]="Gi0/9_ifInOctets"
|
||||
type[33]="generic_data_inc"
|
||||
description[33]="(MAC: _mac_ - Gi0/9_ifInOctets)"
|
||||
values[33]="RANDOM;0;1000"
|
||||
unit[33]="bytes/s"
|
||||
group[33]="Networking"
|
||||
|
||||
name[34]="Gi0/9_ifOutOctets"
|
||||
type[34]="generic_data_inc"
|
||||
description[34]="(MAC: _mac_ - Gi0/9_ifOutOctets)"
|
||||
values[34]="RANDOM;0;1000"
|
||||
unit[34]="bytes/s"
|
||||
group[34]="Networking"
|
||||
|
||||
name[35]="ipInReceives"
|
||||
type[35]="generic_data"
|
||||
description[35]="The total number of input datagrams received from interfaces"
|
||||
values[35]="RANDOM;0;1000"
|
||||
unit[35]="datagrams"
|
||||
group[35]="Networking"
|
||||
|
||||
name[36]="ipOutRequests"
|
||||
type[36]="generic_data"
|
||||
description[36]="The total number of output datagrams requested from interfaces"
|
||||
values[36]="RANDOM;0;1000"
|
||||
unit[36]="datagrams"
|
||||
group[36]="Networking"
|
||||
|
||||
name[37]="Latency"
|
||||
type[37]="generic_data"
|
||||
description[37]="Network latency"
|
||||
values[37]="RANDOM;0;100"
|
||||
unit[37]="msec"
|
||||
group[37]="Networking"
|
||||
|
||||
[traps]
|
||||
|
||||
oid[1]=".1.3.6.1.4.1.9.9.41.1.2.3.1.2.0"
|
||||
value[1]="RANDOM;0;100"
|
||||
snmp_type[1]="6"
|
||||
chance_percent[1]="20"
|
||||
|
||||
oid[2]=".1.3.6.1.4.1.9.9.41.1.2.3.1.3.0"
|
||||
value[2]="RANDOM;0;100"
|
||||
snmp_type[2]="6"
|
||||
chance_percent[2]="20"
|
||||
|
||||
oid[3]=".1.3.6.1.4.1.9.9.41.1.2.3.1.4.0"
|
||||
value[3]="RANDOM;0;100"
|
||||
snmp_type[3]="6"
|
||||
chance_percent[3]="20"
|
||||
|
||||
oid[4]=".1.3.6.1.4.1.9.9.41.1.2.3.1.5.0"
|
||||
value[4]="RANDOM;0;100"
|
||||
snmp_type[4]="6"
|
||||
chance_percent[4]="20"
|
||||
|
||||
oid[5]=".1.3.6.1.4.1.9.9.41.1.2.3.1.6.0"
|
||||
value[5]="RANDOM;0;100"
|
||||
snmp_type[5]="6"
|
||||
chance_percent[5]="20"
|
|
@ -0,0 +1,65 @@
|
|||
[dashboard_data]
|
||||
|
||||
name="Demo dashboard"
|
||||
group="Demo dashboard"
|
||||
|
||||
[dashboard_items]
|
||||
|
||||
title[1]="Groups status"
|
||||
type[1]="system_group_status"
|
||||
x[1]="0"
|
||||
y[1]="0"
|
||||
width[1]="5"
|
||||
height[1]="4"
|
||||
|
||||
title[2]="Network map"
|
||||
type[2]="network_map"
|
||||
x[2]="5"
|
||||
y[2]="0"
|
||||
width[2]="7"
|
||||
height[2]="6"
|
||||
map_name[2]="Demo sunburst network map"
|
||||
|
||||
title[3]="Module histogram"
|
||||
type[3]="graph_module_histogram"
|
||||
x[3]="0"
|
||||
y[3]="4"
|
||||
width[3]="5"
|
||||
height[3]="2"
|
||||
agent_name[3]="demo-global-agent-1"
|
||||
module[3]="Host Alive"
|
||||
interval[3]="86400"
|
||||
|
||||
title[4]="List of latest events"
|
||||
type[4]="events_list"
|
||||
x[4]="0"
|
||||
y[4]="6"
|
||||
width[4]="12"
|
||||
height[4]="5"
|
||||
|
||||
title[5]="Top N events by agent"
|
||||
type[5]="top_n_events_by_group"
|
||||
x[5]="6"
|
||||
y[5]="11"
|
||||
width[5]="6"
|
||||
height[5]="8"
|
||||
|
||||
title[6]="Top N of agent modules"
|
||||
type[6]="top_n"
|
||||
x[6]="0"
|
||||
y[6]="11"
|
||||
width[6]="6"
|
||||
height[6]="4"
|
||||
agent_name[6]="cisco-.*"
|
||||
module[6]=".*ifOutOctets"
|
||||
interval[6]="86400"
|
||||
|
||||
title[7]="Top N of agent modules"
|
||||
type[7]="top_n"
|
||||
x[7]="0"
|
||||
y[7]="15"
|
||||
width[7]="6"
|
||||
height[7]="4"
|
||||
agent_name[7]="cisco-.*"
|
||||
module[7]=".*ifInOctets"
|
||||
interval[7]="86400"
|
|
@ -0,0 +1,16 @@
|
|||
[gis_data]
|
||||
|
||||
name="Demo GIS map"
|
||||
group="Demo servers"
|
||||
zoom_level="6"
|
||||
initial_latitude="40"
|
||||
initial_longitude="-3"
|
||||
initial_altitude="0"
|
||||
default_latitude="40"
|
||||
default_longitude="-3"
|
||||
default_altitude="0"
|
||||
|
||||
[gis_layers]
|
||||
|
||||
name[1]="Demo servers"
|
||||
group[1]="Demo servers"
|
|
@ -0,0 +1,21 @@
|
|||
[graph_data]
|
||||
|
||||
name="Linux CPU Load"
|
||||
group="Demo servers"
|
||||
description="This is a demo custom graph for linux agents CPU Load"
|
||||
type="s_area"
|
||||
periodicity="86400"
|
||||
|
||||
[graph_items]
|
||||
|
||||
agent_name[1]="linux-1"
|
||||
module[1]="CPU Load"
|
||||
|
||||
agent_name[2]="linux-2"
|
||||
module[2]="CPU Load"
|
||||
|
||||
agent_name[3]="linux-3"
|
||||
module[3]="CPU Load"
|
||||
|
||||
agent_name[4]="linux-4"
|
||||
module[4]="CPU Load"
|
|
@ -0,0 +1,21 @@
|
|||
[graph_data]
|
||||
|
||||
name="Linux Disk Usage"
|
||||
group="Demo servers"
|
||||
description="This is a demo custom graph for linux agents Disk Usage"
|
||||
type="line"
|
||||
periodicity="86400"
|
||||
|
||||
[graph_items]
|
||||
|
||||
agent_name[1]="linux-1"
|
||||
module[1]="Disk Usage"
|
||||
|
||||
agent_name[2]="linux-2"
|
||||
module[2]="Disk Usage"
|
||||
|
||||
agent_name[3]="linux-3"
|
||||
module[3]="Disk Usage"
|
||||
|
||||
agent_name[4]="linux-4"
|
||||
module[4]="Disk Usage"
|
|
@ -0,0 +1,27 @@
|
|||
[graph_data]
|
||||
|
||||
name="Network Usage"
|
||||
group="Demo servers"
|
||||
description="This is a demo custom graph for linux and windows agents Network Usage"
|
||||
type="s_area"
|
||||
periodicity="86400"
|
||||
|
||||
[graph_items]
|
||||
|
||||
agent_name[1]="linux-1"
|
||||
module[1]="Network Usage"
|
||||
|
||||
agent_name[2]="linux-2"
|
||||
module[2]="Network Usage"
|
||||
|
||||
agent_name[3]="linux-3"
|
||||
module[3]="Network Usage"
|
||||
|
||||
agent_name[4]="linux-4"
|
||||
module[4]="Network Usage"
|
||||
|
||||
agent_name[5]="windows-1"
|
||||
module[5]="Network Usage"
|
||||
|
||||
agent_name[6]="windows-2"
|
||||
module[6]="Network Usage"
|
|
@ -0,0 +1,143 @@
|
|||
[map_data]
|
||||
|
||||
name="Demo network map"
|
||||
group="Demo network"
|
||||
description="This is a demo network map"
|
||||
node_radius="40"
|
||||
generation_method="circular"
|
||||
|
||||
[map_items]
|
||||
|
||||
agent_name[1]="cisco-1"
|
||||
x[1]="854"
|
||||
y[1]="221"
|
||||
|
||||
agent_name[2]="freebsd-1"
|
||||
x[2]="1184"
|
||||
y[2]="-25"
|
||||
parent[2]="1"
|
||||
|
||||
agent_name[3]="macos-1"
|
||||
x[3]="1268"
|
||||
y[3]="235"
|
||||
parent[3]="1"
|
||||
|
||||
agent_name[4]="windows-1"
|
||||
x[4]="528"
|
||||
y[4]="-37"
|
||||
parent[4]="1"
|
||||
|
||||
agent_name[5]="windows-2"
|
||||
x[5]="514"
|
||||
y[5]="389"
|
||||
parent[5]="1"
|
||||
|
||||
agent_name[6]="linux-1"
|
||||
x[6]="342"
|
||||
y[6]="-273"
|
||||
parent[6]="4"
|
||||
|
||||
agent_name[7]="linux-2"
|
||||
x[7]="240"
|
||||
y[7]="-7"
|
||||
parent[7]="4"
|
||||
|
||||
agent_name[8]="linux-3"
|
||||
x[8]="214"
|
||||
y[8]="275"
|
||||
parent[8]="5"
|
||||
|
||||
agent_name[9]="linux-4"
|
||||
x[9]="226"
|
||||
y[9]="595"
|
||||
parent[9]="5"
|
||||
|
||||
agent_name[10]="cisco-2"
|
||||
x[10]="1036"
|
||||
y[10]="711"
|
||||
parent[10]="1"
|
||||
|
||||
agent_name[11]="freebsd-2"
|
||||
x[11]="892"
|
||||
y[11]="-47"
|
||||
parent[11]="1"
|
||||
|
||||
agent_name[12]="macos-2"
|
||||
x[12]="1150"
|
||||
y[12]="409"
|
||||
parent[12]="1"
|
||||
|
||||
agent_name[13]="windows-3"
|
||||
x[13]="686"
|
||||
y[13]="875"
|
||||
parent[13]="10"
|
||||
|
||||
agent_name[14]="windows-4"
|
||||
x[14]="1452"
|
||||
y[14]="847"
|
||||
parent[14]="10"
|
||||
|
||||
agent_name[15]="linux-5"
|
||||
x[15]="314"
|
||||
y[15]="845"
|
||||
parent[15]="13"
|
||||
|
||||
agent_name[16]="linux-6"
|
||||
x[16]="474"
|
||||
y[16]="1043"
|
||||
parent[16]="13"
|
||||
|
||||
agent_name[17]="linux-7"
|
||||
x[17]="1812"
|
||||
y[17]="1011"
|
||||
parent[17]="14"
|
||||
|
||||
agent_name[18]="linux-8"
|
||||
x[18]="1828"
|
||||
y[18]="723"
|
||||
parent[18]="14"
|
||||
|
||||
agent_name[19]="cisco-3"
|
||||
x[19]="1824"
|
||||
y[19]="285"
|
||||
parent[19]="3"
|
||||
|
||||
agent_name[20]="freebsd-3"
|
||||
x[20]="-82"
|
||||
y[20]="583"
|
||||
parent[20]="9"
|
||||
|
||||
agent_name[21]="macos-3"
|
||||
x[21]="-140"
|
||||
y[21]="299"
|
||||
parent[21]="20"
|
||||
|
||||
agent_name[22]="windows-5"
|
||||
x[22]="-390"
|
||||
y[22]="385"
|
||||
parent[22]="20"
|
||||
|
||||
agent_name[23]="windows-6"
|
||||
x[23]="-470"
|
||||
y[23]="671"
|
||||
parent[23]="20"
|
||||
|
||||
agent_name[24]="linux-9"
|
||||
x[24]="-296"
|
||||
y[24]="899"
|
||||
parent[24]="20"
|
||||
|
||||
agent_name[25]="linux-10"
|
||||
x[25]="-25"
|
||||
y[25]="961"
|
||||
parent[25]="20"
|
||||
|
||||
agent_name[26]="linux-11"
|
||||
x[26]="1683"
|
||||
y[26]="13"
|
||||
parent[26]="19"
|
||||
|
||||
agent_name[27]="linux-12"
|
||||
x[27]="2135"
|
||||
y[27]="51"
|
||||
parent[27]="19"
|
|
@ -0,0 +1,9 @@
|
|||
[map_data]
|
||||
|
||||
name="Demo sunburst network map"
|
||||
group="Demo servers"
|
||||
description="This is a demo sunburst network map"
|
||||
node_radius="40"
|
||||
generation_method="radial_dynamic"
|
||||
|
||||
[map_items]
|
|
@ -0,0 +1,84 @@
|
|||
[report_data]
|
||||
|
||||
name="Linux report"
|
||||
group="Demo servers"
|
||||
description="This is a demo report for linux agents"
|
||||
|
||||
[report_items]
|
||||
|
||||
name[1]="Linux CPU Load graph"
|
||||
type[1]="custom_graph"
|
||||
graph_name[1]="Linux CPU Load"
|
||||
periodicity[1]="86400"
|
||||
|
||||
name[2]="linux-1 httpd"
|
||||
type[2]="SLA"
|
||||
agent_name[2]="linux-1"
|
||||
module[2]="Service httpd"
|
||||
periodicity[2]="86400"
|
||||
|
||||
name[3]="linux-1 mysqld"
|
||||
type[3]="SLA"
|
||||
agent_name[3]="linux-1"
|
||||
module[3]="Service mysqld"
|
||||
periodicity[3]="86400"
|
||||
|
||||
name[4]="linux-1 CPU Load graph"
|
||||
type[4]="simple_graph"
|
||||
agent_name[4]="linux-1"
|
||||
module[4]="CPU Load"
|
||||
periodicity[4]="86400"
|
||||
|
||||
name[5]="linux-2 httpd"
|
||||
type[5]="SLA"
|
||||
agent_name[5]="linux-2"
|
||||
module[5]="Service httpd"
|
||||
periodicity[5]="86400"
|
||||
|
||||
name[6]="linux-2 mysqld"
|
||||
type[6]="SLA"
|
||||
agent_name[6]="linux-2"
|
||||
module[6]="Service mysqld"
|
||||
periodicity[6]="86400"
|
||||
|
||||
name[7]="linux-2 CPU Load graph"
|
||||
type[7]="simple_graph"
|
||||
agent_name[7]="linux-2"
|
||||
module[7]="CPU Load"
|
||||
periodicity[7]="86400"
|
||||
|
||||
name[8]="linux-3 httpd"
|
||||
type[8]="SLA"
|
||||
agent_name[8]="linux-3"
|
||||
module[8]="Service httpd"
|
||||
periodicity[8]="86400"
|
||||
|
||||
name[9]="linux-3 mysqld"
|
||||
type[9]="SLA"
|
||||
agent_name[9]="linux-3"
|
||||
module[9]="Service mysqld"
|
||||
periodicity[9]="86400"
|
||||
|
||||
name[10]="linux-3 CPU Load graph"
|
||||
type[10]="simple_graph"
|
||||
agent_name[10]="linux-3"
|
||||
module[10]="CPU Load"
|
||||
periodicity[10]="86400"
|
||||
|
||||
name[11]="linux-4 httpd"
|
||||
type[11]="SLA"
|
||||
agent_name[11]="linux-4"
|
||||
module[11]="Service httpd"
|
||||
periodicity[11]="86400"
|
||||
|
||||
name[12]="linux-4 mysqld"
|
||||
type[12]="SLA"
|
||||
agent_name[12]="linux-4"
|
||||
module[12]="Service mysqld"
|
||||
periodicity[12]="86400"
|
||||
|
||||
name[13]="linux-4 CPU Load graph"
|
||||
type[13]="simple_graph"
|
||||
agent_name[13]="linux-4"
|
||||
module[13]="CPU Load"
|
||||
periodicity[13]="86400"
|
|
@ -0,0 +1,26 @@
|
|||
[service_data]
|
||||
|
||||
name="MySQL service"
|
||||
group="Demo services"
|
||||
description="This is a demo service for MySQL"
|
||||
mode="smart"
|
||||
critical="50"
|
||||
warning="30"
|
||||
|
||||
[service_items]
|
||||
|
||||
type[1]="module"
|
||||
agent_name[1]="linux-1"
|
||||
module[1]="Service mysqld"
|
||||
|
||||
type[2]="module"
|
||||
agent_name[2]="linux-2"
|
||||
module[2]="Service mysqld"
|
||||
|
||||
type[3]="module"
|
||||
agent_name[3]="linux-3"
|
||||
module[3]="Service mysqld"
|
||||
|
||||
type[4]="module"
|
||||
agent_name[4]="linux-4"
|
||||
module[4]="Service mysqld"
|
|
@ -0,0 +1,26 @@
|
|||
[service_data]
|
||||
|
||||
name="HTTP service"
|
||||
group="Demo services"
|
||||
description="This is a demo service for HTTP"
|
||||
mode="smart"
|
||||
critical="50"
|
||||
warning="30"
|
||||
|
||||
[service_items]
|
||||
|
||||
type[1]="module"
|
||||
agent_name[1]="linux-1"
|
||||
module[1]="Service httpd"
|
||||
|
||||
type[2]="module"
|
||||
agent_name[2]="linux-2"
|
||||
module[2]="Service httpd"
|
||||
|
||||
type[3]="module"
|
||||
agent_name[3]="linux-3"
|
||||
module[3]="Service httpd"
|
||||
|
||||
type[4]="module"
|
||||
agent_name[4]="linux-4"
|
||||
module[4]="Service httpd"
|
|
@ -0,0 +1,16 @@
|
|||
[service_data]
|
||||
|
||||
name="Web cluster service"
|
||||
group="Demo services"
|
||||
description="This is a demo service for a clustered web"
|
||||
mode="smart"
|
||||
critical="50"
|
||||
warning="50"
|
||||
|
||||
[service_items]
|
||||
|
||||
type[1]="service"
|
||||
service_name[1]="MySQL service"
|
||||
|
||||
type[2]="service"
|
||||
service_name[2]="HTTP service"
|
|
@ -0,0 +1,509 @@
|
|||
[visual_console_data]
|
||||
|
||||
name="Cisco visual console"
|
||||
group="Demo network"
|
||||
background_color="#000000"
|
||||
width="1680"
|
||||
height="945"
|
||||
|
||||
[visual_console_items]
|
||||
|
||||
type[1]="box"
|
||||
width[1]="720"
|
||||
height[1]="290"
|
||||
x[1]="100"
|
||||
y[1]="20"
|
||||
border_color[1]="#cacab3"
|
||||
fill_color[1]="#cacab3"
|
||||
|
||||
type[2]="box"
|
||||
width[2]="720"
|
||||
height[2]="290"
|
||||
x[2]="860"
|
||||
y[2]="20"
|
||||
border_color[2]="#cacab3"
|
||||
fill_color[2]="#cacab3"
|
||||
|
||||
type[3]="box"
|
||||
width[3]="266"
|
||||
height[3]="150"
|
||||
x[3]="100"
|
||||
y[3]="362"
|
||||
border_color[3]="#352e28"
|
||||
fill_color[3]="#352e28"
|
||||
|
||||
type[4]="box"
|
||||
width[4]="266"
|
||||
height[4]="150"
|
||||
x[4]="403"
|
||||
y[4]="362"
|
||||
border_color[4]="#352e28"
|
||||
fill_color[4]="#352e28"
|
||||
|
||||
type[5]="box"
|
||||
width[5]="266"
|
||||
height[5]="150"
|
||||
x[5]="708"
|
||||
y[5]="362"
|
||||
border_color[5]="#352e28"
|
||||
fill_color[5]="#352e28"
|
||||
|
||||
type[6]="box"
|
||||
width[6]="266"
|
||||
height[6]="150"
|
||||
x[6]="1013"
|
||||
y[6]="362"
|
||||
border_color[6]="#352e28"
|
||||
fill_color[6]="#352e28"
|
||||
|
||||
type[7]="box"
|
||||
width[7]="266"
|
||||
height[7]="150"
|
||||
x[7]="1313"
|
||||
y[7]="362"
|
||||
border_color[7]="#352e28"
|
||||
fill_color[7]="#352e28"
|
||||
|
||||
type[8]="box"
|
||||
width[8]="460"
|
||||
height[8]="362"
|
||||
x[8]="100"
|
||||
y[8]="564"
|
||||
border_color[8]="#b3cdc1"
|
||||
fill_color[8]="#b3cdc1"
|
||||
|
||||
type[9]="box"
|
||||
width[9]="460"
|
||||
height[9]="362"
|
||||
x[9]="1115"
|
||||
y[9]="557"
|
||||
border_color[9]="#b3cdc1"
|
||||
fill_color[9]="#b3cdc1"
|
||||
|
||||
type[10]="label"
|
||||
label_position[10]="down"
|
||||
width[10]="0"
|
||||
height[10]="20"
|
||||
x[10]="135"
|
||||
y[10]="50"
|
||||
label[10]='<p><span style="font-size: 26px; color: #181818; line-height: 1em;">CPU Usage</span></p>'
|
||||
show_on_top[10]=true
|
||||
|
||||
type[11]="label"
|
||||
label_position[11]="down"
|
||||
width[11]="0"
|
||||
height[11]="20"
|
||||
x[11]="895"
|
||||
y[11]="50"
|
||||
label[11]='<p><span style="font-size: 26px; color: #181818; line-height: 1em;">Ping / Latency</span></p>'
|
||||
show_on_top[11]=true
|
||||
|
||||
type[12]="label"
|
||||
label_position[12]="down"
|
||||
width[12]="0"
|
||||
height[12]="20"
|
||||
x[12]="135"
|
||||
y[12]="382"
|
||||
label[12]='<p><span style="font-size: 22px; color: #ffffff; line-height: 1.3em;"><strong>Gi0/0 InOctets</strong></span></p>'
|
||||
show_on_top[12]=true
|
||||
|
||||
type[13]="label"
|
||||
label_position[13]="down"
|
||||
width[13]="0"
|
||||
height[13]="20"
|
||||
x[13]="438"
|
||||
y[13]="382"
|
||||
label[13]='<p><span style="font-size: 22px; color: #ffffff; line-height: 1.3em;"><strong>Gi0/1 InOctets</strong></span></p>'
|
||||
show_on_top[13]=true
|
||||
|
||||
type[14]="label"
|
||||
label_position[14]="down"
|
||||
width[14]="0"
|
||||
height[14]="20"
|
||||
x[14]="743"
|
||||
y[14]="382"
|
||||
label[14]='<p><span style="font-size: 22px; color: #ffffff; line-height: 1.3em;"><strong>Gi0/2 InOctets</strong></span></p>'
|
||||
show_on_top[14]=true
|
||||
|
||||
type[15]="label"
|
||||
label_position[15]="down"
|
||||
width[15]="0"
|
||||
height[15]="20"
|
||||
x[15]="1048"
|
||||
y[15]="382"
|
||||
label[15]='<p><span style="font-size: 22px; color: #ffffff; line-height: 1.3em;"><strong>Gi0/3 InOctets</strong></span></p>'
|
||||
show_on_top[15]=true
|
||||
|
||||
type[16]="label"
|
||||
label_position[16]="down"
|
||||
width[16]="0"
|
||||
height[16]="20"
|
||||
x[16]="1349"
|
||||
y[16]="382"
|
||||
label[16]='<p><span style="font-size: 22px; color: #ffffff; line-height: 1.3em;"><strong>Gi0/4 InOctets</strong></span></p>'
|
||||
show_on_top[16]=true
|
||||
|
||||
type[17]="label"
|
||||
label_position[17]="down"
|
||||
width[17]="100"
|
||||
height[17]="15"
|
||||
x[17]="126"
|
||||
y[17]="573"
|
||||
label[17]='<p><span style="font-size: 16px; color: #181818; line-height: 1em;">Min</span></p>'
|
||||
show_on_top[17]=true
|
||||
|
||||
type[18]="label"
|
||||
label_position[18]="down"
|
||||
width[18]="100"
|
||||
height[18]="15"
|
||||
x[18]="126"
|
||||
y[18]="640"
|
||||
label[18]='<p><span style="font-size: 16px; color: #181818; line-height: 1em;">Max</span></p>'
|
||||
show_on_top[18]=true
|
||||
|
||||
type[19]="label"
|
||||
label_position[19]="down"
|
||||
width[19]="100"
|
||||
height[19]="15"
|
||||
x[19]="1137"
|
||||
y[19]="564"
|
||||
label[19]='<p><span style="font-size: 16px; color: #181818; line-height: 1em;">Min</span></p>'
|
||||
show_on_top[19]=true
|
||||
|
||||
type[20]="label"
|
||||
label_position[20]="down"
|
||||
width[20]="100"
|
||||
height[20]="15"
|
||||
x[20]="1137"
|
||||
y[20]="626"
|
||||
label[20]='<p><span style="font-size: 16px; color: #181818; line-height: 1em;">Max</span></p>'
|
||||
show_on_top[20]=true
|
||||
|
||||
type[21]="value"
|
||||
label_position[21]="down"
|
||||
width[21]="0"
|
||||
height[21]="20"
|
||||
x[21]="609"
|
||||
y[21]="50"
|
||||
label[21]='<p style="text-align: right;"><span style="font-size: 16px; color: #181818; line-height: 1em;">Avg. last 24 hours: (_value_)</span></p>'
|
||||
show_on_top[21]=true
|
||||
agent_name[21]="cisco-1"
|
||||
module[21]="CPU Usage (5 min avg)"
|
||||
process[21]="avg"
|
||||
interval[21]="86400"
|
||||
|
||||
type[22]="value"
|
||||
label_position[22]="down"
|
||||
width[22]="0"
|
||||
height[22]="20"
|
||||
x[22]="135"
|
||||
y[22]="96"
|
||||
label[22]='<p><span style="font-size: 50px; color: #181818; line-height: 1em;">(_value_) </span></p>'
|
||||
show_on_top[22]=true
|
||||
agent_name[22]="cisco-1"
|
||||
module[22]="CPU Usage (5 min avg)"
|
||||
|
||||
type[23]="value"
|
||||
label_position[23]="down"
|
||||
width[23]="0"
|
||||
height[23]="20"
|
||||
x[23]="1364"
|
||||
y[23]="50"
|
||||
label[23]='<p style="text-align: right;"><span style="font-size: 16px; color: #181818; line-height: 1em;">Avg. last 24 hours: (_value_)</span></p>'
|
||||
show_on_top[23]=true
|
||||
agent_name[23]="cisco-1"
|
||||
module[23]="Latency"
|
||||
process[23]="avg"
|
||||
interval[23]="86400"
|
||||
|
||||
type[24]="value"
|
||||
label_position[24]="down"
|
||||
width[24]="0"
|
||||
height[24]="20"
|
||||
x[24]="895"
|
||||
y[24]="96"
|
||||
label[24]='<p><span style="font-size: 50px; color: #181818; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[24]=true
|
||||
agent_name[24]="cisco-1"
|
||||
module[24]="Latency"
|
||||
|
||||
type[25]="value"
|
||||
label_position[25]="down"
|
||||
width[25]="0"
|
||||
height[25]="20"
|
||||
x[25]="135"
|
||||
y[25]="472"
|
||||
label[25]='<p style="text-align: right;"><span style="font-size: 16px; color: #cccccc; line-height: 1em;">Avg. last 24 hours (_value_)</span></p>'
|
||||
show_on_top[25]=true
|
||||
agent_name[25]="cisco-1"
|
||||
module[25]="Gi0/0_ifInOctets"
|
||||
process[25]="avg"
|
||||
interval[25]="86400"
|
||||
|
||||
type[26]="value"
|
||||
label_position[26]="down"
|
||||
width[26]="0"
|
||||
height[26]="20"
|
||||
x[26]="135"
|
||||
y[26]="417"
|
||||
label[26]='<p><span style="font-size: 32px; color: #ffffff; line-height: 1em;">(_value_) </span></p>'
|
||||
show_on_top[26]=true
|
||||
agent_name[26]="cisco-1"
|
||||
module[26]="Gi0/0_ifInOctets"
|
||||
|
||||
type[27]="value"
|
||||
label_position[27]="down"
|
||||
width[27]="0"
|
||||
height[27]="20"
|
||||
x[27]="438"
|
||||
y[27]="472"
|
||||
label[27]='<p style="text-align: right;"><span style="font-size: 16px; color: #cccccc; line-height: 1em;">Avg. last 24 hours (_value_)</span></p>'
|
||||
show_on_top[27]=true
|
||||
agent_name[27]="cisco-1"
|
||||
module[27]="Gi0/1_ifInOctets"
|
||||
process[27]="avg"
|
||||
interval[27]="86400"
|
||||
|
||||
type[28]="value"
|
||||
label_position[28]="down"
|
||||
width[28]="0"
|
||||
height[28]="20"
|
||||
x[28]="438"
|
||||
y[28]="417"
|
||||
label[28]='<p><span style="font-size: 32px; color: #ffffff; line-height: 1em;">(_value_) </span></p>'
|
||||
show_on_top[28]=true
|
||||
agent_name[28]="cisco-1"
|
||||
module[28]="Gi0/1_ifInOctets"
|
||||
|
||||
type[29]="value"
|
||||
label_position[29]="down"
|
||||
width[29]="0"
|
||||
height[29]="20"
|
||||
x[29]="743"
|
||||
y[29]="472"
|
||||
label[29]='<p style="text-align: right;"><span style="font-size: 16px; color: #cccccc; line-height: 1em;">Avg. last 24 hours (_value_)</span></p>'
|
||||
show_on_top[29]=true
|
||||
agent_name[29]="cisco-1"
|
||||
module[29]="Gi0/2_ifInOctets"
|
||||
process[29]="avg"
|
||||
interval[29]="86400"
|
||||
|
||||
type[30]="value"
|
||||
label_position[30]="down"
|
||||
width[30]="0"
|
||||
height[30]="20"
|
||||
x[30]="743"
|
||||
y[30]="417"
|
||||
label[30]='<p><span style="font-size: 32px; color: #ffffff; line-height: 1em;">(_value_) </span></p>'
|
||||
show_on_top[30]=true
|
||||
agent_name[30]="cisco-1"
|
||||
module[30]="Gi0/2_ifInOctets"
|
||||
|
||||
type[31]="value"
|
||||
label_position[31]="down"
|
||||
width[31]="0"
|
||||
height[31]="20"
|
||||
x[31]="1048"
|
||||
y[31]="472"
|
||||
label[31]='<p style="text-align: right;"><span style="font-size: 16px; color: #cccccc; line-height: 1em;">Avg. last 24 hours (_value_)</span></p>'
|
||||
show_on_top[31]=true
|
||||
agent_name[31]="cisco-1"
|
||||
module[31]="Gi0/3_ifInOctets"
|
||||
process[31]="avg"
|
||||
interval[31]="86400"
|
||||
|
||||
type[32]="value"
|
||||
label_position[32]="down"
|
||||
width[32]="0"
|
||||
height[32]="20"
|
||||
x[32]="1048"
|
||||
y[32]="417"
|
||||
label[32]='<p><span style="font-size: 32px; color: #ffffff; line-height: 1em;">(_value_) </span></p>'
|
||||
show_on_top[32]=true
|
||||
agent_name[32]="cisco-1"
|
||||
module[32]="Gi0/3_ifInOctets"
|
||||
|
||||
type[33]="value"
|
||||
label_position[33]="down"
|
||||
width[33]="0"
|
||||
height[33]="20"
|
||||
x[33]="1349"
|
||||
y[33]="472"
|
||||
label[33]='<p style="text-align: right;"><span style="font-size: 16px; color: #cccccc; line-height: 1em;">Avg. last 24 hours (_value_)</span></p>'
|
||||
show_on_top[33]=true
|
||||
agent_name[33]="cisco-1"
|
||||
module[33]="Gi0/4_ifInOctets"
|
||||
process[33]="avg"
|
||||
interval[33]="86400"
|
||||
|
||||
type[34]="value"
|
||||
label_position[34]="down"
|
||||
width[34]="0"
|
||||
height[34]="20"
|
||||
x[34]="1349"
|
||||
y[34]="417"
|
||||
label[34]='<p><span style="font-size: 32px; color: #ffffff; line-height: 1em;">(_value_) </span></p>'
|
||||
show_on_top[34]=true
|
||||
agent_name[34]="cisco-1"
|
||||
module[34]="Gi0/4_ifInOctets"
|
||||
|
||||
type[35]="value"
|
||||
label_position[35]="down"
|
||||
width[35]="0"
|
||||
height[35]="20"
|
||||
x[35]="124"
|
||||
y[35]="602"
|
||||
label[35]='<p><span style="font-size: 50px; color: #181818; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[35]=true
|
||||
agent_name[35]="cisco-1"
|
||||
module[35]=ipInReceives
|
||||
process[35]="min"
|
||||
interval[35]="86400"
|
||||
|
||||
type[36]="value"
|
||||
label_position[36]="down"
|
||||
width[36]="0"
|
||||
height[36]="20"
|
||||
x[36]="124"
|
||||
y[36]="669"
|
||||
label[36]='<p><span style="font-size: 50px; color: #181818; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[36]=true
|
||||
agent_name[36]="cisco-1"
|
||||
module[36]=ipInReceives
|
||||
process[36]="max"
|
||||
interval[36]="86400"
|
||||
|
||||
type[37]="value"
|
||||
label_position[37]="down"
|
||||
width[37]="0"
|
||||
height[37]="20"
|
||||
x[37]="1138"
|
||||
y[37]="591"
|
||||
label[37]='<p><span style="font-size: 50px; color: #181818; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[37]=true
|
||||
agent_name[37]="cisco-1"
|
||||
module[37]=ipOutRequests
|
||||
process[37]="min"
|
||||
interval[37]="86400"
|
||||
|
||||
type[38]="value"
|
||||
label_position[38]="down"
|
||||
width[38]="0"
|
||||
height[38]="20"
|
||||
x[38]="1138"
|
||||
y[38]="658"
|
||||
label[38]='<p><span style="font-size: 50px; color: #181818; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[38]=true
|
||||
agent_name[38]="cisco-1"
|
||||
module[38]=ipOutRequests
|
||||
process[38]="max"
|
||||
interval[38]="86400"
|
||||
|
||||
type[39]="static_image"
|
||||
image[39]="dot"
|
||||
width[39]="30"
|
||||
height[39]="36"
|
||||
x[39]="701"
|
||||
y[39]="595"
|
||||
label[39]='<p><span style="color: rgb(255, 255, 255);"><strong><span style="font-size: 18pt;">_module_</span></strong></span></p>'
|
||||
label_position[39]="right"
|
||||
agent_name[39]="cisco-1"
|
||||
module[39]="Gi0/0_ifOperStatus"
|
||||
|
||||
type[40]="static_image"
|
||||
image[40]="dot"
|
||||
width[40]="30"
|
||||
height[40]="36"
|
||||
x[40]="701"
|
||||
y[40]="655"
|
||||
label[40]='<p><span style="color: rgb(255, 255, 255);"><strong><span style="font-size: 18pt;">_module_</span></strong></span></p>'
|
||||
label_position[40]="right"
|
||||
agent_name[40]="cisco-1"
|
||||
module[40]="Gi0/1_ifOperStatus"
|
||||
|
||||
type[41]="static_image"
|
||||
image[41]="dot"
|
||||
width[41]="30"
|
||||
height[41]="36"
|
||||
x[41]="701"
|
||||
y[41]="713"
|
||||
label[41]='<p><span style="color: rgb(255, 255, 255);"><strong><span style="font-size: 18pt;">_module_</span></strong></span></p>'
|
||||
label_position[41]="right"
|
||||
agent_name[41]="cisco-1"
|
||||
module[41]="Gi0/2_ifOperStatus"
|
||||
|
||||
type[42]="static_image"
|
||||
image[42]="dot"
|
||||
width[42]="30"
|
||||
height[42]="36"
|
||||
x[42]="701"
|
||||
y[42]="771"
|
||||
label[42]='<p><span style="color: rgb(255, 255, 255);"><strong><span style="font-size: 18pt;">_module_</span></strong></span></p>'
|
||||
label_position[42]="right"
|
||||
agent_name[42]="cisco-1"
|
||||
module[42]="Gi0/3_ifOperStatus"
|
||||
|
||||
type[43]="static_image"
|
||||
image[43]="dot"
|
||||
width[43]="30"
|
||||
height[43]="36"
|
||||
x[43]="701"
|
||||
y[43]="828"
|
||||
label[43]='<p><span style="color: rgb(255, 255, 255);"><strong><span style="font-size: 18pt;">_module_</span></strong></span></p>'
|
||||
label_position[43]="right"
|
||||
agent_name[43]="cisco-1"
|
||||
module[43]="Gi0/4_ifOperStatus"
|
||||
|
||||
type[44]="module_graph"
|
||||
width[44]="652"
|
||||
height[44]="110"
|
||||
x[44]="135"
|
||||
y[44]="166"
|
||||
agent_name[44]="cisco-1"
|
||||
module[44]="CPU Usage (5 min avg)"
|
||||
image[44]="transparent"
|
||||
graph_type[44]="area"
|
||||
interval[44]="86400"
|
||||
show_on_top[44]=true
|
||||
|
||||
type[45]="module_graph"
|
||||
width[45]="295"
|
||||
height[45]="87"
|
||||
x[45]="895"
|
||||
y[45]="189"
|
||||
agent_name[45]="cisco-1"
|
||||
module[45]="Host Alive"
|
||||
image[45]="transparent"
|
||||
graph_type[45]="area"
|
||||
interval[45]="86400"
|
||||
show_on_top[45]=true
|
||||
|
||||
type[46]="module_graph"
|
||||
width[46]="295"
|
||||
height[46]="87"
|
||||
x[46]="1252"
|
||||
y[46]="189"
|
||||
agent_name[46]="cisco-1"
|
||||
module[46]="Latency"
|
||||
image[46]="transparent"
|
||||
graph_type[46]="area"
|
||||
interval[46]="86400"
|
||||
show_on_top[46]=true
|
||||
|
||||
type[47]="odometer"
|
||||
width[47]="412"
|
||||
height[47]="11"
|
||||
x[47]="123"
|
||||
y[47]="719"
|
||||
agent_name[47]="cisco-1"
|
||||
module[47]="ipInReceives"
|
||||
show_on_top[47]=true
|
||||
|
||||
type[48]="odometer"
|
||||
width[48]="412"
|
||||
height[48]="11"
|
||||
x[48]="1142"
|
||||
y[48]="710"
|
||||
agent_name[48]="cisco-1"
|
||||
module[48]="ipOutRequests"
|
||||
show_on_top[48]=true
|
|
@ -0,0 +1,295 @@
|
|||
[visual_console_data]
|
||||
|
||||
name="Linux visual console"
|
||||
group="Demo servers"
|
||||
background_color="#f2f3f3"
|
||||
width="1680"
|
||||
height="945"
|
||||
|
||||
[visual_console_items]
|
||||
|
||||
type[1]="box"
|
||||
width[1]="1205"
|
||||
height[1]="560"
|
||||
x[1]="30"
|
||||
y[1]="30"
|
||||
border_color[1]="#ffffff"
|
||||
fill_color[1]="#ffffff"
|
||||
|
||||
type[2]="box"
|
||||
width[2]="386"
|
||||
height[2]="560"
|
||||
x[2]="1264"
|
||||
y[2]="30"
|
||||
border_color[2]="#ffffff"
|
||||
fill_color[2]="#ffffff"
|
||||
|
||||
type[3]="box"
|
||||
width[3]="390"
|
||||
height[3]="205"
|
||||
x[3]="30"
|
||||
y[3]="650"
|
||||
border_color[3]="#eaf0ff"
|
||||
fill_color[3]="#eaf0ff"
|
||||
|
||||
type[4]="box"
|
||||
width[4]="390"
|
||||
height[4]="205"
|
||||
x[4]="441"
|
||||
y[4]="650"
|
||||
border_color[4]="#fef1ea"
|
||||
fill_color[4]="#fef1ea"
|
||||
|
||||
type[5]="box"
|
||||
width[5]="390"
|
||||
height[5]="205"
|
||||
x[5]="850"
|
||||
y[5]="650"
|
||||
border_color[5]="#d8daff"
|
||||
fill_color[5]="#d8daff"
|
||||
|
||||
type[6]="box"
|
||||
width[6]="390"
|
||||
height[6]="205"
|
||||
x[6]="1264"
|
||||
y[6]="650"
|
||||
border_color[6]="#d4edd7"
|
||||
fill_color[6]="#d4edd7"
|
||||
|
||||
type[7]="label"
|
||||
label_position[7]="down"
|
||||
width[7]="239"
|
||||
height[7]="20"
|
||||
x[7]="60"
|
||||
y[7]="60"
|
||||
label[7]='<p><span style="font-size: 24px; color: #08122a; line-height: 1em; font-weight: 900;">Network usage</span></p>'
|
||||
show_on_top[7]=true
|
||||
|
||||
type[8]="label"
|
||||
label_position[8]="down"
|
||||
width[8]="239"
|
||||
height[8]="20"
|
||||
x[8]="1282"
|
||||
y[8]="48"
|
||||
label[8]='<p><span style="font-size: 24px; color: #08122a; line-height: 1em; font-weight: 900;">Performance</span></p>'
|
||||
show_on_top[8]=true
|
||||
|
||||
type[9]="label"
|
||||
label_position[9]="down"
|
||||
width[9]="239"
|
||||
height[9]="20"
|
||||
x[9]="60"
|
||||
y[9]="680"
|
||||
label[9]='<p><span style="font-size: 24px; color: #08122a; line-height: 1em; font-weight: 900;">Service httpd</span></p>'
|
||||
show_on_top[9]=true
|
||||
|
||||
type[10]="label"
|
||||
label_position[10]="down"
|
||||
width[10]="239"
|
||||
height[10]="20"
|
||||
x[10]="470"
|
||||
y[10]="680"
|
||||
label[10]='<p><span style="font-size: 24px; color: #08122a; line-height: 1em; font-weight: 900;">CPU Load</span></p>'
|
||||
show_on_top[10]=true
|
||||
|
||||
type[11]="label"
|
||||
label_position[11]="down"
|
||||
width[11]="239"
|
||||
height[11]="20"
|
||||
x[11]="880"
|
||||
y[11]="680"
|
||||
label[11]='<p><span style="font-size: 24px; color: #08122a; line-height: 1em; font-weight: 900;">Memory usage</span></p>'
|
||||
show_on_top[11]=true
|
||||
|
||||
type[12]="label"
|
||||
label_position[12]="down"
|
||||
width[12]="239"
|
||||
height[12]="20"
|
||||
x[12]="1294"
|
||||
y[12]="680"
|
||||
label[12]='<p><span style="font-size: 24px; color: #08122a; line-height: 1em; font-weight: 900;">Disk usage</span></p>'
|
||||
show_on_top[12]=true
|
||||
|
||||
type[13]="label"
|
||||
label_position[13]="down"
|
||||
width[13]="181"
|
||||
height[13]="16"
|
||||
x[13]="63"
|
||||
y[13]="158"
|
||||
label[13]='<p><span style="font-size: 16px; color: #898989; line-height: 1em;">Min. today</span></p>'
|
||||
show_on_top[13]=true
|
||||
|
||||
type[14]="label"
|
||||
label_position[14]="down"
|
||||
width[14]="181"
|
||||
height[14]="16"
|
||||
x[14]="469"
|
||||
y[14]="158"
|
||||
label[14]='<p><span style="font-size: 16px; color: #898989; line-height: 1em;">Avg. today</span></p>'
|
||||
show_on_top[14]=true
|
||||
|
||||
type[15]="label"
|
||||
label_position[15]="down"
|
||||
width[15]="181"
|
||||
height[15]="16"
|
||||
x[15]="879"
|
||||
y[15]="158"
|
||||
label[15]='<p><span style="font-size: 16px; color: #898989; line-height: 1em;">Max. today</span></p>'
|
||||
show_on_top[15]=true
|
||||
|
||||
type[16]="value"
|
||||
label_position[16]="down"
|
||||
width[16]="400"
|
||||
height[16]="50"
|
||||
x[16]="60"
|
||||
y[16]="100"
|
||||
label[16]='<p><span style="font-size: 50px; color: #08122a; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[16]=true
|
||||
agent_name[16]="linux-1"
|
||||
module[16]="Network Usage"
|
||||
process[16]="min"
|
||||
interval[16]="86400"
|
||||
|
||||
type[17]="value"
|
||||
label_position[17]="down"
|
||||
width[17]="400"
|
||||
height[17]="50"
|
||||
x[17]="468"
|
||||
y[17]="100"
|
||||
label[17]='<p><span style="font-size: 50px; color: #08122a; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[17]=true
|
||||
agent_name[17]="linux-1"
|
||||
module[17]="Network Usage"
|
||||
process[17]="avg"
|
||||
interval[17]="86400"
|
||||
|
||||
type[18]="value"
|
||||
label_position[18]="down"
|
||||
width[18]="400"
|
||||
height[18]="50"
|
||||
x[18]="876"
|
||||
y[18]="100"
|
||||
label[18]='<p><span style="font-size: 50px; color: #08122a; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[18]=true
|
||||
agent_name[18]="linux-1"
|
||||
module[18]="Network Usage"
|
||||
process[18]="max"
|
||||
interval[18]="86400"
|
||||
|
||||
type[19]="value"
|
||||
label_position[19]="down"
|
||||
width[19]="330"
|
||||
height[19]="30"
|
||||
x[19]="470"
|
||||
y[19]="722"
|
||||
label[19]='<p><span style="font-size: 40px; color: #08122a; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[19]=true
|
||||
agent_name[19]="linux-1"
|
||||
module[19]="CPU Load"
|
||||
|
||||
type[20]="value"
|
||||
label_position[20]="down"
|
||||
width[20]="330"
|
||||
height[20]="30"
|
||||
x[20]="880"
|
||||
y[20]="722"
|
||||
label[20]='<p><span style="font-size: 40px; color: #08122a; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[20]=true
|
||||
agent_name[20]="linux-1"
|
||||
module[20]="Memory Usage"
|
||||
|
||||
type[21]="value"
|
||||
label_position[21]="down"
|
||||
width[21]="330"
|
||||
height[21]="30"
|
||||
x[21]="1294"
|
||||
y[21]="722"
|
||||
label[21]='<p><span style="font-size: 40px; color: #08122a; line-height: 1em;">(_value_)</span></p>'
|
||||
show_on_top[21]=true
|
||||
agent_name[21]="linux-1"
|
||||
module[21]="Disk Usage"
|
||||
|
||||
type[22]="percentile"
|
||||
width[22]="330"
|
||||
height[22]="100"
|
||||
x[22]="470"
|
||||
y[22]="790"
|
||||
show_on_top[22]=true
|
||||
agent_name[22]="linux-1"
|
||||
module[22]="CPU Load"
|
||||
min[22]="0"
|
||||
max[22]="100"
|
||||
|
||||
type[23]="percentile"
|
||||
width[23]="330"
|
||||
height[23]="100"
|
||||
x[23]="880"
|
||||
y[23]="790"
|
||||
show_on_top[23]=true
|
||||
agent_name[23]="linux-1"
|
||||
module[23]="Memory Usage"
|
||||
min[23]="0"
|
||||
max[23]="100"
|
||||
|
||||
type[24]="percentile"
|
||||
width[24]="330"
|
||||
height[24]="100"
|
||||
x[24]="1294"
|
||||
y[24]="790"
|
||||
show_on_top[24]=true
|
||||
agent_name[24]="linux-1"
|
||||
module[24]="Disk Usage"
|
||||
min[24]="0"
|
||||
max[24]="100"
|
||||
|
||||
type[25]="module_graph"
|
||||
width[25]="1150"
|
||||
height[25]="320"
|
||||
x[25]="58"
|
||||
y[25]="196"
|
||||
agent_name[25]="linux-1"
|
||||
module[25]="Network Usage"
|
||||
image[25]="transparent"
|
||||
graph_type[25]="line"
|
||||
interval[25]="86400"
|
||||
show_on_top[25]=true
|
||||
|
||||
type[26]="basic_chart"
|
||||
width[26]="325"
|
||||
height[26]="110"
|
||||
x[26]="1294"
|
||||
y[26]="100"
|
||||
agent_name[26]="linux-1"
|
||||
module[26]="CPU Load"
|
||||
interval[26]="86400"
|
||||
show_on_top[26]=true
|
||||
|
||||
type[27]="basic_chart"
|
||||
width[27]="325"
|
||||
height[27]="110"
|
||||
x[27]="1294"
|
||||
y[27]="268"
|
||||
agent_name[27]="linux-1"
|
||||
module[27]="Memory Usage"
|
||||
interval[27]="86400"
|
||||
show_on_top[27]=true
|
||||
|
||||
type[28]="basic_chart"
|
||||
width[28]="325"
|
||||
height[28]="110"
|
||||
x[28]="1294"
|
||||
y[28]="432"
|
||||
agent_name[28]="linux-1"
|
||||
module[28]="Disk Usage"
|
||||
interval[28]="86400"
|
||||
show_on_top[28]=true
|
||||
|
||||
type[29]="event_history"
|
||||
width[29]="330"
|
||||
height[29]="103"
|
||||
x[29]="60"
|
||||
y[29]="713"
|
||||
show_on_top[29]=true
|
||||
agent_name[29]="linux-1"
|
||||
module[29]="Service httpd"
|
||||
interval[29]="86400"
|
|
@ -1,5 +1,380 @@
|
|||
START TRANSACTION;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tdemo_data` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`item_id` INT UNSIGNED NULL DEFAULT NULL,
|
||||
`table_name` VARCHAR(64) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||
|
||||
SET @class_name = 'AgentHive';
|
||||
SET @unique_name = 'AgentHive';
|
||||
SET @description = 'Agents hive';
|
||||
SET @page = 'AgentHive.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'AvgSumMaxMinModule';
|
||||
SET @unique_name = 'AvgSumMaxMinModule';
|
||||
SET @description = 'Avg|Sum|Max|Min Module Data';
|
||||
SET @page = 'AvgSumMaxMinModule.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'BasicChart';
|
||||
SET @unique_name = 'BasicChart';
|
||||
SET @description = 'Basic chart';
|
||||
SET @page = 'BasicChart.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'BlockHistogram';
|
||||
SET @unique_name = 'BlockHistogram';
|
||||
SET @description = 'Block histogram';
|
||||
SET @page = 'BlockHistogram.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ColorModuleTabs';
|
||||
SET @unique_name = 'ColorModuleTabs';
|
||||
SET @description = 'Color tabs modules';
|
||||
SET @page = 'ColorModuleTabs.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'DataMatrix';
|
||||
SET @unique_name = 'DataMatrix';
|
||||
SET @description = 'Data Matrix';
|
||||
SET @page = 'DataMatrix.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'EventCardboard';
|
||||
SET @unique_name = 'EventCardboard';
|
||||
SET @description = 'Event cardboard';
|
||||
SET @page = 'EventCardboard.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'GroupedMeterGraphs';
|
||||
SET @unique_name = 'GroupedMeterGraphs';
|
||||
SET @description = 'Grouped meter graphs';
|
||||
SET @page = 'GroupedMeterGraphs.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ModulesByStatus';
|
||||
SET @unique_name = 'ModulesByStatus';
|
||||
SET @description = 'Modules by status';
|
||||
SET @page = 'ModulesByStatus.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'AgentModuleWidget';
|
||||
SET @unique_name = 'agent_module';
|
||||
SET @description = 'Agent/Module View';
|
||||
SET @page = 'agent_module.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'AlertsFiredWidget';
|
||||
SET @unique_name = 'alerts_fired';
|
||||
SET @description = 'Triggered alerts report';
|
||||
SET @page = 'alerts_fired.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ClockWidget';
|
||||
SET @unique_name = 'clock';
|
||||
SET @description = 'Clock';
|
||||
SET @page = 'clock.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'CustomGraphWidget';
|
||||
SET @unique_name = 'custom_graph';
|
||||
SET @description = 'Defined custom graph';
|
||||
SET @page = 'custom_graph.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'EventsListWidget';
|
||||
SET @unique_name = 'events_list';
|
||||
SET @description = 'List of latest events';
|
||||
SET @page = 'events_list.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'WelcomeWidget';
|
||||
SET @unique_name = 'example';
|
||||
SET @description = 'Welcome message to Pandora FMS';
|
||||
SET @page = 'example.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'GraphModuleHistogramWidget';
|
||||
SET @unique_name = 'graph_module_histogram';
|
||||
SET @description = 'Module histogram';
|
||||
SET @page = 'graph_module_histogram.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'GroupsStatusWidget';
|
||||
SET @unique_name = 'groups_status';
|
||||
SET @description = 'General group status';
|
||||
SET @page = 'groups_status.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'GroupsStatusMapWidget';
|
||||
SET @unique_name = 'groups_status_map';
|
||||
SET @description = 'Group status map';
|
||||
SET @page = 'groups_status_map.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'HeatmapWidget';
|
||||
SET @unique_name = 'heatmap';
|
||||
SET @description = 'Heatmap';
|
||||
SET @page = 'heatmap.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'InventoryWidget';
|
||||
SET @unique_name = 'inventory';
|
||||
SET @description = 'Inventory';
|
||||
SET @page = 'inventory.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'MapsMadeByUser';
|
||||
SET @unique_name = 'maps_made_by_user';
|
||||
SET @description = 'Visual Console';
|
||||
SET @page = 'maps_made_by_user.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'MapsStatusWidget';
|
||||
SET @unique_name = 'maps_status';
|
||||
SET @description = 'General visual maps report';
|
||||
SET @page = 'maps_status.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ModuleIconWidget';
|
||||
SET @unique_name = 'module_icon';
|
||||
SET @description = 'Icon and module value';
|
||||
SET @page = 'module_icon.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ModuleStatusWidget';
|
||||
SET @unique_name = 'module_status';
|
||||
SET @description = 'Module status';
|
||||
SET @page = 'module_status.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ModuleTableValueWidget';
|
||||
SET @unique_name = 'module_table_value';
|
||||
SET @description = 'Module in a table';
|
||||
SET @page = 'module_table_value.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ModuleValueWidget';
|
||||
SET @unique_name = 'module_value';
|
||||
SET @description = 'Module value';
|
||||
SET @page = 'module_value.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'MonitorHealthWidget';
|
||||
SET @unique_name = 'monitor_health';
|
||||
SET @description = 'Global health info';
|
||||
SET @page = 'monitor_health.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'Netflow';
|
||||
SET @unique_name = 'netflow';
|
||||
SET @description = 'Netflow';
|
||||
SET @page = 'netflow.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'NetworkMapWidget';
|
||||
SET @unique_name = 'network_map';
|
||||
SET @description = 'Network map';
|
||||
SET @page = 'network_map.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'OsQuickReportWidget';
|
||||
SET @unique_name = 'os_quick_report';
|
||||
SET @description = 'OS quick report';
|
||||
SET @page = 'os_quick_report.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'PostWidget';
|
||||
SET @unique_name = 'post';
|
||||
SET @description = 'Panel with a message';
|
||||
SET @page = 'post.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ReportsWidget';
|
||||
SET @unique_name = 'reports';
|
||||
SET @description = 'Custom report';
|
||||
SET @page = 'reports.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ServiceMapWidget';
|
||||
SET @unique_name = 'service_map';
|
||||
SET @description = 'Service map';
|
||||
SET @page = 'service_map.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'ServiceViewWidget';
|
||||
SET @unique_name = 'service_view';
|
||||
SET @description = 'Services view';
|
||||
SET @page = 'service_view.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'SingleGraphWidget';
|
||||
SET @unique_name = 'single_graph';
|
||||
SET @description = 'Agent module graph';
|
||||
SET @page = 'single_graph.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'SLAPercentWidget';
|
||||
SET @unique_name = 'sla_percent';
|
||||
SET @description = 'SLA percentage';
|
||||
SET @page = 'sla_percent.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'SystemGroupStatusWidget';
|
||||
SET @unique_name = 'system_group_status';
|
||||
SET @description = 'Groups status';
|
||||
SET @page = 'system_group_status.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'TacticalWidget';
|
||||
SET @unique_name = 'tactical';
|
||||
SET @description = 'Tactical view';
|
||||
SET @page = 'tactical.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'TopNWidget';
|
||||
SET @unique_name = 'top_n';
|
||||
SET @description = 'Top N of agent modules';
|
||||
SET @page = 'top_n.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'TopNEventByGroupWidget';
|
||||
SET @unique_name = 'top_n_events_by_group';
|
||||
SET @description = 'Top N events by agent';
|
||||
SET @page = 'top_n_events_by_group.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'TopNEventByModuleWidget';
|
||||
SET @unique_name = 'top_n_events_by_module';
|
||||
SET @description = 'Top N events by module';
|
||||
SET @page = 'top_n_events_by_module.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'TreeViewWidget';
|
||||
SET @unique_name = 'tree_view';
|
||||
SET @description = 'Tree view';
|
||||
SET @page = 'tree_view.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'UrlWidget';
|
||||
SET @unique_name = 'url';
|
||||
SET @description = 'URL content';
|
||||
SET @page = 'url.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'WuxWidget';
|
||||
SET @unique_name = 'wux_transaction';
|
||||
SET @description = 'Agent WUX transaction';
|
||||
SET @page = 'wux_transaction.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'WuxStatsWidget';
|
||||
SET @unique_name = 'wux_transaction_stats';
|
||||
SET @description = 'WUX transaction stats';
|
||||
SET @page = 'wux_transaction_stats.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
SET @class_name = 'SecurityHardening';
|
||||
SET @unique_name = 'security_hardening';
|
||||
SET @description = 'Security Hardening';
|
||||
SET @page = 'security_hardening.php';
|
||||
SET @widget_id = NULL;
|
||||
SELECT @widget_id := `id` FROM `twidget` WHERE `unique_name` = @unique_name;
|
||||
INSERT IGNORE INTO `twidget` (`id`,`class_name`,`unique_name`,`description`,`options`,`page`) VALUES (@widget_id,@class_name,@unique_name,@description,'',@page);
|
||||
|
||||
DELETE FROM `tconfig` WHERE `token` LIKE 'translate_string_extension_installed';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `textension_translate_string` (
|
||||
|
|
|
@ -498,6 +498,9 @@ if ($access_console_node === true) {
|
|||
$sub2['godmode/setup/setup§ion=welcome_tips']['text'] = __('Welcome Tips');
|
||||
$sub2['godmode/setup/setup§ion=welcome_tips']['refr'] = 0;
|
||||
|
||||
$sub2['godmode/setup/setup§ion=demo_data']['text'] = __('Demo data');
|
||||
$sub2['godmode/setup/setup§ion=demo_data']['refr'] = 0;
|
||||
|
||||
if ((bool) $config['activate_gis'] === true) {
|
||||
$sub2['godmode/setup/setup§ion=gis']['text'] = __('Map conections GIS');
|
||||
}
|
||||
|
|
|
@ -0,0 +1,878 @@
|
|||
<?php
|
||||
/**
|
||||
* Enterprise Main Setup.
|
||||
*
|
||||
* @category Setup
|
||||
* @package Pandora FMS
|
||||
* @subpackage Enterprise
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2007-2023 Pandora FMS, http://www.pandorafms.com
|
||||
* This code is NOT free software. This code is NOT licenced under GPL2 licence
|
||||
* You cannnot redistribute it without written permission of copyright holder.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
global $config;
|
||||
global $table;
|
||||
|
||||
check_login();
|
||||
|
||||
if (users_is_admin() === false) {
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access demo data manager'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
||||
html_print_input_hidden('demo_items_count', 0);
|
||||
|
||||
$display_loading = (bool) get_parameter('display_loading', 0);
|
||||
|
||||
$agents_num = (int) get_parameter('agents_num', 30);
|
||||
$create_data = (bool) get_parameter('create_data', false);
|
||||
$delete_data = (bool) get_parameter('delete_data', false);
|
||||
|
||||
$def_value = 0;
|
||||
if ($create_data === false) {
|
||||
$def_value = 1;
|
||||
}
|
||||
|
||||
$adv_options_is_enabled = get_parameter('toggle_adv_opts', 0);
|
||||
$days_hist_data = (int) get_parameter('days_hist_data', 15);
|
||||
$interval = get_parameter('interval', 300);
|
||||
$service_agent_name = get_parameter('service_agent_name', 'demo-global-agent-1');
|
||||
|
||||
// Map directory and demo item ID.
|
||||
$dir_item_id_map = [
|
||||
DEMO_CUSTOM_GRAPH => 'graphs',
|
||||
DEMO_NETWORK_MAP => 'network_maps',
|
||||
DEMO_GIS_MAP => 'gis_maps',
|
||||
DEMO_SERVICE => 'services',
|
||||
DEMO_REPORT => 'reports',
|
||||
DEMO_DASHBOARD => 'dashboards',
|
||||
DEMO_VISUAL_CONSOLE => 'visual_consoles',
|
||||
];
|
||||
|
||||
$enabled_items = [
|
||||
'graphs' => (int) get_parameter('enable_cg', $def_value),
|
||||
'network_maps' => (int) get_parameter('enable_nm', $def_value),
|
||||
'gis_maps' => (int) get_parameter('enable_gis', $def_value),
|
||||
'services' => (int) get_parameter('enable_services', $def_value),
|
||||
'reports' => (int) get_parameter('enable_rep', $def_value),
|
||||
'dashboards' => (int) get_parameter('enable_dashboards', $def_value),
|
||||
'visual_consoles' => (int) get_parameter('enable_vc', $def_value),
|
||||
'enable_history' => (int) get_parameter('enable_history', 0),
|
||||
];
|
||||
|
||||
$generate_hist = (int) get_parameter('enable_history', $def_value);
|
||||
|
||||
$plugin_agent = get_parameter('plugin_agent', 'demo-global-agent-1');
|
||||
$traps_target_ip = get_parameter('traps_target_ip', '127.0.0.1');
|
||||
$traps_community = get_parameter('traps_community', 'public');
|
||||
$tentacle_target_ip = get_parameter('tentacle_target_ip', '127.0.0.1');
|
||||
$tentacle_port = get_parameter('tentacle_port', '41121');
|
||||
$tentacle_extra_options = get_parameter('tentacle_extra_options', '');
|
||||
|
||||
$demo_items_count = (int) db_get_value('count(*)', 'tdemo_data');
|
||||
|
||||
$current_progress_val = db_get_value_filter(
|
||||
'value',
|
||||
'tconfig',
|
||||
['token' => 'demo_data_load_progress'],
|
||||
'AND',
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
$current_progress_val_delete = db_get_value_filter(
|
||||
'value',
|
||||
'tconfig',
|
||||
['token' => 'demo_data_delete_progress'],
|
||||
'AND',
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
$running_create = ($current_progress_val > 0 && $current_progress_val < 100);
|
||||
$running_delete = ($current_progress_val_delete > 0 && $current_progress_val_delete < 100);
|
||||
|
||||
// Real time loading.
|
||||
if ($display_loading === true || $running_create === true || $running_delete) {
|
||||
$table_load = new stdClass();
|
||||
$table_load->id = 'table-demo';
|
||||
$table_load->class = 'filter-table-adv';
|
||||
$table_load->width = '100%';
|
||||
$table_load->data = [];
|
||||
$table_load->size = [];
|
||||
$table_load->size[0] = '50%';
|
||||
$table_load->size[1] = '50%';
|
||||
|
||||
$table_load->data['row0'][] = progress_bar(
|
||||
0,
|
||||
100,
|
||||
20,
|
||||
'',
|
||||
0,
|
||||
false,
|
||||
((int) 0 !== -1) ? false : '#f3b200',
|
||||
[
|
||||
'class' => 'progress_bar',
|
||||
'id' => 'progress_bar',
|
||||
]
|
||||
).html_print_input_hidden('js_timer_'.$operation['id'], 0, true);
|
||||
|
||||
if ($create_data === true || $running_create === true) {
|
||||
// Map demo item ID to display name in page.
|
||||
$items_ids_text_map = [
|
||||
DEMO_AGENT => 'agents',
|
||||
DEMO_SERVICE => 'services',
|
||||
DEMO_NETWORK_MAP => 'network maps',
|
||||
DEMO_GIS_MAP => 'GIS maps',
|
||||
DEMO_CUSTOM_GRAPH => 'custom graphs',
|
||||
DEMO_REPORT => 'custom reports',
|
||||
DEMO_VISUAL_CONSOLE => 'visual consoles',
|
||||
DEMO_DASHBOARD => 'dashboards',
|
||||
];
|
||||
|
||||
if ((bool) $adv_options_is_enabled === true) {
|
||||
$enabled_keys = array_keys(array_filter($enabled_items));
|
||||
$items_ids_text_map = array_filter(
|
||||
$items_ids_text_map,
|
||||
function ($k) use ($dir_item_id_map, $enabled_keys) {
|
||||
return in_array($dir_item_id_map[$k], $enabled_keys);
|
||||
},
|
||||
ARRAY_FILTER_USE_KEY
|
||||
);
|
||||
}
|
||||
|
||||
if (enterprise_installed() === false) {
|
||||
unset($items_ids_text_map[DEMO_SERVICE]);
|
||||
}
|
||||
|
||||
$items_ids_text_map[DEMO_PLUGIN] = 'plugin';
|
||||
$items_ids_text_map = ([DEMO_AGENT => 'agents'] + $items_ids_text_map);
|
||||
|
||||
$list_mkup = '<ul id="load-info">';
|
||||
foreach ($items_ids_text_map as $item_id => $item_text) {
|
||||
$list_mkup .= '<li data-item-id="'.$item_id.'">';
|
||||
$list_mkup .= '<div class="inline vertical_middle w20px h20px" style="margin-right: 10px;">'.html_print_image(
|
||||
'images/icono-unknown.png',
|
||||
true,
|
||||
[
|
||||
'title' => __('View'),
|
||||
'class' => 'icon w100p h100p',
|
||||
]
|
||||
).'</div>';
|
||||
$list_mkup .= '<span class="inline vertical_middle">Create demo '.$item_text.'</span>';
|
||||
$list_mkup .= '<ul class="error-list error margin-bottom-10" style="margin-left: 35px;">';
|
||||
$list_mkup .= '</ul>';
|
||||
$list_mkup .= '</li>';
|
||||
}
|
||||
|
||||
$list_mkup .= '</ul>';
|
||||
}
|
||||
|
||||
echo '<form class="max_floating_element_size" method="post">';
|
||||
echo '<fieldset>';
|
||||
echo '<legend>'.__('Progress').'</legend>';
|
||||
html_print_table($table_load);
|
||||
echo $list_mkup;
|
||||
|
||||
echo '</fieldset>';
|
||||
|
||||
if ($create_data === true || $running_create === true) {
|
||||
$btn_span = __('View summary');
|
||||
$icon = 'next';
|
||||
} else {
|
||||
$btn_span = __('Back');
|
||||
$icon = 'back';
|
||||
}
|
||||
|
||||
|
||||
$action_btns = html_print_action_buttons(
|
||||
html_print_submit_button(
|
||||
$btn_span,
|
||||
'redirect_button',
|
||||
false,
|
||||
[
|
||||
'icon' => $icon,
|
||||
],
|
||||
true
|
||||
),
|
||||
[],
|
||||
true
|
||||
);
|
||||
|
||||
// Only rendered when data creation has been completed.
|
||||
html_print_div(
|
||||
[
|
||||
'id' => 'action-btns-loading-done',
|
||||
'class' => 'invisible',
|
||||
'content' => $action_btns,
|
||||
]
|
||||
);
|
||||
|
||||
echo '</form>';
|
||||
} else {
|
||||
// Configuration.
|
||||
if ($demo_items_count === 0) {
|
||||
$table_aux = new stdClass();
|
||||
$table_aux->id = 'table-demo';
|
||||
$table_aux->class = 'filter-table-adv';
|
||||
$table_aux->width = '100%';
|
||||
$table_aux->data = [];
|
||||
$table_aux->size = [];
|
||||
$table_aux->size[0] = '50%';
|
||||
$table_aux->size[1] = '50%';
|
||||
|
||||
$agent_sel_values = [
|
||||
30 => '30',
|
||||
50 => '50',
|
||||
500 => '500',
|
||||
1000 => '1000',
|
||||
2000 => '2000',
|
||||
];
|
||||
|
||||
$agent_num = (int) get_parameter('agents_num');
|
||||
|
||||
$otherData = [];
|
||||
$table_aux->data['row1'][] = html_print_label_input_block(
|
||||
__('Agents').ui_print_help_tip(__('You may need to increase the value of the plugin_timeout parameter in your server configuration to get all your agents data updated'), true),
|
||||
html_print_div(
|
||||
[
|
||||
'class' => '',
|
||||
'content' => html_print_select(
|
||||
$agent_sel_values,
|
||||
'agents_num',
|
||||
$agents_num,
|
||||
'',
|
||||
'',
|
||||
30,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'w80px'
|
||||
),
|
||||
],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_aux->data['row2'][] = html_print_label_input_block(
|
||||
__('Advanced options'),
|
||||
html_print_checkbox_switch(
|
||||
'toggle_adv_opts',
|
||||
1,
|
||||
false,
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv = new stdClass();
|
||||
$table_adv->id = 'table-adv';
|
||||
$table_adv->class = 'filter-table-adv';
|
||||
$table_adv->width = '100%';
|
||||
$table_adv->data = [];
|
||||
$table_adv->size = [];
|
||||
$table_adv->size[0] = '50%';
|
||||
$table_adv->size[1] = '50%';
|
||||
|
||||
$interval_select = html_print_extended_select_for_time(
|
||||
'interval',
|
||||
$interval,
|
||||
'',
|
||||
'',
|
||||
'0',
|
||||
10,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'w20p'
|
||||
);
|
||||
|
||||
$table_adv->data['row0'][] = html_print_label_input_block(
|
||||
__('Agents interval'),
|
||||
$interval_select
|
||||
);
|
||||
|
||||
$table_adv->data['row1'][] = html_print_label_input_block(
|
||||
__('Generate historical data for all agents'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_history',
|
||||
1,
|
||||
(bool) $generate_hist,
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row2'][] = html_print_label_input_block(
|
||||
__('Days of historical data to insert in the agent data'),
|
||||
html_print_input_text(
|
||||
'days_hist_data',
|
||||
$days_hist_data,
|
||||
'',
|
||||
10,
|
||||
20,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w80px'
|
||||
)
|
||||
);
|
||||
|
||||
if (enterprise_installed() === true) {
|
||||
$table_adv->data['row3'][] = html_print_label_input_block(
|
||||
__('Create services'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_services',
|
||||
1,
|
||||
$enabled_items['services'],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
$table_adv->data['row4'][] = html_print_label_input_block(
|
||||
__('Services agent name').ui_print_help_tip(__('If not set, %s will be used as the default agent', 'demo-global-agent-1'), true),
|
||||
html_print_input_text(
|
||||
'service_agent_name',
|
||||
$service_agent_name,
|
||||
'',
|
||||
50,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w300px'
|
||||
)
|
||||
);
|
||||
*/
|
||||
}
|
||||
|
||||
$table_adv->data['row5'][] = html_print_label_input_block(
|
||||
__('Create network maps'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_nm',
|
||||
1,
|
||||
$enabled_items['network_maps'],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row6'][] = html_print_label_input_block(
|
||||
__('Create GIS maps'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_gis',
|
||||
1,
|
||||
$enabled_items['gis_maps'],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row7'][] = html_print_label_input_block(
|
||||
__('Create custom graphs'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_cg',
|
||||
1,
|
||||
$enabled_items['graphs'],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row8'][] = html_print_label_input_block(
|
||||
__('Create reports'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_rep',
|
||||
1,
|
||||
$enabled_items['reports'],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row9'][] = html_print_label_input_block(
|
||||
__('Create visual consoles'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_vc',
|
||||
1,
|
||||
$enabled_items['visual_consoles'],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row10'][] = html_print_label_input_block(
|
||||
__('Create dashboards'),
|
||||
html_print_checkbox_switch(
|
||||
'enable_dashboards',
|
||||
1,
|
||||
$enabled_items['dashboards'],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
/*
|
||||
$table_adv->data['row11'][] = html_print_label_input_block(
|
||||
__('Demo data plugin agent'),
|
||||
html_print_input_text(
|
||||
'plugin_agent',
|
||||
$plugin_agent,
|
||||
'',
|
||||
50,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w300px'
|
||||
)
|
||||
);
|
||||
*/
|
||||
|
||||
$table_adv->data['row12'][] = html_print_label_input_block(
|
||||
__('Traps target IP').ui_print_help_tip(__('All demo traps are generated using version 1'), true),
|
||||
html_print_input_text(
|
||||
'traps_target_ip',
|
||||
$traps_target_ip,
|
||||
'',
|
||||
50,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w300px'
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row13'][] = html_print_label_input_block(
|
||||
__('Traps community'),
|
||||
html_print_input_text(
|
||||
'traps_community',
|
||||
$traps_community,
|
||||
'',
|
||||
50,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w300px'
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row14'][] = html_print_label_input_block(
|
||||
__('Tentacle target IP'),
|
||||
html_print_input_text(
|
||||
'tentacle_target_ip',
|
||||
$tentacle_target_ip,
|
||||
'',
|
||||
50,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w300px'
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row15'][] = html_print_label_input_block(
|
||||
__('Tentacle port'),
|
||||
html_print_input_text(
|
||||
'tentacle_port',
|
||||
$tentacle_port,
|
||||
'',
|
||||
50,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w300px'
|
||||
)
|
||||
);
|
||||
|
||||
$table_adv->data['row16'][] = html_print_label_input_block(
|
||||
__('Tentacle extra options'),
|
||||
html_print_input_text(
|
||||
'tentacle_extra_options',
|
||||
$tentacle_extra_options,
|
||||
'',
|
||||
50,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w300px'
|
||||
)
|
||||
);
|
||||
|
||||
echo '<form class="max_floating_element_size" id="form_setup" method="post">';
|
||||
echo '<fieldset>';
|
||||
echo '<legend>'.__('Configure demo data').'</legend>';
|
||||
html_print_input_hidden('create_data', 1);
|
||||
html_print_input_hidden('display_loading', 1);
|
||||
html_print_table($table_aux);
|
||||
html_print_div(
|
||||
[
|
||||
'class' => 'invisible',
|
||||
'content' => html_print_table($table_adv),
|
||||
],
|
||||
true
|
||||
);
|
||||
echo '</fieldset>';
|
||||
|
||||
$actionButtons = [];
|
||||
|
||||
$actionButtons[] = html_print_submit_button(
|
||||
__('Create demo data'),
|
||||
'create_button',
|
||||
false,
|
||||
[
|
||||
'icon' => 'update',
|
||||
'fixed_id' => 'btn-create-demo-data',
|
||||
],
|
||||
true
|
||||
);
|
||||
|
||||
// echo '<div id="btn-set" style="display:none;">';
|
||||
|
||||
html_print_action_buttons(
|
||||
implode('', $actionButtons)
|
||||
);
|
||||
|
||||
// echo '</div>';
|
||||
|
||||
echo '</form>';
|
||||
} else {
|
||||
// Summary data.
|
||||
$demo_agents_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'tagente');
|
||||
$demo_services_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'tservice');
|
||||
$demo_nm_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'tmap');
|
||||
$demo_gis_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'tgis_map');
|
||||
$demo_cg_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'tgraph');
|
||||
$demo_rep_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'treport');
|
||||
$demo_vc_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'tlayout');
|
||||
$demo_dashboards_count = (int) db_get_value('count(*)', 'tdemo_data', 'table_name', 'tdashboard');
|
||||
|
||||
$table_summary = new stdClass();
|
||||
$table_summary->id = 'table-summary';
|
||||
$table_summary->class = 'filter-table-adv';
|
||||
$table_summary->width = '100%';
|
||||
$table_summary->data = [];
|
||||
$table_summary->size = [];
|
||||
$table_summary->size[0] = '50%';
|
||||
$table_summary->size[1] = '50%';
|
||||
|
||||
$i = 0;
|
||||
$table_summary->data[$i][0] = __('Agents');
|
||||
$table_summary->data[$i][1] = ($demo_agents_count > 0) ? $demo_agents_count : '-';
|
||||
$i++;
|
||||
|
||||
if (enterprise_installed() === true) {
|
||||
$table_summary->data[$i][0] = __('Services');
|
||||
$table_summary->data[$i][1] = ($demo_services_count > 0) ? $demo_services_count : '-';
|
||||
$i++;
|
||||
}
|
||||
|
||||
$i++;
|
||||
$table_summary->data[$i][0] = __('Network maps');
|
||||
$table_summary->data[$i][1] = ($demo_nm_count > 0) ? $demo_nm_count : '-';
|
||||
$i++;
|
||||
$table_summary->data[$i][0] = __('GIS maps');
|
||||
$table_summary->data[$i][1] = ($demo_gis_count > 0) ? $demo_gis_count : '-';
|
||||
$i++;
|
||||
$table_summary->data[$i][0] = __('Custom graphs');
|
||||
$table_summary->data[$i][1] = ($demo_cg_count > 0) ? $demo_cg_count : '-';
|
||||
$i++;
|
||||
$table_summary->data[$i][0] = __('Custom reports');
|
||||
$table_summary->data[$i][1] = ($demo_rep_count > 0) ? $demo_rep_count : '-';
|
||||
$i++;
|
||||
$table_summary->data[$i][0] = __('Visual consoles');
|
||||
$table_summary->data[$i][1] = ($demo_vc_count > 0) ? $demo_vc_count : '-';
|
||||
$i++;
|
||||
$table_summary->data[$i][0] = __('Dashboards');
|
||||
$table_summary->data[$i][1] = ($demo_dashboards_count > 0) ? $demo_dashboards_count : '-';
|
||||
|
||||
echo '<form class="max_floating_element_size" method="post">';
|
||||
echo '<fieldset>';
|
||||
echo '<legend>'.__('Active demo data summary').'</legend>';
|
||||
html_print_table($table_summary);
|
||||
echo '</fieldset>';
|
||||
|
||||
html_print_input_hidden('delete_data', 1);
|
||||
html_print_input_hidden('display_loading', 1);
|
||||
|
||||
html_print_action_buttons(
|
||||
html_print_submit_button(
|
||||
__('Delete all demo data'),
|
||||
'delete_button',
|
||||
false,
|
||||
[
|
||||
'icon' => 'delete',
|
||||
'mode' => 'secondary',
|
||||
'fixed_id' => 'btn-delete-demo-data',
|
||||
],
|
||||
true
|
||||
)
|
||||
);
|
||||
echo '</form>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
function active_button_add_agent() {
|
||||
$("#button-add_agent").prop("disabled", false);
|
||||
}
|
||||
|
||||
$(document).ready (function () {
|
||||
var demo_items_count = <?php echo $demo_items_count; ?>;
|
||||
var agent_count_span_str = '<?php echo __('demo agents currently in the system'); ?>';
|
||||
var agents_str = '<?php echo __('agents'); ?>';
|
||||
|
||||
var display_progress_bar_cr = <?php echo (int) $running_create; ?>;
|
||||
|
||||
if (display_progress_bar_cr == 1) {
|
||||
init_progress_bar('create');
|
||||
}
|
||||
|
||||
var display_progress_bar_del = <?php echo (int) $running_delete; ?>;
|
||||
|
||||
if (display_progress_bar_del == 1) {
|
||||
init_progress_bar('cleanup');
|
||||
}
|
||||
|
||||
$("#table-adv").hide();
|
||||
|
||||
$('#checkbox-toggle_adv_opts').change(function() {
|
||||
if ($(this).is(':checked') === true) {
|
||||
$("#table-adv").show();
|
||||
} else {
|
||||
$("#table-adv").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#table-adv-row2').hide();
|
||||
if ($('#checkbox-enable_history').is(':checked') === true) {
|
||||
$('#table-adv-row2').show();
|
||||
}
|
||||
|
||||
$('#checkbox-enable_history').change(function() {
|
||||
if ($(this).is(':checked') === true) {
|
||||
$('#table-adv-row2').show();
|
||||
} else {
|
||||
$('#table-adv-row2').hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#table-adv-row4').hide();
|
||||
if ($('#checkbox-enable_services').is(':checked') === true) {
|
||||
$('#table-adv-row4').show();
|
||||
}
|
||||
|
||||
$('#checkbox-enable_services').change(function() {
|
||||
if ($(this).is(':checked') === true) {
|
||||
$('#table-adv-row4').show();
|
||||
} else {
|
||||
$('#table-adv-row4').hide();
|
||||
}
|
||||
});
|
||||
|
||||
var create_data = '<?php echo $create_data; ?>';
|
||||
var delete_data = '<?php echo $delete_data; ?>';
|
||||
|
||||
// Creation operation must be done via AJAX in order to be able to run the operations in background
|
||||
// and keep it running even if we quit the page.
|
||||
if (create_data == true) {
|
||||
init_progress_bar('create');
|
||||
|
||||
var params = {};
|
||||
params["action"] = "create_demo_data";
|
||||
params["page"] = "include/ajax/demo_data.ajax";
|
||||
params["agents_num"] = <?php echo $agents_num; ?>;
|
||||
params["adv_options_is_enabled"] = <?php echo $adv_options_is_enabled; ?>;
|
||||
params["enabled_items"] = <?php echo json_encode($enabled_items); ?>;
|
||||
params["days_hist_data"] = <?php echo $days_hist_data; ?>;
|
||||
params["interval"] = <?php echo $interval; ?>;
|
||||
params["plugin_agent"] = "<?php echo $plugin_agent; ?>";
|
||||
params["traps_target_ip"] = "<?php echo $traps_target_ip; ?>";
|
||||
params["traps_community"] = "<?php echo $traps_community; ?>";
|
||||
params["tentacle_target_ip"] = "<?php echo $tentacle_target_ip; ?>";
|
||||
params["tentacle_port"] = <?php echo $tentacle_port; ?>;
|
||||
params["tentacle_extra_options"] = "<?php echo $tentacle_extra_options; ?>";
|
||||
params["service_agent_name"] = "<?php echo $service_agent_name; ?>";
|
||||
|
||||
jQuery.ajax({
|
||||
data: params,
|
||||
type: "POST",
|
||||
url: "ajax.php",
|
||||
dataType: 'json'
|
||||
});
|
||||
}
|
||||
|
||||
// Delete operation must be done via AJAX in order to be able to run the operations in background
|
||||
// and keep it running even if we quit the page.
|
||||
if (delete_data == true) {
|
||||
/// $("#table-demo-row2").show();
|
||||
init_progress_bar('cleanup');
|
||||
|
||||
var params = {};
|
||||
params["action"] = "cleanup_demo_data";
|
||||
params["page"] = "include/ajax/demo_data.ajax";
|
||||
|
||||
jQuery.ajax({
|
||||
data: params,
|
||||
type: "POST",
|
||||
url: "ajax.php",
|
||||
success: function(data) {
|
||||
//$('#action-btns-loading-done').show();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var items_checked = [];
|
||||
|
||||
function demo_load_progress(id_queue, operation) {
|
||||
if (id_queue == null)
|
||||
return;
|
||||
|
||||
var src_code = $('#' + id_queue).attr("src");
|
||||
/* Check stop begin */
|
||||
var progress_src = null;
|
||||
var elements_src = src_code.split("&");
|
||||
|
||||
$.each(elements_src, function (key, value) {
|
||||
/* Get progress of element */
|
||||
if (value.indexOf("progress=") != -1) {
|
||||
var tokens_src = value.split("=");
|
||||
progress_src = tokens_src[1];
|
||||
}
|
||||
});
|
||||
|
||||
/* STOP timer condition (progress >= 100) */
|
||||
if (progress_src >= 100) {
|
||||
clearInterval($("#hidden-js_timer_" + id_queue).val());
|
||||
return;
|
||||
}
|
||||
|
||||
var params = {};
|
||||
params["action"] = "get_progress_bar";
|
||||
params["operation"] = operation;
|
||||
if (operation == 'cleanup') {
|
||||
var demo_items_count = '<?php echo $demo_items_count; ?>';
|
||||
params["demo_items_to_cleanup"] = demo_items_count;
|
||||
}
|
||||
params["page"] = "include/ajax/demo_data.ajax";
|
||||
params["id_queue"] = id_queue;
|
||||
|
||||
jQuery.ajax({
|
||||
data: params,
|
||||
type: "POST",
|
||||
url: "ajax.php",
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
progress_tag_pos = src_code.indexOf("progress=");
|
||||
rest_pos = src_code.indexOf("&", progress_tag_pos);
|
||||
|
||||
pre_src = src_code.substr(0,progress_tag_pos);
|
||||
post_src = src_code.substr(rest_pos);
|
||||
|
||||
/* Create new src code for progress bar */
|
||||
new_src_code = pre_src + "progress=" + data.current_progress_val + post_src;
|
||||
|
||||
if (data.current_progress_val != '')
|
||||
$('#' + id_queue).attr("src", new_src_code);
|
||||
|
||||
if (data.current_progress_val == 100)
|
||||
$('#action-btns-loading-done').show();
|
||||
|
||||
if (operation == 'create') {
|
||||
var status_data = data?.demo_data_load_status;
|
||||
|
||||
status_data.checked_items?.forEach(function(item_id) {
|
||||
if (items_checked.includes(item_id)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof status_data !== 'undefined'
|
||||
&& typeof status_data.errors !== 'undefined'
|
||||
&& typeof status_data.errors[item_id] !== 'undefined'
|
||||
&& status_data.errors[item_id].length > 0
|
||||
) {
|
||||
status_data.errors[item_id].forEach(function(error_msg) {
|
||||
update_demo_status_icon(item_id, 'images/fail_circle_big.png');
|
||||
print_error(item_id, error_msg);
|
||||
});
|
||||
} else {
|
||||
update_demo_status_icon(item_id, 'images/success_circle_big.png');
|
||||
}
|
||||
items_checked.push(item_id);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function init_progress_bar(operation) {
|
||||
/* Get progress bar */
|
||||
var elements = $(".progress_bar");
|
||||
$.each(elements, function (key, progress_bar) {
|
||||
var elements_bar = $(progress_bar).attr("src").split("&");
|
||||
var current_progress = null;
|
||||
$.each(elements_bar, function (key, value) {
|
||||
/* Get progress */
|
||||
if (value.indexOf("progress=") != -1) {
|
||||
var tokens = value.split("=");
|
||||
current_progress = tokens[1];
|
||||
}
|
||||
});
|
||||
|
||||
/* Get Queue id */
|
||||
var id_bar = $(progress_bar).attr("id");
|
||||
clearInterval($("#hidden-js_timer_" + id_bar).val());
|
||||
|
||||
/* Only autorefresh incomplete bars */
|
||||
if (current_progress < 100) {
|
||||
/* 1 seconds between ajax request */
|
||||
var id_interval = setInterval("demo_load_progress('"+ id_bar +"','"+operation+"')", (1 * 1000));
|
||||
/* This will keep timer info */
|
||||
$("#hidden-js_timer_" + id_bar).val(id_interval);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function update_demo_status_icon(itemId, iconName) {
|
||||
var $listItem = $(`[data-item-id="${itemId}"]`);
|
||||
var $icon = $listItem.find('.icon');
|
||||
|
||||
$icon.attr('src', iconName);
|
||||
}
|
||||
|
||||
function print_error(item_id, error_msg) {
|
||||
var error_list_item = $('<li>', {
|
||||
text: error_msg
|
||||
});
|
||||
|
||||
// Append the new item to the corresponding error-list ul.
|
||||
$('#load-info li[data-item-id="' + item_id + '"] .error-list').append(error_list_item);
|
||||
}
|
||||
</script>
|
|
@ -243,6 +243,11 @@ $buttons['welcome_tips'] = [
|
|||
'text' => '<a href="'.ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/setup§ion=welcome_tips').'">'.html_print_image('images/inventory.png', true, ['title' => __('Welcome tips'), 'class' => 'invert_filter']).'</a>',
|
||||
];
|
||||
|
||||
$buttons['demo_data'] = [
|
||||
'active' => false,
|
||||
'text' => '<a href="'.ui_get_full_url('index.php?sec=gsetup&sec2=godmode/setup/setup§ion=demo_data').'">'.html_print_image('images/demo_data.png', true, ['title' => __('Demo data'), 'class' => 'invert_filter']).'</a>',
|
||||
];
|
||||
|
||||
if ($config['activate_gis']) {
|
||||
$buttons['gis'] = [
|
||||
'active' => false,
|
||||
|
@ -351,6 +356,12 @@ switch ($section) {
|
|||
$help_header = '';
|
||||
break;
|
||||
|
||||
case 'demo_data':
|
||||
$buttons['demo_data']['active'] = true;
|
||||
$subpage = __('Demo data');
|
||||
$help_header = '';
|
||||
break;
|
||||
|
||||
case 'enterprise':
|
||||
$buttons['enterprise']['active'] = true;
|
||||
$subpage = __('Enterprise');
|
||||
|
@ -470,6 +481,10 @@ switch ($section) {
|
|||
include_once $config['homedir'].'/godmode/setup/welcome_tips.php';
|
||||
break;
|
||||
|
||||
case 'demo_data':
|
||||
include_once $config['homedir'].'/godmode/setup/demo.php';
|
||||
break;
|
||||
|
||||
default:
|
||||
enterprise_hook('setup_enterprise_select_tab', [$section]);
|
||||
break;
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 655 B |
File diff suppressed because it is too large
Load Diff
|
@ -581,6 +581,7 @@ class WelcomeWindow extends Wizard
|
|||
],
|
||||
];
|
||||
|
||||
$fields['load_demo_data'] = __('Load demo data');
|
||||
$fields['wizard_agent'] = __('Agent installation wizard');
|
||||
$fields['check_web'] = __('Create WEB monitoring');
|
||||
$fields['check_connectivity'] = __('Create network monitoring');
|
||||
|
@ -698,6 +699,52 @@ class WelcomeWindow extends Wizard
|
|||
echo html_print_submit_button(__('Create'), 'create_goliat', false, ['icon' => 'next', 'style' => 'margin-top:15px; float:right;']);
|
||||
?>
|
||||
</div>
|
||||
<div id="dialog_demo" class="invisible">
|
||||
<?php
|
||||
$agent_sel_values = [
|
||||
30 => '30',
|
||||
50 => '50',
|
||||
500 => '500',
|
||||
1000 => '1000',
|
||||
2000 => '2000',
|
||||
];
|
||||
|
||||
echo '<form action="index.php?sec=gsetup&sec2=godmode/setup/setup§ion=demo_data" method="post">';
|
||||
echo html_print_input_hidden('create_data', 1, true);
|
||||
echo html_print_input_hidden('display_loading', 1, true);
|
||||
echo html_print_div(
|
||||
[
|
||||
'class' => '',
|
||||
'content' => 'This wizard will create a complete data set, with history, reports, visual consoles, dashboard and network maps so you can explore the power of Pandora FMS. You will be able to configure it and delete the demo data in the setup.<br><br>'
|
||||
],
|
||||
true
|
||||
);
|
||||
echo html_print_label_input_block(
|
||||
__('Number of agents to be created'),
|
||||
html_print_div(
|
||||
[
|
||||
'class' => '',
|
||||
'content' => html_print_select(
|
||||
$agent_sel_values,
|
||||
'agents_num',
|
||||
$agents_num,
|
||||
'',
|
||||
'',
|
||||
30,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'w100px'
|
||||
),
|
||||
],
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
echo html_print_submit_button(__('Create'), 'create_demo_data', false, ['icon' => 'next', 'style' => 'margin-top:15px; float:right;']);
|
||||
echo '</form>';
|
||||
?>
|
||||
</div>
|
||||
<div id="dialog_connectivity" class="invisible">
|
||||
<?php
|
||||
echo html_print_input_hidden('check_connectivity', 1);
|
||||
|
@ -1111,6 +1158,9 @@ class WelcomeWindow extends Wizard
|
|||
alert("<?php echo __('You must chose an option'); ?>");
|
||||
} else {
|
||||
switch($('#task_to_perform :selected').val()) {
|
||||
case 'load_demo_data':
|
||||
openCreateDemoDataDialog();
|
||||
break;
|
||||
case 'wizard_agent':
|
||||
deployAgent();
|
||||
break;
|
||||
|
@ -1168,6 +1218,23 @@ class WelcomeWindow extends Wizard
|
|||
.show();
|
||||
}
|
||||
|
||||
function openCreateDemoDataDialog() {
|
||||
$('#dialog_demo').dialog({
|
||||
title: '<?php echo __('Create demo data'); ?>',
|
||||
resizable: true,
|
||||
draggable: true,
|
||||
modal: true,
|
||||
close: false,
|
||||
height: 265,
|
||||
width: 480,
|
||||
overlay: {
|
||||
opacity: 0.5,
|
||||
background: "black"
|
||||
}
|
||||
})
|
||||
.show();
|
||||
}
|
||||
|
||||
function openCreateConnectivityDialog() {
|
||||
$('#dialog_connectivity').dialog({
|
||||
title: '<?php echo __('Create network monitoring'); ?>',
|
||||
|
|
|
@ -895,3 +895,14 @@ define('HOME_SCREEN_DASHBOARD', 'dashboard');
|
|||
// Alert correlation.
|
||||
define('EVENT_ALERTS', 1);
|
||||
define('LOG_ALERTS', 2);
|
||||
|
||||
// Demo items IDs.
|
||||
define('DEMO_AGENT', 1);
|
||||
define('DEMO_NETWORK_MAP', 2);
|
||||
define('DEMO_GIS_MAP', 3);
|
||||
define('DEMO_CUSTOM_GRAPH', 4);
|
||||
define('DEMO_REPORT', 5);
|
||||
define('DEMO_SERVICE', 6);
|
||||
define('DEMO_DASHBOARD', 7);
|
||||
define('DEMO_VISUAL_CONSOLE', 8);
|
||||
define('DEMO_PLUGIN', 9);
|
||||
|
|
|
@ -655,7 +655,7 @@ function mysql_encapsule_fields_with_same_name_to_instructions($field)
|
|||
*
|
||||
* @return mixed Value of first column of the first row. False if there were no row.
|
||||
*/
|
||||
function mysql_db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false)
|
||||
function mysql_db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false, $cache=true)
|
||||
{
|
||||
if (!is_array($filter) || empty($filter)) {
|
||||
return false;
|
||||
|
@ -672,7 +672,7 @@ function mysql_db_get_value_filter($field, $table, $filter, $where_join='AND', $
|
|||
db_format_array_where_clause_sql($filter, $where_join)
|
||||
);
|
||||
|
||||
$result = db_get_all_rows_sql($sql, $search_history_db);
|
||||
$result = db_get_all_rows_sql($sql, $search_history_db, $cache);
|
||||
|
||||
if ($result === false) {
|
||||
return false;
|
||||
|
@ -1022,7 +1022,7 @@ function mysql_db_get_row_filter($table, $filter, $fields=false, $where_join='AN
|
|||
}
|
||||
|
||||
$sql = sprintf('SELECT %s FROM %s %s', $fields, $table, $filter);
|
||||
|
||||
|
||||
return db_get_row_sql($sql, $historydb, $cache);
|
||||
}
|
||||
|
||||
|
|
|
@ -574,7 +574,7 @@ function oracle_encapsule_fields_with_same_name_to_instructions($field)
|
|||
*
|
||||
* @return mixed Value of first column of the first row. False if there were no row.
|
||||
*/
|
||||
function oracle_db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false)
|
||||
function oracle_db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false, $cache=true)
|
||||
{
|
||||
if (! is_array($filter) || empty($filter)) {
|
||||
return false;
|
||||
|
@ -590,7 +590,7 @@ function oracle_db_get_value_filter($field, $table, $filter, $where_join='AND',
|
|||
$table,
|
||||
db_format_array_where_clause_sql($filter, $where_join)
|
||||
);
|
||||
$result = db_get_all_rows_sql($sql, $search_history_db);
|
||||
$result = db_get_all_rows_sql($sql, $search_history_db, $cache);
|
||||
|
||||
if ($result === false) {
|
||||
return false;
|
||||
|
|
|
@ -474,7 +474,7 @@ function postgresql_encapsule_fields_with_same_name_to_instructions($field)
|
|||
*
|
||||
* @return mixed Value of first column of the first row. False if there were no row.
|
||||
*/
|
||||
function postgresql_db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false)
|
||||
function postgresql_db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false, $cache=true)
|
||||
{
|
||||
if (! is_array($filter) || empty($filter)) {
|
||||
return false;
|
||||
|
@ -496,7 +496,7 @@ function postgresql_db_get_value_filter($field, $table, $filter, $where_join='AN
|
|||
db_format_array_where_clause_sql($filter, $where_join)
|
||||
);
|
||||
|
||||
$result = db_get_all_rows_sql($sql, $search_history_db);
|
||||
$result = db_get_all_rows_sql($sql, $search_history_db, $cache);
|
||||
|
||||
$row = array_shift($result);
|
||||
$value = array_shift($row);
|
||||
|
|
|
@ -207,6 +207,8 @@ function agents_get_next_contact_time_left(int $id_agente)
|
|||
* @param string $ip_address Agent IP.
|
||||
* @param mixed $values Other tagente fields.
|
||||
* @param boolean $alias_as_name True to not assign an alias as name.
|
||||
* @param mixed $os OS ID.
|
||||
* @param mixed $os_version OS version.
|
||||
*
|
||||
* @return integer New agent id if created. False if it could not be created.
|
||||
*/
|
||||
|
@ -250,6 +252,14 @@ function agents_create_agent(
|
|||
$values['direccion'] = $ip_address;
|
||||
}
|
||||
|
||||
if (empty($os) === false) {
|
||||
$values['id_os'] = $os;
|
||||
}
|
||||
|
||||
if (empty($os_version) === false) {
|
||||
$values['os_version'] = $os_version;
|
||||
}
|
||||
|
||||
// Check if group has limit or overrides the agent limit.
|
||||
if (group_allow_more_agents($id_group, true, 'create') === false) {
|
||||
return false;
|
||||
|
@ -498,7 +508,8 @@ function agents_get_agents(
|
|||
$return=false,
|
||||
$disabled_agent=0,
|
||||
$use_meta_table=false,
|
||||
$join_os_table=false
|
||||
$join_os_table=false,
|
||||
$cache=true
|
||||
) {
|
||||
global $config;
|
||||
|
||||
|
@ -601,7 +612,13 @@ function agents_get_agents(
|
|||
$filter_nogroup = $filter;
|
||||
|
||||
// Get user groups.
|
||||
$groups = array_keys(users_get_groups($config['id_user'], $access, false));
|
||||
if ($cache === true) {
|
||||
$groups = array_keys(users_get_groups($config['id_user'], $access, false));
|
||||
} else {
|
||||
$groups = array_keys(
|
||||
users_get_groups($config['id_user'], $access, false, false, null, 'id_grupo', false)
|
||||
);
|
||||
}
|
||||
|
||||
// If no group specified, get all user groups.
|
||||
if (empty($filter['id_grupo'])) {
|
||||
|
|
|
@ -380,21 +380,21 @@ function db_get_value(
|
|||
*
|
||||
* @return mixed Value of first column of the first row. False if there were no row.
|
||||
*/
|
||||
function db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false)
|
||||
function db_get_value_filter($field, $table, $filter, $where_join='AND', $search_history_db=false, $cache=true)
|
||||
{
|
||||
global $config;
|
||||
|
||||
switch ($config['dbtype']) {
|
||||
case 'mysql':
|
||||
return mysql_db_get_value_filter($field, $table, $filter, $where_join, $search_history_db);
|
||||
return mysql_db_get_value_filter($field, $table, $filter, $where_join, $search_history_db, $cache);
|
||||
|
||||
break;
|
||||
case 'postgresql':
|
||||
return postgresql_db_get_value_filter($field, $table, $filter, $where_join, $search_history_db);
|
||||
return postgresql_db_get_value_filter($field, $table, $filter, $where_join, $search_history_db, $cache);
|
||||
|
||||
break;
|
||||
case 'oracle':
|
||||
return oracle_db_get_value_filter($field, $table, $filter, $where_join, $search_history_db);
|
||||
return oracle_db_get_value_filter($field, $table, $filter, $where_join, $search_history_db, $cache);
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -347,7 +347,7 @@ function users_get_groups(
|
|||
$filter
|
||||
);
|
||||
|
||||
$forest_acl = db_get_all_rows_sql($sql);
|
||||
$forest_acl = db_get_all_rows_sql($sql, false, false);
|
||||
}
|
||||
|
||||
// Per-group permissions.
|
||||
|
|
|
@ -1435,7 +1435,7 @@ class Manager implements PublicLogin
|
|||
{
|
||||
global $config;
|
||||
|
||||
Widget::dashboardInstallWidgets($this->cellId);
|
||||
//Widget::dashboardInstallWidgets($this->cellId);
|
||||
|
||||
$search = \io_safe_output(\get_parameter('search', ''));
|
||||
|
||||
|
|
|
@ -250,7 +250,7 @@ class Widget
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function dashboardInstallWidgets(int $cellId)
|
||||
/*public static function dashboardInstallWidgets(int $cellId)
|
||||
{
|
||||
global $config;
|
||||
|
||||
|
@ -493,7 +493,7 @@ class Widget
|
|||
}
|
||||
|
||||
closedir($handle);
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -4555,6 +4555,16 @@ PRIMARY KEY (`id`)
|
|||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
|
||||
-- Table `tdemo_data`
|
||||
-- ---------------------------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `tdemo_data` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`item_id` INT UNSIGNED NULL DEFAULT NULL,
|
||||
`table_name` VARCHAR(64) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||
|
||||
-- Table `tpandora_cve`
|
||||
-- ---------------------------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `tpandora_cve` (
|
||||
|
@ -4584,4 +4594,4 @@ CREATE TABLE IF NOT EXISTS `tfiles_repo_group` (
|
|||
`id_group` int(4) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id_file`) REFERENCES tfiles_repo(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
|
|
@ -0,0 +1,702 @@
|
|||
#!/usr/bin/perl
|
||||
################################################################################
|
||||
# Author: Enrique Martin Garcia
|
||||
# Copyright: 2023, PandoraFMS
|
||||
# Maintainer: Operations department
|
||||
# Version: 1.0
|
||||
################################################################################
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use lib '/usr/lib/perl5';
|
||||
|
||||
use POSIX qw(strftime);
|
||||
use Scalar::Util qw(looks_like_number);
|
||||
use Digest::MD5 qw(md5_hex);
|
||||
use PandoraFMS::PluginTools qw(empty trim print_agent);
|
||||
|
||||
##
|
||||
# GLOBALS
|
||||
##################
|
||||
|
||||
my $timestamp = strftime '%Y-%m-%d %H:%M:%S', localtime;
|
||||
my ($sec,$min,$hour,$mday,$mon,$year)=localtime(time);
|
||||
$year += 1900;
|
||||
$mon += 1;
|
||||
|
||||
my @sorted_ini;
|
||||
my @agents_indexes;
|
||||
my @block_agents_created_count;
|
||||
my $current_ini = 0;
|
||||
|
||||
my $result = 1;
|
||||
|
||||
my $errors = '';
|
||||
|
||||
##
|
||||
# FUNCTIONS
|
||||
##################
|
||||
|
||||
sub help() {
|
||||
print STDERR "$0 <agents_files_folder_path> <total_agents> [agents_seconds_interval] [traps_ip] [traps_community] [tentacle_ip] [tentacle_port] [tentacle_extra_opts]\n";
|
||||
}
|
||||
|
||||
sub result($) {
|
||||
my ($res) = @_;
|
||||
|
||||
if($errors ne '') {
|
||||
print STDERR $errors;
|
||||
}
|
||||
|
||||
print $res . "\n";
|
||||
}
|
||||
|
||||
sub add_error($) {
|
||||
my ($err) = @_;
|
||||
|
||||
$errors .= '[ERROR] ' . $err . "\n";
|
||||
}
|
||||
|
||||
sub error($) {
|
||||
my ($msg) = @_;
|
||||
|
||||
print STDERR '[ERROR] ' . $msg . "\n";
|
||||
result(0);
|
||||
exit;
|
||||
}
|
||||
|
||||
sub alphanumerically {
|
||||
my ($num_a, $num_b) = map { /(\d+)[^\d]*$/ ? $1 : 0 } ($a, $b);
|
||||
$num_a <=> $num_b;
|
||||
}
|
||||
|
||||
sub parse_ini_file {
|
||||
my ($file_path) = @_;
|
||||
|
||||
open my $fh, '<', $file_path or return undef;
|
||||
|
||||
my %ini_data;
|
||||
my %ini_indexes;
|
||||
my $current_section = '';
|
||||
|
||||
while (my $line = <$fh>) {
|
||||
chomp $line;
|
||||
|
||||
# Skip comments and empty lines
|
||||
next if $line =~ /^\s*#/ || $line =~ /^\s*$/;
|
||||
|
||||
# Match section headers
|
||||
if ($line =~ /^\s*\[(\w+)\]\s*$/) {
|
||||
$current_section = $1;
|
||||
next;
|
||||
}
|
||||
|
||||
my $key;
|
||||
my $index;
|
||||
my $value;
|
||||
|
||||
# Match key-value pairs
|
||||
# key=value
|
||||
if ($line =~ /^\s*(\w+)\s*=\s*[\"\']?\s*(.+?)\s*[\"\']?\s*$/) {
|
||||
$key = $1;
|
||||
$value = $2;
|
||||
|
||||
# Store in the hash
|
||||
$ini_data{$current_section}{$key} = $value;
|
||||
|
||||
# Match key-array values pairs
|
||||
# key[]=value
|
||||
} elsif ($line =~ /^\s*(\w+)\[\]\s*=\s*[\"\']?\s*(.+?)\s*[\"\']?\s*$/) {
|
||||
$key = $1;
|
||||
$value = $2;
|
||||
|
||||
# Create HASH if not defined or key is not HASH
|
||||
if (!defined($ini_data{$current_section}{$key}) || ref($ini_data{$current_section}{$key}) ne "HASH") {
|
||||
$ini_data{$current_section}{$key} = {};
|
||||
$ini_indexes{$current_section}{$key} = 0;
|
||||
}
|
||||
|
||||
# Get dynamic index
|
||||
$index = $ini_indexes{$current_section}{$key};
|
||||
|
||||
# Store in the hash
|
||||
$ini_data{$current_section}{$key}{$index} = $value;
|
||||
|
||||
# Set new dynamic index
|
||||
while(defined($ini_data{$current_section}{$key}{$ini_indexes{$current_section}{$key}})) {
|
||||
$ini_indexes{$current_section}{$key}++;
|
||||
}
|
||||
|
||||
# Match indexed key-array values pairs
|
||||
# key[index]=value
|
||||
} elsif ($line =~ /^\s*(\w+)\[([\w\d]+)\]\s*=\s*[\"\']?\s*(.+?)\s*[\"\']?\s*$/) {
|
||||
$key = $1;
|
||||
$index = $2;
|
||||
$value = $3;
|
||||
|
||||
# Create HASH if not defined or key is not HASH
|
||||
if (!defined($ini_data{$current_section}{$key}) || ref($ini_data{$current_section}{$key}) ne "HASH") {
|
||||
$ini_data{$current_section}{$key} = {};
|
||||
$ini_indexes{$current_section}{$key} = 0;
|
||||
}
|
||||
|
||||
# Store in the hash
|
||||
$ini_data{$current_section}{$key}{$index} = $value;
|
||||
|
||||
# Set new dynamic index
|
||||
if(looks_like_number($index) && $index == $ini_indexes{$current_section}{$key}) {
|
||||
$ini_indexes{$current_section}{$key}++;
|
||||
}
|
||||
|
||||
# Not a valid line, INI bad format
|
||||
} else {
|
||||
return undef;
|
||||
}
|
||||
}
|
||||
|
||||
close $fh;
|
||||
|
||||
# Verify ini content
|
||||
if(!defined($ini_data{'agent_data'})) {
|
||||
return undef;
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'agent_data'}{'agent_name'})) {
|
||||
return undef;
|
||||
}
|
||||
|
||||
# Initialize agent_data keys
|
||||
if(!defined($ini_data{'agent_data'}{'agents_number'}) || !looks_like_number($ini_data{'agent_data'}{'agents_number'})) {
|
||||
$ini_data{'agent_data'}{'agents_number'} = 1;
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'agent_data'}{'group'})) {
|
||||
$ini_data{'agent_data'}{'group'} = '';
|
||||
}
|
||||
|
||||
# Initialize modules keys
|
||||
if(!defined($ini_data{'modules'})) {
|
||||
$ini_data{'modules'} = {};
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'modules'}{'name'})) {
|
||||
$ini_data{'modules'}{'name'} = {};
|
||||
}
|
||||
|
||||
# Initialize inventory keys
|
||||
if(!defined($ini_data{'inventory'})) {
|
||||
$ini_data{'inventory'} = {};
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'inventory'}{'name'})) {
|
||||
$ini_data{'inventory'}{'name'} = {};
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'inventory_values'})) {
|
||||
$ini_data{'inventory_values'} = {};
|
||||
}
|
||||
|
||||
# Initialize log modules keys
|
||||
if(!defined($ini_data{'log_modules'})) {
|
||||
$ini_data{'log_modules'} = {};
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'log_modules'}{'source'})) {
|
||||
$ini_data{'log_modules'}{'source'} = {};
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'log_modules'}{'data'})) {
|
||||
$ini_data{'log_modules'}{'data'} = {};
|
||||
}
|
||||
|
||||
# Initialize traps keys
|
||||
if(!defined($ini_data{'traps'})) {
|
||||
$ini_data{'traps'} = {};
|
||||
}
|
||||
|
||||
if(!defined($ini_data{'traps'}{'oid'})) {
|
||||
$ini_data{'traps'}{'oid'} = {};
|
||||
}
|
||||
|
||||
return %ini_data;
|
||||
}
|
||||
|
||||
sub get_bool($) {
|
||||
my ($false_chance) = @_;
|
||||
|
||||
$false_chance = 0 if $false_chance < 0;
|
||||
$false_chance = 100 if $false_chance > 100;
|
||||
|
||||
return int(rand(100)) + 1 <= $false_chance ? 0 : 1;
|
||||
}
|
||||
|
||||
sub get_value($) {
|
||||
my ($value_rule) = @_;
|
||||
|
||||
my $value = 1;
|
||||
|
||||
my @rule_parts = split(/;/, $value_rule);
|
||||
|
||||
if($rule_parts[0] eq 'RANDOM') {
|
||||
my $min = 0;
|
||||
if(defined($rule_parts[1])) {
|
||||
$min = $rule_parts[1];
|
||||
}
|
||||
my $max = 100;
|
||||
if(defined($rule_parts[2])) {
|
||||
$max = $rule_parts[2];
|
||||
}
|
||||
|
||||
$value = $min + rand($max - $min);
|
||||
|
||||
} elsif($rule_parts[0] eq 'PROC') {
|
||||
my $error_percent = 0;
|
||||
if(defined($rule_parts[1])) {
|
||||
$error_percent = $rule_parts[1];
|
||||
}
|
||||
|
||||
$value = get_bool($error_percent);
|
||||
}
|
||||
|
||||
return int($value);
|
||||
}
|
||||
|
||||
sub daily_match($$$) {
|
||||
my ($conf, $m_hour, $m_min) = @_;
|
||||
my $match = 0;
|
||||
|
||||
if($hour == $m_hour && $min - ($conf->{'agents_interval'} / 60) < $m_min) {
|
||||
$match = 1;
|
||||
}
|
||||
|
||||
return $match;
|
||||
}
|
||||
|
||||
sub ip_to_long {
|
||||
my $ip = shift;
|
||||
my @ip_parts = split(/\./, $ip);
|
||||
return ($ip_parts[0] << 24) + ($ip_parts[1] << 16) + ($ip_parts[2] << 8) + $ip_parts[3];
|
||||
}
|
||||
|
||||
sub long_to_ip {
|
||||
my $long = shift;
|
||||
return join('.', ($long >> 24) & 255, ($long >> 16) & 255, ($long >> 8) & 255, $long & 255);
|
||||
}
|
||||
|
||||
sub get_broadcast_ip_long {
|
||||
my ($base_ip, $subnet_mask) = @_;
|
||||
my $ip_long = ip_to_long($base_ip);
|
||||
my $broadcast_ip_long = ($ip_long | (2**(32 - $subnet_mask) - 1));
|
||||
return $broadcast_ip_long;
|
||||
}
|
||||
|
||||
sub get_network_ip_long {
|
||||
my ($base_ip, $subnet_mask) = @_;
|
||||
return ip_to_long($base_ip);
|
||||
}
|
||||
|
||||
sub next_ip($$) {
|
||||
my ($network , $counter) = @_;
|
||||
|
||||
# Get base IP and subnet mask
|
||||
my ($base_ip, $subnet_mask) = split('/', $network);
|
||||
|
||||
# If subnet mask is 32 there is only 1 IP
|
||||
if($subnet_mask == 32){
|
||||
return $base_ip;
|
||||
}
|
||||
|
||||
# Get broadcast and network IPs long
|
||||
my $broadcast_ip = get_broadcast_ip_long($base_ip, $subnet_mask);
|
||||
my $network_ip = get_network_ip_long($base_ip, $subnet_mask);
|
||||
|
||||
# Get next IP
|
||||
my $next_ip = $network_ip + $counter;
|
||||
|
||||
# Keep rotating until next IP is below broadcast
|
||||
while ($next_ip >= $broadcast_ip) {
|
||||
$counter = $next_ip - $broadcast_ip + 1;
|
||||
$next_ip = $network_ip + $counter;
|
||||
}
|
||||
|
||||
return long_to_ip($next_ip);
|
||||
}
|
||||
|
||||
sub transfer_xml($$$) {
|
||||
my ($conf, $xml, $name) = @_;
|
||||
my $file_name;
|
||||
my $short_filename;
|
||||
my $file_path;
|
||||
|
||||
if ($xml =~ /\n/ || ! -f $xml) {
|
||||
# Not a file, it's content.
|
||||
if (! (empty ($name))) {
|
||||
$file_name = $name . "." . sprintf("%d",time()) . ".data";
|
||||
}
|
||||
else {
|
||||
# Inherit file name
|
||||
($file_name) = $xml =~ /\s+agent_name='(.*?)'\s+.*$/m;
|
||||
if (empty($file_name)){
|
||||
($file_name) = $xml =~ /\s+agent_name="(.*?)"\s+.*$/m;
|
||||
}
|
||||
if (empty($file_name)){
|
||||
$file_name = trim(`hostname`);
|
||||
}
|
||||
|
||||
# Tentacle server does not allow files with symbols in theirs name.
|
||||
$file_name =~ s/[^a-zA-Z0-9_-]//g;
|
||||
$short_filename = $file_name;
|
||||
$file_name .= "." . sprintf("%d",time()) . ".data";
|
||||
}
|
||||
|
||||
if (empty($file_name)) {
|
||||
return (0, "Failed to generate file name");
|
||||
}
|
||||
|
||||
$conf->{temp} = $conf->{tmp} if (empty($conf->{temp}) && defined($conf->{tmp}));
|
||||
$conf->{temp} = $conf->{temporal} if (empty($conf->{temp}) && defined($conf->{temporal}));
|
||||
$conf->{temp} = $conf->{__system}->{tmp} if (empty($conf->{temp}) && defined($conf->{__system})) && (ref($conf->{__system}) eq "HASH");
|
||||
$conf->{temp} = '/tmp' if empty($conf->{temp});
|
||||
|
||||
$file_path = $conf->{temp} . "/" . $file_name;
|
||||
|
||||
#Creating XML file in temp directory
|
||||
|
||||
while ( -e $file_path ) {
|
||||
sleep (1);
|
||||
$file_name = $short_filename . "." . sprintf("%d",time()) . ".data";
|
||||
$file_path = $conf->{temp} . "/" . $file_name;
|
||||
}
|
||||
|
||||
my $r = open (my $FD, ">>", $file_path);
|
||||
|
||||
if (empty($r)) {
|
||||
return (0, "Cannot write XML [" . $file_path . "]");
|
||||
}
|
||||
|
||||
my $bin_opts = ':raw:encoding(UTF8)';
|
||||
|
||||
if ($^O eq "Windows") {
|
||||
$bin_opts .= ':crlf';
|
||||
}
|
||||
|
||||
binmode($FD, $bin_opts);
|
||||
|
||||
print $FD $xml;
|
||||
|
||||
close ($FD);
|
||||
|
||||
} else {
|
||||
$file_path = $xml;
|
||||
}
|
||||
|
||||
# Reassign default values if not present
|
||||
$conf->{tentacle_port} = "41121" if empty($conf->{tentacle_port});
|
||||
$conf->{tentacle_opts} = "" if empty($conf->{tentacle_opts});
|
||||
|
||||
#Send using tentacle
|
||||
my $msg = `tentacle_client -v -a $conf->{tentacle_ip} -p $conf->{tentacle_port} $conf->{tentacle_opts} "$file_path" 2>&1`;
|
||||
my $r = $?;
|
||||
|
||||
unlink ($file_path);
|
||||
|
||||
if ($r != 0) {
|
||||
return (0, trim($msg));
|
||||
}
|
||||
|
||||
return (1, "");
|
||||
}
|
||||
|
||||
sub send_snmp_trap($$) {
|
||||
my ($conf, $trap) = @_;
|
||||
|
||||
# Check trap chance
|
||||
if (get_bool($trap->{'chance_percent'}) == 1) {
|
||||
my $value = get_value($trap->{'value'});
|
||||
my $msg = `snmptrap -v 1 -c $conf->{'traps_community'} $conf->{'traps_ip'} $trap->{'oid'} $trap->{'address'} $trap->{'snmp_type'} 1 0 $trap->{'oid'} s "$value" 2>&1`;
|
||||
my $r = $?;
|
||||
|
||||
if ($r != 0) {
|
||||
return (0, trim($msg));
|
||||
}
|
||||
}
|
||||
|
||||
return (1, "");
|
||||
}
|
||||
|
||||
sub generate_agent($) {
|
||||
my ($cfg) = @_;
|
||||
|
||||
# Set current ini
|
||||
if($block_agents_created_count[$current_ini] >= $sorted_ini[$current_ini]->{'agent_data'}->{'agents_number'}) {
|
||||
$block_agents_created_count[$current_ini] = 0;
|
||||
$current_ini++;
|
||||
}
|
||||
|
||||
if($current_ini >= @sorted_ini) {
|
||||
$current_ini = 0;
|
||||
}
|
||||
|
||||
# Get agent info
|
||||
my $agent;
|
||||
$agent->{'agent_name'} = $sorted_ini[$current_ini]->{'agent_data'}->{'agent_name'}.'-'.$agents_indexes[$current_ini];
|
||||
$agent->{'agent_alias'} = $sorted_ini[$current_ini]->{'agent_data'}->{'agent_name'}.'-'.$agents_indexes[$current_ini];
|
||||
$agent->{'group'} = $sorted_ini[$current_ini]->{'agent_data'}->{'group'};
|
||||
$agent->{'interval'} = $cfg->{'agents_interval'};
|
||||
$agent->{'timestamp'} = $timestamp;
|
||||
|
||||
# Get modules info
|
||||
my @modules;
|
||||
foreach my $k (sort keys %{$sorted_ini[$current_ini]->{'modules'}->{'name'}}) {
|
||||
# Set default type if not defined
|
||||
if(!defined($sorted_ini[$current_ini]->{'modules'}->{'type'}->{$k})) {
|
||||
$sorted_ini[$current_ini]->{'modules'}->{'type'}->{$k} = 'generic_data_string';
|
||||
}
|
||||
|
||||
# Set default value if not defined
|
||||
if(!defined($sorted_ini[$current_ini]->{'modules'}->{'values'}->{$k})) {
|
||||
$sorted_ini[$current_ini]->{'modules'}->{'values'}->{$k} = 'RANDOM;0;100';
|
||||
}
|
||||
|
||||
push (@modules, {
|
||||
'name' => $sorted_ini[$current_ini]->{'modules'}->{'name'}->{$k},
|
||||
'type' => $sorted_ini[$current_ini]->{'modules'}->{'type'}->{$k},
|
||||
'value' => get_value($sorted_ini[$current_ini]->{'modules'}->{'values'}->{$k})
|
||||
});
|
||||
}
|
||||
|
||||
# Create XML
|
||||
my $xml = print_agent({},$agent,\@modules);
|
||||
|
||||
# Append inventory data to XML (only once a day at 00:00)
|
||||
if (!empty($sorted_ini[$current_ini]->{'inventory'}->{'name'}) && daily_match($cfg, 0, 0)) {
|
||||
|
||||
# Remove agent_data closing tag
|
||||
$xml =~ s/<\/agent_data>//i;
|
||||
|
||||
$xml .= "<inventory>\n";
|
||||
|
||||
# Add inventory for each module
|
||||
foreach my $k (sort keys %{$sorted_ini[$current_ini]->{'inventory'}->{'name'}}) {
|
||||
# Only if values are defined
|
||||
if(defined($sorted_ini[$current_ini]->{'inventory'}->{'values'}->{$k})) {
|
||||
# Get inventory module name
|
||||
my $inventory_name = $sorted_ini[$current_ini]->{'inventory'}->{'name'}->{$k};
|
||||
|
||||
$xml .= "\t<inventory_module>\n";
|
||||
$xml .= "\t\t<name><![CDATA[$inventory_name]]></name>\n";
|
||||
|
||||
# Get inventory values keys
|
||||
my @values_keys = split(/;/, $sorted_ini[$current_ini]->{'inventory'}->{'values'}->{$k});
|
||||
|
||||
my %inventory_values;
|
||||
|
||||
# Parse each inventory values key for indexes
|
||||
foreach my $key (@values_keys) {
|
||||
# Get indexes from each key
|
||||
foreach my $i (sort keys %{$sorted_ini[$current_ini]->{'inventory_values'}->{$key}}) {
|
||||
$inventory_values{$i} = ();
|
||||
}
|
||||
}
|
||||
|
||||
# Parse each inventory values key for values
|
||||
foreach my $key (@values_keys) {
|
||||
# Get values from each key
|
||||
foreach my $v (sort keys %inventory_values) {
|
||||
if (defined($sorted_ini[$current_ini]->{'inventory_values'}->{$key}->{$v})) {
|
||||
push(@{$inventory_values{$v}}, $sorted_ini[$current_ini]->{'inventory_values'}->{$key}->{$v});
|
||||
} else {
|
||||
push(@{$inventory_values{$v}}, '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$xml .= "\t\t<datalist>\n";
|
||||
|
||||
# Get each value string
|
||||
foreach my $r (sort keys %inventory_values) {
|
||||
my $inv_value = join(';', @{$inventory_values{$r}});
|
||||
$xml .= "\t\t\t<data><![CDATA[$inv_value]]></data>\n";
|
||||
}
|
||||
|
||||
$xml .= "\t\t</datalist>\n";
|
||||
$xml .= "\t</inventory_module>\n\n";
|
||||
}
|
||||
}
|
||||
|
||||
$xml .= "</inventory>\n";
|
||||
|
||||
# Close agent_data tag again
|
||||
$xml .= "</agent_data>\n";
|
||||
}
|
||||
|
||||
# Append log module data to XML (only once a day at 00:00)
|
||||
if (!empty($sorted_ini[$current_ini]->{'log_modules'}->{'source'}) && !empty($sorted_ini[$current_ini]->{'log_modules'}->{'data'})) {
|
||||
|
||||
# Remove agent_data closing tag
|
||||
$xml =~ s/<\/agent_data>//i;
|
||||
|
||||
# Add log modules for each source
|
||||
foreach my $log_key (sort keys %{$sorted_ini[$current_ini]->{'log_modules'}->{'source'}}) {
|
||||
# Only if data is defined
|
||||
if(defined($sorted_ini[$current_ini]->{'log_modules'}->{'data'}->{$log_key})) {
|
||||
# Add log module 50% of times
|
||||
if(get_bool(50)) {
|
||||
my $log_source = $sorted_ini[$current_ini]->{'log_modules'}->{'source'}->{$log_key};
|
||||
my $log_data = $sorted_ini[$current_ini]->{'log_modules'}->{'data'}->{$log_key};
|
||||
|
||||
$xml .= "<log_module>\n";
|
||||
$xml .= "\t<source><![CDATA[$log_source]]></source>\n";
|
||||
$xml .= "\t<data><![CDATA[$log_data]]></data>\n";
|
||||
$xml .= "</log_module>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Close agent_data tag again
|
||||
$xml .= "</agent_data>\n";
|
||||
}
|
||||
|
||||
# Get file name MD5
|
||||
my $file_md5 = md5_hex($agent->{'agent_name'});
|
||||
|
||||
# Send XML
|
||||
my ($transfer_res, $transfer_err) = transfer_xml($cfg, $xml, $file_md5);
|
||||
if ($transfer_res == 0) {
|
||||
add_error("Failed to transfer XML for agent: " . $agent->{'agent_name'} . "\n\t" . $transfer_err);
|
||||
$result = 0;
|
||||
}
|
||||
|
||||
# Get traps source address
|
||||
my $traps_addr = '127.0.0.1';
|
||||
if(defined($sorted_ini[$current_ini]->{'agent_data'}->{'address_network'})) {
|
||||
$traps_addr = next_ip($sorted_ini[$current_ini]->{'agent_data'}->{'address_network'}, $agents_indexes[$current_ini]);
|
||||
}
|
||||
|
||||
# Generate SNMP traps
|
||||
foreach my $k (sort keys %{$sorted_ini[$current_ini]->{'traps'}->{'oid'}}) {
|
||||
# Set default type if not defined
|
||||
if(!defined($sorted_ini[$current_ini]->{'traps'}->{'snmp_type'}->{$k})) {
|
||||
$sorted_ini[$current_ini]->{'traps'}->{'snmp_type'}->{$k} = '6';
|
||||
}
|
||||
|
||||
# Set default value if not defined
|
||||
if(!defined($sorted_ini[$current_ini]->{'traps'}->{'value'}->{$k})) {
|
||||
$sorted_ini[$current_ini]->{'traps'}->{'value'}->{$k} = 'RANDOM;0;100';
|
||||
}
|
||||
|
||||
# Set default chance if not defined
|
||||
if(!defined($sorted_ini[$current_ini]->{'traps'}->{'chance_percent'}->{$k})) {
|
||||
$sorted_ini[$current_ini]->{'traps'}->{'chance_percent'}->{$k} = '5';
|
||||
}
|
||||
|
||||
my $trap;
|
||||
$trap->{'oid'} = $sorted_ini[$current_ini]->{'traps'}->{'oid'}->{$k};
|
||||
$trap->{'snmp_type'} = $sorted_ini[$current_ini]->{'traps'}->{'snmp_type'}->{$k};
|
||||
$trap->{'value'} = $sorted_ini[$current_ini]->{'traps'}->{'value'}->{$k};
|
||||
$trap->{'chance_percent'} = $sorted_ini[$current_ini]->{'traps'}->{'chance_percent'}->{$k};
|
||||
$trap->{'address'} = $traps_addr;
|
||||
|
||||
my ($trap_res, $trap_err) = send_snmp_trap($cfg, $trap);
|
||||
if ($trap_res == 0) {
|
||||
add_error("Failed to send SNMP trap for agent: " . $agent->{'agent_name'} . "\n\t" . $trap_err);
|
||||
$result = 0;
|
||||
}
|
||||
|
||||
undef($trap);
|
||||
}
|
||||
|
||||
# Increase agents indexes
|
||||
$agents_indexes[$current_ini]++;
|
||||
}
|
||||
|
||||
##
|
||||
# ARGUMENTS
|
||||
##################
|
||||
|
||||
my $agents_files_path = $ARGV[0];
|
||||
my $total_agents = $ARGV[1];
|
||||
my $agents_interval = (defined($ARGV[2]) && $ARGV[2] ne '' ? $ARGV[2] : 300);
|
||||
|
||||
my $traps_ip = (defined($ARGV[3]) && $ARGV[3] ne '' ? $ARGV[3] : '127.0.0.1');
|
||||
my $traps_community = (defined($ARGV[4]) && $ARGV[4] ne '' ? $ARGV[4] : 'public');
|
||||
|
||||
my $tentacle_ip = (defined($ARGV[5]) && $ARGV[5] ne '' ? $ARGV[5] : '127.0.0.1');
|
||||
my $tentacle_port = (defined($ARGV[6]) && $ARGV[6] ne '' ? $ARGV[6] : 41121);
|
||||
|
||||
my $tentacle_opts = join(' ', @ARGV[7..$#ARGV]);
|
||||
|
||||
# Verify parameters
|
||||
|
||||
if(!defined($agents_files_path)) {
|
||||
help();
|
||||
error("Agents definition folder must be defined");
|
||||
}
|
||||
|
||||
if(!defined($total_agents) || !looks_like_number($total_agents) || $total_agents <= 0) {
|
||||
help();
|
||||
error("Total number of agents must be defined and a number greater than 0");
|
||||
}
|
||||
|
||||
if(!-d $agents_files_path || !-r $agents_files_path) {
|
||||
error("Can't access agents definition folder: " . $agents_files_path);
|
||||
}
|
||||
|
||||
if(!looks_like_number($agents_interval) || $agents_interval <= 0) {
|
||||
$agents_interval = 300;
|
||||
}
|
||||
|
||||
if(!looks_like_number($tentacle_port) || $tentacle_port <= 0) {
|
||||
$tentacle_port = 41121;
|
||||
}
|
||||
|
||||
##
|
||||
# MAIN
|
||||
##################
|
||||
|
||||
# Set config
|
||||
my $config;
|
||||
$config->{'tentacle_ip'} = $tentacle_ip;
|
||||
$config->{'tentacle_port'} = $tentacle_port;
|
||||
$config->{'tentacle_opts'} = $tentacle_opts;
|
||||
$config->{'agents_interval'} = $agents_interval;
|
||||
$config->{'traps_ip'} = $traps_ip;
|
||||
$config->{'traps_community'} = $traps_community;
|
||||
|
||||
# Open the directory
|
||||
opendir(my $dh, $agents_files_path) or error("Could not open directory '$agents_files_path': $!");
|
||||
|
||||
# Read the directory and sort the filenames numerically
|
||||
my @files = sort alphanumerically map { "$agents_files_path/$_" } grep { -f "$agents_files_path/$_" } readdir($dh);
|
||||
|
||||
# Close the directory
|
||||
closedir($dh);
|
||||
|
||||
# Parse each ini file and sort them
|
||||
foreach my $file (@files) {
|
||||
if (-f $file && -r $file) {
|
||||
my %ini_data = parse_ini_file($file);
|
||||
if (defined(\%ini_data)) {
|
||||
push(@sorted_ini, \%ini_data);
|
||||
push(@agents_indexes, 1);
|
||||
push(@block_agents_created_count, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Error if not agents definitions loaded
|
||||
if (empty(@sorted_ini)) {
|
||||
error("Unable to load agents definitions from folder '$agents_files_path'");
|
||||
}
|
||||
|
||||
# Generate all requested agents
|
||||
my $generated_agents = 0;
|
||||
while ($generated_agents < $total_agents) {
|
||||
generate_agent($config);
|
||||
$block_agents_created_count[$current_ini]++;
|
||||
$generated_agents++;
|
||||
}
|
||||
|
||||
# Print result
|
||||
result($result);
|
Loading…
Reference in New Issue