Package NEP Monitoring Core¶
Package nep-monitoring-core
adds self-monitoring capabilities to a NetEye. It enables NetEye to:
Find the main components of the current Infrastructure
Monitor them using a predefined set of checks
This Package is the first of a series: it covers only NetEye Core module functionalities. To monitor other NetEye modules, other NEPs are required. This Package will also act as a common base for other NetEye Monitoring-related Packages, therefore it is required to successfully monitor other NetEye modules.
Minimum supported environment¶
This package can be installed on systems running the software described below. Systems with equivalent components are also suitable for installation.
Required software |
Requirements |
---|---|
NetEye |
Version |
NetEye modules |
|
Package requirements¶
Service and Host Template shipped with package nep-monitoring-core
require the following nep:
nep-common
If the NetEye deployments that will receive Package nep-common
is a clustered environment, additional preparations must be done.
Additional preparations for a Clustered NetEye Deployment¶
To allow nep-monitoring-core
components to operate correctly, all Cluster node’s Configuration must be carefully edited to:
Allow
icinga
service user to access Icinga IDO databaseAllow
icinga
service user to run a high privilege Check Plugin to read the current cluster state
To perform this configuration, run these commands on a Cluster Node as root
user.
Remember to update the contents ot variable nodes
: it must contains the internal names of all Cluster Nodes (excluding Voting or Elastic Data-Only nodes).
Internal names are the FQDN having .neteyelocal
as domain part.
#Initializing variables
# Provide the internal name of all cluster nodes (excluding voting and data-only nodes)
# E.G.:
# nodes="clusternode1.neteyelocal clusternode2.neteyelocal clusternode3.neteyelocal"
nodes="<Node1 Internal name> <Node2 Internal name> <...> <NodeN Internal name>"
icinga_home=$(eval echo ~icinga)
monitoring_home=$(eval echo ~monitoring)
#Creating objects on all nodes
for node in $nodes ; do ssh $node "sudo -u icinga ssh-keygen -t rsa -N '' -f $icinga_home/.ssh/id_rsa <<< n" ; done
for node in $nodes ; do ssh $node "useradd monitoring" ; done
monitoring_home=$(eval echo ~monitoring)
for node in $nodes ; do ssh $node "install -d -m 700 -o monitoring -g monitoring $monitoring_home/.ssh" ; done
#Creating authorized keys on local node
touch /home/monitoring/.ssh/authorized_keys
cat /dev/null > /home/monitoring/.ssh/authorized_keys
for node in $nodes ; do ssh $node "cat $icinga_home/.ssh/id_rsa.pub" >> $monitoring_home/.ssh/authorized_keys ; done
#Copying authorized keys on all nodes
for node in $nodes ; do scp "$monitoring_home/.ssh/authorized_keys" "$node:$monitoring_home/.ssh/authorized_keys" ; done
for node in $nodes ; do ssh $node "chmod 600 $monitoring_home/.ssh/authorized_keys" ; done
for node in $nodes ; do ssh $node "chown monitoring:monitoring $monitoring_home/.ssh/authorized_keys" ; done
#Adding sudoers permissions for icinga on local node
touch /etc/sudoers.d/icinga
cat /dev/null > /etc/sudoers.d/icinga
echo 'icinga ALL = NOPASSWD: /usr/sbin/crm_mon' > /etc/sudoers.d/icinga
#Copying sudores permissions to all nodes
for node in $nodes ; do scp /etc/sudoers.d/icinga $node:/etc/sudoers.d/icinga ; done
for node in $nodes ; do ssh $node "chmod 644 /etc/sudoers.d/icinga" ; done
for node in $nodes ; do ssh $node "chown root:root /etc/sudoers.d/icinga" ; done
Setup instructions¶
If all requirements are met, you can now install this package. To manually set up the nep-monitoring-core
package, follow the instructions contained in manual-setup.md
located in the root directory of the package.
When the Package is installed, post-setup steps must be executed to monitor the current NetEye infrastructure.
Post-Setup steps¶
Package nep-monitoring-core
has self-populating capabilities.
To create the required monitoring objects, just run the automations provided by this Package.
- Run the following Import Sources
NetEye infrastructure endpoints Source
NetEye infrastructure child zones Source
- Run the following Sync Rules in the reported order:
NetEye infrastructure endpoints Rule
NetEye infrastructure child zones Rule
This will create the required objects for NetEye Monitoring. Then, the generated Host Objects’ properties must be updated to reflect the current configuration of the NetEye infrastructure:
Open Director
Locate Host Object NetEye Master zone Endpoint
Edit Custom Property Installed modules, selecting all the installed NetEye modules
- If it is a Clustered NetEye deployment
Search NetEye Cluster node inside the Host Objects: all cluster nodes will be found
Edit Custom Property Local Services and select all the eventually installed NetEye Local services
After this, all the required services will be automatically assigned to the right Host Objects.
Then, the new configuration can be safely deployed.
Automatic Object’s update¶
Automations provided by this Package can be freely used to generate and refresh all the required monitoring objects.
NetEye deployments are not updated often, but the automations can be eventually scheduled by the End User in the Jobs
section of Director Automations.
Available Objects¶
Automations provided with this Package can take care of everything themselves. Therefore, is not suggested to the End User to manually use Objects from this Package that are not Import Sources or Sync Rules.
This section contains a description of all the Objects from this package that can be used to build your own monitoring environment.
Director Objects¶
This package contains the following Director Objects:
Host Templates
The following Host Templates can be used to freely create Host Objects. Remember to not edit these Host Templates because they will be restored/updated at the next NEP package update.
Host Template name |
Description |
---|---|
nx-ht-neteye-endpoint-master-cluster |
Defines the NetEye Master Endpoint ( |
nx-ht-neteye-endpoint-master-simple |
Defines the NetEye Master Endpoint ( |
nx-ht-neteye-endpoint-satellite-cluster |
On a Clustered NetEye deployment, represents a Cluster Node |
nx-ht-neteye-endpoint-satellite-simple |
Represents a NetEye Satellite in both single deployment or HA deployment |
nx-ht-neteye-voting-node |
On a Clustered NetEye deployment, represents a Voting Node |
Service Templates
The following Service Templates can be used to freely create Service Objects, Service Apply Rules or Service Sets. Remember to not edit these Service Templates because they will be restored/updated at the next NEP Package update.
Template name |
Run on Agent |
Description |
---|---|---|
nx-st-agent-icinga-cluster-performance |
Yes |
Check returns performance data for the current Icinga instance and connected endpoints |
nx-st-agent-icinga-cluster-zone-performance |
Yes |
Measures the performance of an Icinga Cluster |
nx-st-agent-icinga-ido-performance |
Yes |
Measures the performances of an Icinga IDO Connection |
nx-st-agent-icinga-instance-performance |
Yes |
Measures the performances of an Icinga Instance |
nx-st-agent-linux-cluster-crm-state |
Yes |
Checks the status of a Pacemaker based cluster using crm_mon |
nx-st-agent-linux-drbd9-replica-health-state |
Yes |
Checks the replication status of a DRBD Cluster node |
nx-st-agentless-database-mysql-health |
No |
Checks various performances of a remote MySQL/MariaDB DBMS or Database |
nx-st-agentless-byssh-disk-free-space |
No (By SSH) |
Checks Disk space usage on a Linux computer through a SSH channel |
nx-st-agentless-byssh-unit-state |
No (By SSH) |
Checks SystemD-based unit status on a Linux computer through a SSH channel |
nx-st-agentless-byssh-unit-state-no-enable |
No (By SSH) |
Checks SystemD-based unit status on a Linux computer through a SSH channel |
Service Sets
The following Service Sets can be used to freely monitor Host Objects. Remember to not edit these Service Sets because they will be restored/updated at the next NEP Package update.
Service Set name |
Description |
---|---|
nx-ss-mysql-database-basic-performance |
Perform basic mopnitoring of a MySQL/MariaDB Database |
nx-ss-mysql-dbms-basic-performance |
Perform basic mopnitoring of a MySQL/MariaDB DBMS |
nx-ss-neteye-cluster-node-state |
Monitor a PCS Cluster based node |
nx-ss-neteye-core-cluster-state |
Monitor NetEye Core Module on a Clustered NetEye Deployment |
nx-ss-neteye-core-state |
Monitor NetEye Core Module on a Single-node NetEye Deployment |
nx-ss-neteye-endpoint-basic-performance |
Monitor basic performances of a NetEye Satellite |
nx-ss-neteye-icinga2-satellite-state |
Monitor Icinga2 performances on a NetEye Satellite |
nx-ss-neteye-lampo-state |
Monitor NetEye Lampo service on a Single-node NetEye Deployment |
nx-ss-neteye-linux-pcs-state |
Monitor the status of cluster services on a PCS Cluster based node |
Automations
The following Automations can be used to populate and maintain the monitored Host Objects.
Type |
Automation Name |
Description |
---|---|---|
Import source |
NetEye infrastructure child zones Source |
Get all the available Icinga Cluster Zones |
Import source |
NetEye infrastructure endpoints Source |
Get all the available Icinga Endpoints |
Sync rule |
NetEye infrastructure child zones Rule |
Enables monitoring of Cluster Zones through the right Service Templates |
Sync rule |
NetEye infrastructure endpoints Rule |
Creates all the Host Objects represeting the NetEye Deployment |
ITOA Dashboards¶
The Package does not provide any ITOA Dashboard
Package’s objects list¶
Object Type |
Object Name |
Do not edit |
Containing File |
---|---|---|---|
Director Command |
nx-c-check-crm |
No |
baskets/import/nep-monitoring-core-02-command.json |
Director Command |
nx-c-check-drbd9 |
No |
baskets/import/nep-monitoring-core-02-command.json |
Director Command |
nx-c-check-mysql-health |
No |
baskets/import/nep-monitoring-core-02-command.json |
Director Command |
nx-c-check-systemd-unit |
No |
baskets/import/nep-monitoring-core-02-command.json |
Director Data List |
[NX] Icinga IDO Types List |
No |
baskets/import/nep-monitoring-core-01-datalist.json |
Director Data List |
[NX] MySQL Health Modes List |
No |
baskets/import/nep-monitoring-core-01-datalist.json |
Director Data List |
[NX] NetEye Local Services List |
No |
baskets/import/nep-monitoring-core-01-datalist.json |
Director Data List |
[NX] NetEye Modules List |
No |
baskets/import/nep-monitoring-core-01-datalist.json |
Director Host Template |
nx-ht-neteye-endpoint-master-cluster |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye-endpoint-master |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye-endpoint-master-simple |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye-endpoint |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye-endpoint-satellite-cluster |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye-endpoint-satellite |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye-endpoint-satellite-simple |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Host Template |
nx-ht-neteye-voting-node |
No |
baskets/import/nep-monitoring-core-03-host.json |
Director Service Set |
nx-ss-mysql-database-basic-performance |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-mysql-dbms-basic-performance |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-cluster-node-state |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-core-cluster-state |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-core-state |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-endpoint-basic-performance |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-icinga2-satellite-state |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-lampo-state |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-linux-pcs-state |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Set |
nx-ss-neteye-mysql-dbms-basic-performance |
No |
baskets/import/nep-monitoring-core-05-serviceset.json |
Director Service Template |
nx-st-agent-icinga-cluster-performance |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agent-icinga-cluster-zone-performance |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agent-icinga-ido-performance |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agent-icinga-instance-performance |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agent-icinga |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agentless-byssh-disk-free-space |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agentless-byssh |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agentless-byssh-unit-state |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agentless-byssh-unit-state-no-enable |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agentless-database-mysql-health-neteye |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agentless-database-mysql-health |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agent-linux-cluster-crm-state |
No |
baskets/import/nep-monitoring-core-04-service.json |
Director Service Template |
nx-st-agent-linux-drbd9-replica-health-state |
No |
baskets/import/nep-monitoring-core-04-service.json |