How can we Remove RRD config from Nagios? - nagios

I have Nagios setup for Passive monitoring and we don't use RRD data for any purpose. Is there a way to stop data storage and calculation at RRD. (intent here is to save system resource by stopping RRD calculation)

There's a setting in the main nagios.cfg for process_performance_data, set that to 0 and restart Nagios.
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/configmain.html

Related

Stackdriver Trace PHP: How to send spans in the background?

According to https://cloud.google.com/trace/docs/setup/php, App Engine flexible environment for PHP can run a daemon that sends trace spans to Stackdriver in the background rather than as part of the request processing (which could cause increased response latency).
I am running Kubernetes Engine, but would still like to send trace requests in the background. Therefore:
Is it possible to run that batch daemon myself?
Out of curiosity, how does the Stackdriver PHP Exporter pass these spans to the daemon? I tried to search for that in the source code, but could not find out how it is done.
If #1 is not possible, is there another way to perform span sending in the background?
Stackdriver Trace with Google Cloud Run seems to cover a similar topic, but does not address how to run the daemon manually.
In case anyone else is looking for this, I was able to run the batch daemon as follows:
sudo -u www-data -E vendor/bin/google-cloud-batch daemon
Note that the daemon itself must be run as the same user as your “serving” PHP processes in order to access SysV memory shared between both, hence the sudo.
You will also need the PHP sysv and pcntl extensions enabled.

Choregraphe security issue

I am trying to find a way to secure our robot against unwanted Choregraphe connections. We are required to work on a University-wide network, and we need a way to stop people from connecting who may have obtained the robot's IP address at some stage without our knowledge.
As there is no access to the root user account on the Pepper, I cannot simply lock down access using iptables, so I thought I might try looking at a way to forcibly close connections from ALChoregraphe when it registers on the robot.
However, running the command:
qicli info ALChoregraphe
I can see that the only method available is requestDisconnection. There is no way to close the connection forcibly.
I have tried using ALServiceManager to stop the service, but it apparently only knows about services that are installed as packages.
So far the only solution I have is to change the color of the eye LEDs to indicate that a connection has been established, and reset them when a disconnect is received.
Aside from moving the robot to its own network, do you have any suggestions on how I could go about handling this?
Thanks!
At the moment, there is no other way to prevent connections to the robots. All you can do is to make sure that unwanted clients cannot access the network of your robot.
In Choregraphe 2.4 and later, you can kick the existing Choregraphe after 30 seconds. If anyway it fails, you should unregister the services ALChoregraphe and ALChoregrapheRecorder using qicli call ServiceDirectory.unregisterService <serviceID> where serviceID is the number facing the services when listed with qicli info.

Nagios monitored servers inventory

has anyone from you pulled server hardware data from Nagios to build an inventory? Basically I am trying to create an inventory of an existing servers and hardware components monitored with nagios (i.e. hostname, CPU, MEM, HDD and etc.) There are other ways to do it, but maybe there is a plugin or a way to pull it directly from nagios?
Thanks
You could run this on the command line against your configuration files:
grep "host_name" /usr/local/nagios/etc/objects/hosts.cfg >>output.log
That will output a list of all parameters associated with the host_name line within your configuration.
There is a new mk_inventory plugin for nagios which will pull HW info from the machine

How does Check_MK work with Nagios?

Hi I have just installed a clean copy of Nagios and Check_MK. But I don't understand how they work together. Nagios uses nrpe to connect to clients and performs checks. This means that some Nagios plugins have to sit on the client and return results from when they are called. But how does Check_MK tie into Nagios. Does it use check_mk_agent to replace all the Nagios plugins to perform its checks? Also does the Nagios configurations all have to be fully configured with all the clients already in place to be checked and then ported to Check_MK interface (wato) or can the clients be added to Check_MK without being present in the Nagios configurations. This is where my confusion lies and I cant find a concrete answer to this question anywhere. Please help.
Check_MK uses Nagios core for theses tasks:
Manage Check results
Triggering of alarms
Manage planned downtimes
Test host availability
Detect network failures
As you can see at the bottom of this page: http://mathias-kettner.com/checkmk_monitoring_system.html
Check_MK needs both: client side monitoring agent and server side monitoring system.
The server side monitoring system calls the agent of the host and passes the check results to the monitoring core (usually Nagios but there is also an new core just for Check_MK).
What makes Check_MK different from other passive Checks (like NRPE) is that the results for all checks is send to the monitoring system in one package. If you run the agent on a host in a shell it will return something like this:
➜ ~ check_mk_agent
<<<df>>>
/dev/mapper/MyStorage-rootvol ext4 15350768 13206900 1341052 91% /
dev devtmpfs 4022348 0 4022348 0% /dev
plus many more lines ....
So the server side part of Check_MK splits these packages into single checks so that the Nagios core can handle them.
So Check_MK wont replace your existing checks, it doesn't care about them. It will just add more.
You don't necessary need WATO to configure Check_MK. WATO is just an interface for the configuration. Configuration can also be done with plain text files. You should start with WATO and take a look at the configuration it has generated.

Create Nagios Metric to Show Host CPU Usage

I want to create metric that show the current CPU Usage on a host.
Metric that I want is like on the Ganglia (gweb)
How I can build that?
If the host is Linux/UNIX you could install NRPE on the monitored host, then use check_nrpe to remotely run the check_cpu plugin.
If the host is windows, you could install NC_Net on the monitored host, then use check_nt to query the CPU usage.
If the host is SNMP-capable, you could use check_snmp to query the CPU OID , either 1.3.6.1.4.1.2021.11.11.0 (NET-SNMP) or 1.3.6.1.4.1.9.2.1.58.0 (HOST-MIB)
If the host is a VMware guest, then you need to query the VirtualCentre. Check on monitoringexchange.org for the check_vmware plugin.
This will allow Nagios to alert based on CPU usage thresholds. To obtain graphs and so on (as in Ganglia) you will need to add something like pnp4nagios to graph the perfstats.

Resources