Getting Started
Ercole server installation
Requirements
Component | Prerequisite |
---|---|
Operating system | CentOS, RedHat, OracleLinux 7 |
RAM | 4GB |
Filesystem | 50GB (minimum) |
CPU | 2 VirtualCPU |
Database | PostgreSQL >= 9.6 |
Software | java-11-openjdk |
Network | port 9080 (HTTP) or 443 (HTTPS) open |
Installation
- Postgresql db creation
$ psql
postgres-# create database ercole;
postgres-# create user ercole with password 'ercole';
postgres-# alter database ercole owner to ercole;
- Modify pg_hba.conf
vi <Postgresql data directory>/pg_hba.conf <-- ex. /var/lib/pgsql/9.6/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
- Restart postgresql
systemctl restart "postgresql service"
- Install rpm Ercole Server
yum install "rpm_ercole_server" (ex. ercole-server-1.5.0n-1.el7.x86_64.rpm - https://github.com/ercole-io/ercole-server/releases)
- Configure and start Ercole Server
In order to configure ercole server you have to customize the file /opt/ercole-server/application.properties with the parameters different from the default.
Main parameters are:
Parameter | Description | Default |
---|---|---|
spring.datasource.url | Postgres database connection | jdbc:postgresql://localhost:5432/ercole |
spring.datasource.username | DB user | ercole |
spring.datasource.password | DB user password | ercole |
user.normal.name | Ercole server user | user |
user.normal.password | Ercole server user password | password |
agent.user | Ercole agent user | user |
agent.password | Ercole agent user password | password |
server.port | Ercole server port | 9080 |
server.servlet.session.timeout | Session timeout | 30m |
Emailer parameters are:
Parameter | Description | Default |
---|---|---|
spring.mail.host | SMTP server | smtp.domain.com |
spring.mail.port | Port of the SMTP server | 465 |
spring.mail.username | STMP username | user |
spring.mail.password | SMTP password | password |
spring.mail.properties.mail.smtp.auth | Enable the authentication | true |
spring.mail.properties.mail.smtp.starttls.enable | Enable the start TLS | false |
spring.mail.protocol | Protocol of the emailer | smtps |
alert.mail.enabled | Enable the alert notifications via emails | false |
alert.mail.severity | Minimum severity level of alerts | WARNING |
alert.mail.from | Sender of the alerts email | alert@ercole.io |
alert.mail.to | Destinations of the alerts email | mail1@domain.com,mail2@domain.com |
- systemctl daemon-reload
- systemctl start ercole-server
Ercole agent installation
In order to permit the correct comunication between agent and server, you have to open these port on your firewall from agent to server (one way):
- 9080 if you want http communication protocol
- 443 if you want https communication protocol
ATTENZIONE
If you want to use https communication protocol, you have to provide a signed certificate
Operating System support
- Red Hat/Oracle Linux/CentOS 5.x-6.x-7.x (only 7.x for the virtualization agent)
- Microsoft Windows 2008R2 - 2012 - 2012R2 - 2016
Database support
- Oracle RDBMS 9i 10g 11g 12c 18c 19c
RHEL/OEL/CentOS Installation
Requirements
- All the Oracle Database must be in the oratab file:
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
ERCOLE:/data/app/oracle/product/12.2.0/dbhome_1:N
Installation
- Install agent as root user:
yum install -y https://<ip_ercole_server>/packages/ercole-agent-latest-1.el<5-6-7>.x86_64.rpm
- Agent configuration
The installer will create the service "ercole-agent" and the default path will be /opt/ercole-agent. Before starting the agent, you have to modify the config.json file, located on the installation path.
Parameter | Description | Default |
---|---|---|
Hostname | if "default" the agent takes the server hostname, otherwise it takes the name written | default |
envtype | It accepts what you want (es. Production, PRD or PROD) | ercole |
location | It accepts what you want (es. Italy, IT or DC_IT) | ercole |
serverurl | Ercole server address | user |
serverusr | Ercole server user | password |
serverpsw | Ercole server password | user |
frequency | Schedulation window in hour (1 in a day by default) | password |
forcestats | If true it forces DBA_FEATURE_USAGE_STATISTICS refresh (recommended) | |
EnableServerValidation | If false it accepts certificate self signed or not acknowledged | |
ForcePwshVersion | Insert the powershell version if the version is different (only for windows) | |
oratab | Override the default oratab filename |
- Now you can start the service:
service ercole-agent start
You can check the execution through the journalctl (Linux 7):
journalctl -u ercole-agent -f
You can find the log on /var/log/ercole-agent.log (Linux 5 & 6).
Windows installation
Requirements
- PowerShell version >= 2
Installation
Download the agent installer from the page "Agent" on the Ercole Server Main page.
Execute (with administrator privilege) the file ercole-agent-setup-ERCOLE_VERSION.exe
The installer will create the service "ercole-agent" and the default path will be c:\ercole-agent.
- Agent configuration
Before starting the agent, you have to modify the config.json file, located on the installation path.
Parameter | Description | Default |
---|---|---|
Hostname | if "default" the agent takes the server hostname, otherwise it takes the name written | "default" |
envtype | It accepts what you want (es. Production, PRD or PROD) | ercole |
location | It accepts what you want (es. Italy, IT or DC_IT) | ercole |
serverurl | Ercole server address | user |
serverusr | Ercole server user | password |
serverpsw | Ercole server password | user |
frequency | Schedulation window in hour (1 in a day by default) | password |
forcestats | If true it forces DBA_FEATURE_USAGE_STATISTICS refresh (recommended) | |
EnableServerValidation | If false it accepts certificate self signed or not acknowledged | |
ForcePwshVersion | Insert the powershell version if the version is different (only for windows) |
- Now you can start the service ercole-service.
DEBUG
If you want to debug the execution of the agent, you can execute it directly into the command line prompt from the base directory (ex. /opt/ercole-agent)
HP-UX 11.3 Installation
Requirements
- All the Oracle Database must be in the oratab file:
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
ERCOLE:/data/app/oracle/product/12.2.0/dbhome_1:N
Installation
- Download/get agent:
https://<ip_ercole_server>/packages/ercole-agent-hpux-latest.tar.gz
- Extract and install it:
mkdir ercole-agent-hpux-latest
cd ercole-agent-hpux-latest
gunzip ../ercole-agent-hpux-latest.tar.gz
tar -zxvf ../ercole-agent-hpux-latest.tar
cd ..
cp -r ercole-agent-hpux-latest /opt/ercole-agent-hpux
cp ercole-agent-hpux-latest/daemon_script/ercole-agent /sbin/init.d/ercole-agent
useradd -g dba -d /home/ercole-agent -m -s /bin/bash -c "Ercole agent user" ercole
touch /var/adm/ercole-agent.log
chown ercole /var/adm/ercole-agent.log
- Agent configuration
Before starting the agent, you have to modify the config.json file, located on the installation path.
Parameter | Description | Default |
---|---|---|
Hostname | if "default" the agent takes the server hostname, otherwise it takes the name written | default |
envtype | It accepts what you want (es. Production, PRD or PROD) | ercole |
location | It accepts what you want (es. Italy, IT or DC_IT) | ercole |
serverurl | Ercole server address | user |
serverusr | Ercole server user | password |
serverpsw | Ercole server password | user |
frequency | Schedulation window in hour (1 in a day by default) | password |
forcestats | If true it forces DBA_FEATURE_USAGE_STATISTICS refresh (recommended) | |
EnableServerValidation | If false it accepts certificate self signed or not acknowledged | |
oratab | Override the default oratab filename |
- Now you can start the service with the ercole user:
/sbin/init.d/ercole-agent start
You can find the log on /var/adm/ercole-agent.log
.
AIX Installation
Requirements
- All the Oracle Database must be in the oratab file:
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
ERCOLE:/data/app/oracle/product/12.2.0/dbhome_1:N
Installation
- Download/get agent:
https://<ip_ercole_server>/packages/ercole-agent-aix-latest-1.aix6.1.noarch.rpm
- Create the ercole user
useradd -g dba -d /home/ercole-agent -m -s /bin/bash -c "Ercole agent user" ercole
touch /var/log/ercole-agent.log
chown ercole /var/log/ercole-agent.log
- Install it with rpm
rpm -ivh ercole-agent-aix-latest-1.aix6.1.noarch.rpm
- Agent configuration
Before starting the agent, you have to modify the config.json file, located on the installation path (/opt/ercole-agent-aix/config.json
).
Parameter | Description | Default |
---|---|---|
Hostname | if "default" the agent takes the server hostname, otherwise it takes the name written | default |
envtype | It accepts what you want (es. Production, PRD or PROD) | ercole |
location | It accepts what you want (es. Italy, IT or DC_IT) | ercole |
serverurl | Ercole server address | user |
serverusr | Ercole server user | password |
serverpsw | Ercole server password | user |
frequency | Schedulation window in hour (1 in a day by default) | password |
forcestats | If true it forces DBA_FEATURE_USAGE_STATISTICS refresh (recommended) | |
EnableServerValidation | If false it accepts certificate self signed or not acknowledged | |
oratab | Override the default oratab filename |
- Now you can start the service with the root user:
/etc/rc.d/init.d/ercole-agent start
You can find the log on /var/log/ercole-agent.log
.
Ercole agent virtualization installation
Requirements for VMWare
- PowerShell version >= 2
- VSphere power CLI module
- Open port 443 from ercole-agent-virtualization to vsphere
- Read only user access to the VSphere
- Set this powershell option: "Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false -InvalidCertificateAction ignore"
Requirements for Oracle VM
- ovm_vmcontrol installed on ovm manager
- Key exchange with ovm manager user who can run ovm_vmcontrol
- Vms must not contain spaces (they will be ignored)
- sshpass installed on server that have ercole-agent-virtualization installed
- ovmcli installed on ovmmanager (From version 3.2.1)
- Port 10000 open from ercole-agent-virtualization to ovmmanager
Installation
- Install agent as root user:
yum install -y https://<ip_ercole_server>/packages/ercole-agent-virtualization-<version>-1.el7.x86_64.rpm
Once you have installed the agent, you have to insert the VMware VCenter/OVM Manager credentials/settings in the config.json file. For example:
"hypervisors": [
{
"type": "vmware",
"endpoint": "10.20.30.40",
"username": "reader@vsphere.local",
"password": "reader"
},
{
"type": "ovm",
"endpoint": "10.20.30.40",
"username": "reader",
"password": "R34d3r",
"ovmuserkey": "92838932423",
"ovmcontrol": "/path/to/ovmcontrol"
}
]
If you use only one technology you have to delete the rows about the technology that you won't use.
- systemctl start ercole-agent-virtualization
Ercole agent-exadata installation
In order to permit the correct comunication between agent and server, you have to open these port on your firewall from agent to server (one way):
- 9080 if you want http communication protocol
- 443 if you want https communication protocol
ATTENZIONE
If you want to use https communication protocol, you have to provide a signed certificate
Operating System support
- Red Hat/Oracle Linux/CentOS 6.x-7.x
Installation
- Install agent as root user:
yum install -y https://demo.ercole.io/packages/ercole-agent-exadata-1.6.0-1.el7.x86_64.rpm
- Agent configuration
The installer will create the service "ercole-agent-exadata" and the default path will be /opt/ercole-agent-exadata. Before starting the agent, you have to modify the config.json file, located on the installation path.
Parameter | Description | Default |
---|---|---|
Hostname | enter a value other than the default value | default |
envtype | It accepts what you want (es. Production, PRD or PROD) | ercole |
location | It accepts what you want (es. Italy, IT or DC_IT) | ercole |
serverurl | Ercole server address | user |
serverusr | Ercole server user | password |
serverpsw | Ercole server password | user |
frequency | Schedulation window in hour (1 in a day by default) | password |
hosttype | type of host | exadata |
EnableServerValidation | If false it accepts certificate self signed or not acknowledged |
- Now you can start the service:
service ercole-agent-exadata start
You can check log at :
/var/log/ercole-agent-exadata.log