Real Time Graphics - HTML5 and GAUGES

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Cristhian_Plaza
Posts: 62
Joined: Thu Oct 27, 2016 2:43 pm

Re: Real Time Graphics - HTML5 and GAUGES

Post by Cristhian_Plaza »

dwhitfield wrote:What's the output of systemctl status nagios.service?

I'm just walking back through the steps to see where things went wrong.
Ok, no problem

The output is:

Code: Select all

systemctl status nagios.service
● nagios.service - LSB: Starts and stops the Nagios monitoring server
   Loaded: loaded (/etc/rc.d/init.d/nagios; bad; vendor preset: disabled)
   Active: active (running) since Fri 2017-01-13 11:00:04 EST; 2h 8min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 16957 ExecStop=/etc/rc.d/init.d/nagios stop (code=exited, status=0/SUCCESS)
  Process: 16964 ExecStart=/etc/rc.d/init.d/nagios start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nagios.service
           ├─16984 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
           ├─16986 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           ├─16987 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           ├─16988 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           ├─16989 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           └─16990 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

Jan 13 12:06:38 ip-172-31-51-197.ec2.internal nagios[16984]: wproc:   host=GLPI; service=MySQL ALL:mysql_query_valid_count INCORRECTO; contact=nagiosadmin
Jan 13 12:06:38 ip-172-31-51-197.ec2.internal nagios[16984]: wproc:   early_timeout=0; exited_ok=1; wait_status=32512; error_code=0;
Jan 13 12:06:38 ip-172-31-51-197.ec2.internal nagios[16984]: wproc:   stderr line 01: /bin/sh: /bin/mail: No such file or directory
Jan 13 12:24:06 ip-172-31-51-197.ec2.internal nagios[16984]: SERVICE NOTIFICATION: nagiosadmin;GLPI;MySQL ALL:mysql_query_valid_val INCORRECTO;CRITICAL;notif...returned
Jan 13 12:24:06 ip-172-31-51-197.ec2.internal nagios[16984]: wproc: NOTIFY job 52 from worker Core Worker 16987 is a non-check helper but exited with return code 127
Jan 13 12:24:06 ip-172-31-51-197.ec2.internal nagios[16984]: wproc:   host=GLPI; service=MySQL ALL:mysql_query_valid_val INCORRECTO; contact=nagiosadmin
Jan 13 12:24:06 ip-172-31-51-197.ec2.internal nagios[16984]: wproc:   early_timeout=0; exited_ok=1; wait_status=32512; error_code=0;
Jan 13 12:24:06 ip-172-31-51-197.ec2.internal nagios[16984]: wproc:   stderr line 01: /bin/sh: /bin/mail: No such file or directory
Jan 13 12:24:06 ip-172-31-51-197.ec2.internal nagios[16984]: wproc:   stderr line 02: /usr/bin/printf: write error: Broken pipe
Jan 13 13:00:04 ip-172-31-51-197.ec2.internal nagios[16984]: Auto-save of retention data completed successfully.
Hint: Some lines were ellipsized, use -l to show in full.
dwhitfield
Former Nagios Staff
Posts: 4583
Joined: Wed Sep 21, 2016 10:29 am
Location: NoLo, Minneapolis, MN
Contact:

Re: Real Time Graphics - HTML5 and GAUGES

Post by dwhitfield »

ok, this was a bug in 2.1.1, which is fixed in 2.1.2.

I went over the instructions with the main developer as they pertain to 2.1.2 and you should be good to go using the instructions I gave, but with 2.1.2 instead of 2.1.1.
Cristhian_Plaza
Posts: 62
Joined: Thu Oct 27, 2016 2:43 pm

Re: Real Time Graphics - HTML5 and GAUGES

Post by Cristhian_Plaza »

dwhitfield wrote:ok, this was a bug in 2.1.1, which is fixed in 2.1.2.

I went over the instructions with the main developer as they pertain to 2.1.2 and you should be good to go using the instructions I gave, but with 2.1.2 instead of 2.1.1.
Great all runs perfect with 2.1.2, so the last line was to show the status of Nagios I think is beacuse you wanna read it.

Code: Select all

# systemctl status nagios.service
● nagios.service - LSB: Starts and stops the Nagios monitoring server
   Loaded: loaded (/etc/rc.d/init.d/nagios; bad; vendor preset: disabled)
   Active: active (running) since Fri 2017-01-13 15:48:04 EST; 1min 52s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 30471 ExecStop=/etc/rc.d/init.d/nagios stop (code=exited, status=0/SUCCESS)
  Process: 30478 ExecStart=/etc/rc.d/init.d/nagios start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nagios.service
           ├─30499 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
           ├─30501 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           ├─30502 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           ├─30503 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           ├─30504 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
           └─30505 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: wproc: Registry request: name=Core Worker 30502;pid=30502
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: wproc: Registry request: name=Core Worker 30503;pid=30503
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: wproc: Registry request: name=Core Worker 30504;pid=30504
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: wproc: Registry request: name=Core Worker 30501;pid=30501
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: ndomod: NDOMOD 2.1.2 (11-14-2016) Copyright (c) 2009 Nagios Core Development Team and Community ...ributors
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: ndomod: Could not open data sink!  I'll keep trying, but some output may get lost...
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: ndomod registered for contact data'
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: ndomod registered for contact notification data'
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Jan 13 15:48:04 ip-172-31-51-197.ec2.internal nagios[30499]: Successfully launched command file worker with pid 30505
Hint: Some lines were ellipsized, use -l to show in full.
[root@ip-172-31-51-197 ndoutils-2.1.2]#
Cristhian_Plaza
Posts: 62
Joined: Thu Oct 27, 2016 2:43 pm

Re: Real Time Graphics - HTML5 and GAUGES

Post by Cristhian_Plaza »

dwhitfield wrote:ok, this was a bug in 2.1.1, which is fixed in 2.1.2.

I went over the instructions with the main developer as they pertain to 2.1.2 and you should be good to go using the instructions I gave, but with 2.1.2 instead of 2.1.1.
Now I want to know something..., I am building a graphics system with the google's charts API, but I think that I need the performance data..., I was reading on Internet and knew that It is possible, but I don't know how to use NDOUtils for storing performance data, I have read something of documentation but there don't find anything, another thing is that NDOUtils now isn't storing anything because my DB are empty
dwhitfield
Former Nagios Staff
Posts: 4583
Joined: Wed Sep 21, 2016 10:29 am
Location: NoLo, Minneapolis, MN
Contact:

Re: Real Time Graphics - HTML5 and GAUGES

Post by dwhitfield »

People usually use something like rrdtool for performance data.

https://exchange.nagios.org/directory/A ... er/details may give you some ideas on connecting the two, but the code posted on exchange is very old, so it will likely require some modification.
Cristhian_Plaza
Posts: 62
Joined: Thu Oct 27, 2016 2:43 pm

Re: Real Time Graphics - HTML5 and GAUGES

Post by Cristhian_Plaza »

dwhitfield wrote:People usually use something like rrdtool for performance data.

https://exchange.nagios.org/directory/A ... er/details may give you some ideas on connecting the two, but the code posted on exchange is very old, so it will likely require some modification.
+

Ok.., It doesn't matter for now if it doesn't integrate with Nagios, for graphing with google's charts API, I need to get performance data, and I know that it is possible but I don't know how to do it in fact my database for now is empty and I don't know if it's normal.
dwhitfield
Former Nagios Staff
Posts: 4583
Joined: Wed Sep 21, 2016 10:29 am
Location: NoLo, Minneapolis, MN
Contact:

Re: Real Time Graphics - HTML5 and GAUGES

Post by dwhitfield »

Cristhian_Plaza wrote:, I need to get performance data
Here is our documentation on performance data: https://assets.nagios.com/downloads/nag ... fdata.html
I don't know how to do it in fact my database for now is empty and I don't know if it's normal.
Could you post your /usr/local/nagios/etc/ndo2db.cfg and your /usr/local/nagios/etc/ndomod.cfg

Thanks!
Cristhian_Plaza
Posts: 62
Joined: Thu Oct 27, 2016 2:43 pm

Re: Real Time Graphics - HTML5 and GAUGES

Post by Cristhian_Plaza »

dwhitfield wrote:
Cristhian_Plaza wrote:, I need to get performance data
Here is our documentation on performance data: https://assets.nagios.com/downloads/nag ... fdata.html
I don't know how to do it in fact my database for now is empty and I don't know if it's normal.
Could you post your /usr/local/nagios/etc/ndo2db.cfg and your /usr/local/nagios/etc/ndomod.cfg

Thanks!
I have activate the performance data, I am getting those data. I mean must get this information in my database for that reason I installed NDOUtils. I am graphing now with pnp4Nagios but I want to change for I said.

Code: Select all

#####################################################################
# NDO2DB DAEMON CONFIG FILE
#
# Last Modified: 01-02-2009
#####################################################################



# LOCK FILE
# This is the lockfile that NDO2DB will use to store its PID number
# in when it is running in daemon mode.

lock_file=/usr/local/nagios/var/ndo2db.pid



# USER/GROUP PRIVILIGES
# These options determine the user/group that the daemon should run as.
# You can specify a number (uid/gid) or a name for either option.

ndo2db_user=nagios
ndo2db_group=nagios



# SOCKET TYPE
# This option determines what type of socket the daemon will create
# an accept connections from.
# Value:
#   unix = Unix domain socket (default)
#   tcp  = TCP socket

socket_type=unix
#socket_type=tcp



# SOCKET NAME
# This option determines the name and path of the UNIX domain
# socket that the daemon will create and accept connections from.
# This option is only valid if the socket type specified above
# is "unix".

socket_name=/usr/local/nagios/var/ndo.sock



# TCP PORT
# This option determines what port the daemon will listen for
# connections on.  This option is only vlaid if the socket type
# specified above is "tcp".

tcp_port=5668



# ENCRYPTION
# This option determines if the ndo2db daemon will accept SSL to encrypt the
# network traffic between module and ndo2db daemon.
# Both sides have to enable this feature which depends on SSL Libraries
# like openssl or kerberos
# This option is only valid if the output type
# option specified above is "tcpsocket".
#
# A value of '1' will enable this feature

use_ssl=0



# DATABASE SERVER TYPE
# This option determines what type of DB server the daemon should connect to.
# Values:
#   mysql = MySQL

db_servertype=mysql


# DATABASE HOST
# This option specifies what host the DB server is running on.

db_host=localhost



# DATABASE PORT
# This option specifies the port that the DB server is running on.
# Values:
#  3306 = Default MySQL port

db_port=3306



# DATABASE SOCKET
# This option specifies the path to the socket to use for local DB connections.
#
# MySQL's default location is /tmp/mysql.sock, but /var/lib/mysql/mysql.sock
# is common for RPM distributions, and /var/run/mysqld/mysqld.sock is seen on
# Ubuntu...
#
# You normally do not need to set this option unless you experience connection
# problems with messages in NDO2DB's log like:
#   "Can't connect to local MySQL server through socket ..."

#db_socket=/var/lib/mysql/mysql.sock



# DATABASE NAME
# This option specifies the name of the database that should be used.

db_name=nagios



# DATABASE TABLE PREFIX
# Determines the prefix (if any) that should be prepended to table names.
# If you modify the table prefix, you'll need to modify the SQL script for
# creating the database!

db_prefix=nagios_



# DATABASE USERNAME/PASSWORD
# This is the username/password that will be used to authenticate to the DB.
# The user needs at least SELECT, INSERT, UPDATE, and DELETE privileges on
# the database.

db_user=ndoutils
db_pass=Eys.DevTeam10



## TABLE TRIMMING OPTIONS
# Several database tables containing Nagios event data can become quite large
# over time.  Most admins will want to trim these tables and keep only a
# certain amount of data in them.  The options below are used to specify the
# age (in MINUTES) that data should be allowd to remain in various tables
# before it is deleted.  Using a value of zero (0) for any value means that
# that particular table should NOT be automatically trimmed.

# Keep timed events for 24 hours
max_timedevents_age=1440

# Keep system commands for 1 week
max_systemcommands_age=10080

# Keep service checks for 1 week
max_servicechecks_age=10080

# Keep host checks for 1 week
max_hostchecks_age=10080

# Keep event handlers for 31 days
max_eventhandlers_age=44640

# Keep external commands for 31 days
max_externalcommands_age=44640

# Keep notifications for 31 days
max_notifications_age=44640

# Keep contactnotifications for 31 days
max_contactnotifications_age=44640

# Keep contactnotificationmethods for 31 days
max_contactnotificationmethods_age=44640

# Keep logentries for 90 days
max_logentries_age=129600

# Keep acknowledgements for 31 days
max_acknowledgements_age=44640



# DEBUG LEVEL
# This option determines how much (if any) debugging information will
# be written to the debug file.  OR values together to log multiple
# types of information.
# Values: -1 = Everything
#          0 = Nothing
#          1 = Process info
#          2 = SQL queries

debug_level=0



# DEBUG VERBOSITY
# This option determines how verbose the debug log out will be.
# Values: 0 = Brief output
#         1 = More detailed
#         2 = Very detailed


debug_verbosity=1



# DEBUG FILE
# This option determines where the daemon should write debugging information.

debug_file=/usr/local/nagios/var/ndo2db.debug



# MAX DEBUG FILE SIZE
# This option determines the maximum size (in bytes) of the debug file.  If
# the file grows larger than this size, it will be renamed with a .old
# extension.  If a file already exists with a .old extension it will
# automatically be deleted.  This helps ensure your disk space usage doesn't
# get out of control when debugging.

max_debug_file_size=1000000

Code: Select all

#####################################################################
# NDOMOD CONFIG FILE
#
# Last Modified: 09-05-2007
#####################################################################


# INSTANCE NAME
# This option identifies the "name" associated with this particular
# instance of Nagios and is used to seperate data coming from multiple
# instances.  Defaults to 'default' (without quotes).

instance_name=default



# OUTPUT TYPE
# This option determines what type of output sink the NDO NEB module
# should use for data output.  Valid options include:
#   file       = standard text file
#   tcpsocket  = TCP socket
#   unixsocket = UNIX domain socket (default)

#output_type=file
#output_type=tcpsocket
output_type=unixsocket



# OUTPUT
# This option determines the name and path of the file or UNIX domain
# socket to which output will be sent if the output type option specified
# above is "file" or "unixsocket", respectively.  If the output type
# option is "tcpsocket", this option is used to specify the IP address
# of fully qualified domain name of the host that the module should
# connect to for sending output.

#output=/usr/local/nagios/var/ndo.dat
#output=127.0.0.1
output=/usr/local/nagios/var/ndo.sock



# TCP PORT
# This option determines what port the module will connect to in
# order to send output.  This option is only valid if the output type
# option specified above is "tcpsocket".

tcp_port=5668



# ENCRYPTION
# This option determines if the module will use SSL to encrypt the
# network traffic between module and ndo2db daemon.
# Both sides have to enable this feature which depends on SSL Libraries
# like openssl or kerberos
# This option is only valid if the output type
# option specified above is "tcpsocket".
#
# A value of '1' will enable this feature

use_ssl=0



# OUTPUT BUFFER
# This option determines the size of the output buffer, which will help
# prevent data from getting lost if there is a temporary disconnect from
# the data sink.  The number of items specified here is the number of
# lines (each of variable size) of output that will be buffered.

output_buffer_items=5000



# BUFFER FILE
# This option is used to specify a file which will be used to store the
# contents of buffered data which could not be sent to the NDO2DB daemon
# before Nagios shuts down.  Prior to shutting down, the NDO NEB module
# will write all buffered data to this file for later processing.  When
# Nagios (re)starts, the NDO NEB module will read the contents of this
# file and send it to the NDO2DB daemon for processing.

buffer_file=/usr/local/nagios/var/ndomod.tmp



# FILE ROTATION INTERVAL
# This option determines how often (in seconds) the output file is
# rotated by Nagios.  File rotation is handled by Nagios by executing
# the command defined by the file_rotation_command option.  This
# option has no effect if the output_type option is a socket.

file_rotation_interval=14400



# FILE ROTATION COMMAND
# This option specified the command (as defined in Nagios) that is
# used to rotate the output file at the interval specified by the
# file_rotation_interval option.  This option has no effect if the
# output_type option is a socket.
#
# See the file 'misccommands.cfg' for an example command definition
# that you can use to rotate the log file.

#file_rotation_command=rotate_ndo_log



# FILE ROTATION TIMEOUT
# This option specified the maximum number of seconds that the file
# rotation command should be allowed to run before being prematurely
# terminated.

file_rotation_timeout=60



# RECONNECT INTERVAL
# This option determines how often (in seconds) that the NDO NEB
# module will attempt to re-connect to the output file or socket if
# a connection to it is lost.

reconnect_interval=15



# RECONNECT WARNING INTERVAL
# This option determines how often (in seconds) a warning message will
# be logged to the Nagios log file if a connection to the output file
# or socket cannot be re-established.

reconnect_warning_interval=15
#reconnect_warning_interval=900




# DATA PROCESSING OPTIONS
# These options determine what data the NDO NEB Module will process
#
acknowledgement_data=1
adaptive_contact_data=1
adaptive_host_data=1
adaptive_program_data=1
adaptive_service_data=1
aggregated_status_data=1
comment_data=1
contact_status_data=1
downtime_data=1
event_handler_data=1
external_command_data=1
flapping_data=1
host_check_data=1
host_status_data=1
log_data=1
main_config_data=1
notification_data=1
object_config_data=1
process_data=1
program_status_data=1
retention_data=1
service_check_data=1
service_status_data=1
state_change_data=1
system_command_data=1
timed_event_data=1


# CONFIG OUTPUT OPTION
# This option determines what types of configuration data the NDO
# NEB module will dump from Nagios.  Values can be OR'ed together.
# Values:
#         0 = Don't dump any configuration information
#         1 = Dump only original config (from config files)
#         2 = Dump config only after retained information has been restored
#         3 = Dump both original and retained configuration

config_output_options=2
dwhitfield
Former Nagios Staff
Posts: 4583
Joined: Wed Sep 21, 2016 10:29 am
Location: NoLo, Minneapolis, MN
Contact:

Re: Real Time Graphics - HTML5 and GAUGES

Post by dwhitfield »

NDOUtils is designed to store all configuration and event data from Nagios in a database. It's not meant for performance data. We can certainly work to get your NDOUtils working, but if you are trying to graph performance data, I really think you should be looking at rrdtool.

As for the issue of getting something realish time, I would look at the APIs in NCPA and in NSClient. We aren't really going to be able to help build the solution, but those both have APIs you might find useful. While NCPA is ours, NSClient is not. Here's information on installing NCPA: https://assets.nagios.com/downloads/ncp ... g_NCPA.pdf

Also, depending on what information you are trying to graph, you might find https://www.nagios.com/products/nagios-log-server/ useful.
Cristhian_Plaza
Posts: 62
Joined: Thu Oct 27, 2016 2:43 pm

Re: Real Time Graphics - HTML5 and GAUGES

Post by Cristhian_Plaza »

dwhitfield wrote:NDOUtils is designed to store all configuration and event data from Nagios in a database. It's not meant for performance data. We can certainly work to get your NDOUtils working, but if you are trying to graph performance data, I really think you should be looking at rrdtool.

As for the issue of getting something realish time, I would look at the APIs in NCPA and in NSClient. We aren't really going to be able to help build the solution, but those both have APIs you might find useful. While NCPA is ours, NSClient is not. Here's information on installing NCPA: https://assets.nagios.com/downloads/ncp ... g_NCPA.pdf

Also, depending on what information you are trying to graph, you might find https://www.nagios.com/products/nagios-log-server/ useful.
Then, If NDOUtils can't store performance data, how this user (https://exchange.nagios.org/directory/A ... 1484146529) supposedly can do graphics?. So I don't know if I'm wrong but, all that I need is store the output of the services, for integrate with google's charts API. No more.

If I am wrong please, correct me.
Locked