View previous topic :: View next topic |
Author |
Message |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Sun Dec 05, 2004 11:18 pm Post subject: HOWTO: Configure Nagios with MySQL and Apache2 |
|
|
What's Nagios?
It's an insanely great open source monitoring system used at many places.
It was formerly known as Netsaint until the author ran into some legal naming issues involving an unrelated company, so he changed the name to Nagios and kept moving ahead.
It doesn't have some of the more advanced features of more expensive monitoring software, but it's fairly well-rounded, easily extended, and has a smaller learning curve than for most monitoring software. And, hey, you can't beat the price!
http://www.nagios.org
How to install and configure Nagios:
This document assumes that either:
You have 'mysql' listed in your USE flags in /etc/make.conf
OR
You may have an entry in /etc/portage/package.use that says 'net-analyzer/nagios-core mysql' and 'net-analyzer/nagios-plugins mysql' in it.
You may choose to use PostgreSQL instead of MySQL, but I will only document what it takes to integrate Nagios with MySQL. Most of the steps are probably identical for PostgreSQL with a few minor changes, I'd imagine.
The database is used to store polled data about hosts and services.
This will install the various Nagios-related ebuilds:
Now you need to set up your configuration files -- this assumes it is a first time install of Nagios:
Code: | # cd /etc/nagios
# cp /usr/share/doc/nagios-core-1.2-r2/sample-configs/* .
# gunzip *.gz |
If you are doing this with bash, you can do this to rename the files:
Code: | # for file in *-sample
do
mv "$file" "${file/%-sample/}"
done |
Edit the config files using your favorite text editor. I chose vi, so:
Some tips about configuring these files:
You will have to remove any hosts, services, or service groups that you aren't planning on using, or to comment them out, or Nagios will complain about them when it starts up.
You can leave the 'define command' stanzas in checkcommands.cfg alone, though.
Most of the defaults in various configuration files are already sane, so uncomment them.
Don't worry about resources.cfg right now. We'll come back to it later.
Also ignore the database-specific portion of cgi.cfg (at the end) but do work on most of that config file.
Alter any options to your liking -- for instance, I changed the notifications from workhours to 24x7, and enabled my nagios admin account for getting full viewing/modifying access.
It's trivial to add an entry for ssh (nagios-plugins ebuild already comes with check_ssh) in checkcommands.cfg, if you like.
My suggestion for the first-time Nagios admin is to start out very, very small with services and hosts. Suggestion: 1 service (ping), 1 host (same machine), no host groups. You can always add in all the hosts/services you want later, once all this is fully working.
So I defined a service in services.cfg that calls check_ping for the same machine the Nagios server runs on, and defined the host information in hosts.cfg. That's the most basic setup you can have for services/hosts.
How to configure Apache:
Nagios also requires a web server -- I chose apache2.
If you haven't installed apache 2.0, then:
To enable Nagios in Apache 2:
Code: | # vi /etc/conf.d/apache2 |
And change APACHE2_OPTS to include -D NAGIOS
You need to create at least one Nagios user that will have access to the web site. This assumes you have not created the file previously:
Code: | # htpasswd2 -c /etc/nagios/htpasswd.users nagadm |
(and enter the desired password when prompted above.)
If you want to add more users, do not use the '-c' flag to htpasswd2. -c means create, which will overwrite if the file already exists.
For long-term administrative ease, I also created a group file:
Code: | # vi /etc/nagios/htpasswd.group
nagios: nagadm foobob johndoe janedoe |
Set up a .htaccess file to actually apply the access control:
Code: | # vi /usr/nagios/sbin/.htaccess
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/htpasswd.users
AuthGroupFile /etc/nagios/htpasswd.group
require group nagios |
How to configure MySQL:
Now you need to set up the initial MySQL database tables (assuming this is the first time you've installed it on your machine):
Now you need to set a password for the MySQL user named 'root' to avoid getting easily cracked. Pick a well chosen password, please.
To do this, you need to start the MySQL server:
Code: | # /etc/init.d/mysql start |
Now do the actual password creation for the root DB user:
Code: | # mysqladmin -u root -h <FQDN hostname of your machine> password <MySQL's root password>
# mysqladmin -u root password <MySQL's root password> |
The password for the root account is NOT the same as what you will use for Nagios! Do NOT use the same password for both! Also, do NOT use the same root password for /etc/shadow as the same root password for the DB user named 'root'!
MySQL will run on port 3306, but will bind to 127.0.0.1 by default (according to /etc/mysql/my.cnf) for security reasons. This is fine, since Nagios runs on the same machine in my single-machine setup.
If your Nagios and MySQL setups are on separate machines, then you will obviously need to adjust your configs to point to the right place and also apply some sort of security filtering (e.g. iptables, router ACLs, etc) as a final layer of protection. YOU DO NOT WANT TO GET HACKED!
But if you run MySQL and Nagios on the same machine, then you have no need to adjust anything else.
Create the Nagios database itself -- it will be devoid of tables; we'll get to that shortly:
Code: | # mysqladmin -u root -p create nagios |
(We do not need to name it nagios. You could call it icecream if you wanted, as long as all the config files and grant SQL statements matched the chosen database name. But since I'm boring, we'll use nagios as the database name for Nagios. )
Having created the Nagios DB, we now need to create the various tables in it:
Code: | # mysql -u root -p
mysql> use nagios
mysql> source /usr/nagios/contrib/database/create_mysql
mysql> quit |
Now you need to:
1) Invent a DB username and password for the Nagios stuff to dump info in the DB
2) Invent a different DB username and password for the Nagios *CGIs* to read information from the DB
The user/pass for #1 and #2 should be different, especially since they have different needs, access, and privileges.
Pick any username/password you like -- it will reside only in the DB, and not in /etc/passwd on your machine.
For #1, I chose nagios-db. For #2, I chose nagios-cgi.
We will now create these users in the DB with 'vi mknagios-sql.sh':
Code: | #!/bin/sh
# Name: mknagios-sql.sh
#
# Purpose: This file will ask the user for the Nagios DB user/pass and
# for the Nagios CGI user/pass, then generate a file with the SQL
# statements required to set up access for both users.
#
# How to run: This script takes no input arguments; it prompts for the info.
#
# Note: This assumes Nagios and MySQL will be running on the same
# server. If this assumption is false, then modify nagios_host variable to
# match the FQDN hostname of the Nagios server.
#
# License: Public domain with no redistribution or modification limitations.
# Clean up stuff in case we abort due to ctrl-c'ing out early
trap "stty echo ; rm -f /tmp/mknagios.sql >/dev/null 2>&1 ; exit 1" 2
# Define key variables
outfile="/tmp/mknagios.sql"
nagios_host="localhost"
dbusr_tables="hostdowntime servicedowntime hostcomments servicecomments"
dbusr_tables="${dbusr_tables} programstatus hoststatus"
dbusr_tables="${dbusr_tables} servicestatus programretention"
dbusr_tables="${dbusr_tables} hostretention serviceretention"
cgiusr_tables="hostdowntime servicedowntime hostcomments servicecomments"
cgiusr_tables="${cgiusr_tables} programstatus hoststatus servicestatus"
cgiusr_tables="${cgiusr_tables} hostextinfo serviceextinfo"
# If the output file already exists from a previous run, be nice and
# move it out of the way instead of nuking it.
mv -f ${outfile} ${outfile}.old >/dev/null 2>&1
# Inform the user they may accept default usernames but MUST enter a password
echo "Note: you may press enter for the username choices if you accept the"
echo "suggested default names."
echo
echo "You MUST enter a password, and the passwords echo SHOULD be different."
echo
# Ask for desired nagios DB username
echo -n "Please enter the Nagios DB username: [nagios-db] "
read dbusr
# Select the default username if user pressed return to accept it
if [ -z "${dbusr}" ]; then
dbusr="nagios-db"
fi
# Ask for desired nagios DB password
echo -n "Please enter the Nagios DB password: "
stty -echo
read dbpass
stty echo
echo
echo
# Did the user enter a password? If not, bail out
if [ -z "${dbpass}" ]; then
echo "Oops. You didn't enter a password. Exiting."
exit 1
fi
# Ask for desired nagios CGI username
echo -n "Please enter the Nagios CGI username: [nagios-cgi] "
read cgiusr
# Select the default username if user pressed return to accept it
if [ -z "${cgiusr}" ]; then
cgiusr="nagios-cgi"
fi
# Ask for desired nagios CGI password
echo -n "Please enter the Nagios CGI password: "
stty -echo
read cgipass
stty echo
echo
echo
# Did the user enter a password? If not, bail out
if [ -z "${cgipass}" ]; then
echo "Oops. You didn't enter a password. Exiting."
exit 1
fi
# Create output file with SQL statements
for table in ${dbusr_tables}
do
(echo -n "GRANT select,insert,update,delete"
echo -n " ON nagios.${table}"
echo -n " TO '${dbusr}'@'${nagios_host}'"
echo -n " IDENTIFIED BY '${dbpass}';"
echo ) >> ${outfile}
done
for table in ${cgiusr_tables}
do
(echo -n "GRANT select"
echo -n " ON nagios.${table}"
echo -n " TO '${cgiusr}'@'${nagios_host}'"
echo -n " IDENTIFIED BY '${cgipass}';"
echo ) >> ${outfile}
done
(echo -n "GRANT lock tables ON nagios.* TO '${dbusr}'@'${nagios_host}'"
echo " IDENTIFIED BY '${dbpass}';" ) >> ${outfile}
(echo -n "GRANT lock tables ON nagios.* TO '${cgiusr}'@'${nagios_host}'"
echo " IDENTIFIED BY '${cgipass}';" ) >> ${outfile}
echo "FLUSH PRIVILEGES;" >> ${outfile}
# Inform user the file is ready and where to pick it up.
echo "You may use ${outfile} for the next step of Nagios+MySQL
installation."
# We're done, go in peace.
exit 0 |
To run the script:
Code: | # chmod 700 mknagios-sql.sh
# ./mknagios-sql.sh
Note: you may press enter for the username choices if you like the
suggested default names.
You MUST enter a password, and the passwords echo SHOULD be different.
Please enter the Nagios DB username: [nagios-db]
Please enter the Nagios DB password:
Please enter the Nagios CGI username: [nagios-cgi]
Please enter the Nagios CGI password:
You may use /tmp/mknagios.sql for the next step of Nagios+MySQL installation. |
Some comments about the script's generated SQL statements:
FLUSH PRIVILEGES is to make MySQL apply the GRANTs immediately. Saves us from having to restart MySQL!
Also, note that the access specifies it will be done via localhost, which is what we want if we're running Nagios and MySQL on the same machine. If this is not the case, then change localhost to whatever hostname or IP the SQL stuff from Nagios will come from.
Why do we not do the GRANT select ON nagios.* TO 'nagios-cgi'? Because the CGI only needs select access on certain tables. Likewise for the nagios-db user. So to remain secure, we spend a little more time and effort to specify the full table name instead of wildcarding it.
The GRANT lock tables SQL statement is specific to MySQL with a BerkDB database. It is needed by nagios-db to briefly lock the db from changes long enough to insert new data then unlock. That way, the CGI won't get partial data during a query.
This is required because MySQL doesn't have transactional processing with BerkDB databases, though it does support transactions with an InnoDB database. Long story made short: the default MySQL ebuild will use a BerkDB database by default.
If you are using PostgreSQL, the GRANT lock tables stuff may or may not apply.
Now we will actually execute these SQL statements by:
Code: | # mysql -u root -p
mysql> source /tmp/mknagios.sql |
It should output a bunch of lines saying 'QUERY OK, 0 rows affected'. If it didn't, then you likely have a problem somewhere... especially if it complains of a SQL syntax error. If any problems pops up, fix them before proceeding further.
Let's go back to a key Nagios config file now:
Code: | # vi /etc/nagios/resource.cfg |
Basically, uncomment everything.
I'm not sure if you need $USER3$ and $USER4$, so can probably leave these commented out. I haven't seen any issues from leaving them commented out, and I see no references to $USER3$ or $USER4$ in any of the Nagios config files, so I think we're safe leaving these two lines commented out.
Change all *_host references to point to localhost (unless the SQL server is on a separate machine or IP).
Change all *_port to 3306 (MySQL default port, unless otherwise configured).
Change all *_database to nagios (unless you used a different database name in the CREATE and GRANT stuff from earlier).
Change all *_username to nagios-db
Change all *_password to the password chosen for nagios-db
Now, edit one more file:
Code: | # vi /etc/nagios/cgi.cfg |
Do similar changes for the *_host/*_port/*_database/*_username like you did with resource.cfg.
Only, this time, use nagios-cgi as the username and whatever password you chose for the nagios-cgi user.
nagios-db and nagios-cgi SHOULD NOT have the same password!
Getting ready to start up everything:
Start the web server:
Code: | # /etc/init.d/apache2 start |
Since we installed Nagios with MySQL support, I would suggest modifying the init startup script to ensure it will start the database before starting Nagios.
Code: | # vi /etc/init.d/nagios |
...and change depend() to read:
Code: | depend() {
need net mysql
use dns logger
after mysql
} |
There is a small chance you would need to add a 'sleep 2' statement to the beginning of the start() function if your MySQL database doesn't fully initialize quickly enough before Nagios runs. You probably don't want to add this unless you notice problems with Nagios starting and trying to do stuff before the database has fully loaded.
One last thing before starting Nagios... let's check the configs for sanity:
Code: | # /usr/nagios/bin/nagios -v /etc/nagios/nagios.cfg |
It MUST have 0 errors, and SHOULD have 0 warnings.
I would strongly recommend you edit the config files in /etc/nagios if necessary until you have both 0 errors and 0 warnings.
-v is the mode where Nagios only checks the configs for sanity. It does not start up when -v is specified.
And now, the grand finale:
Code: | # /etc/init.d/nagios start |
It should automatically start MySQL if it isn't already running, and then start Nagios.
If everything went well, you can fire up your favorite web browser and go to http://localhost/nagios
Click on any of the links along the left side to check them out, though I'm particularly fond of the 'Service Detail' link. (It may take a minute or two for the very first Nagios run to poll data.)
Clicking on various links should prompt you for an user/pass to enter; enter nagadm and whatever password you created with htpasswd2 before.
I made up 'nagadm', but it could be any username you wanted -- 'foobar' is fine, as long as it's in the nagios group list in htpasswd.group and has an encrypted password in htpasswd.users.
Once you have entered an username/password that is valid at the browser's auth dialog box (when prompted), you won't need to enter it again for a while.
If you want Nagios/MySQL to start at boot time, permanently:
Code: | # rc-update add nagios default |
(No need to do a rc-update for MySQL since Nagios will start it if necessary.)
You probably also want to make sure your web server starts at boot time:
Code: | # rc-update add apache2 default |
It is not required to have a web server running to enjoy some of Nagios' benefits since Nagios will, on its own, send email/pages and execute actions. But without a web server running, it's hard to keep a close eye on things. So I highly recommend running a web server.
Documentation:
http://127.0.0.1/nagios/docs/toc.html
http://www.nagios.org/docs/
http://dev.mysql.com/doc/mysql/en/index.html
http://httpd.apache.org/docs-2.0/
Stuck? Having problems?
With something as involved as this, and many 'moving parts', it is quite likely that something will not work. Don't get frustrated and lose hope! It took me a few hours to figure out everything.
If you get really stuck, just post a query on the 'Other Things Gentoo' forum, detail what you've done (step by step), any error messages that seems relevant, along with the output of:
Code: | # qpkg -I -v nagios
# qpkg -I -v mysql
# emerge -pv nagios-core
# emerge -pv mysql |
(You will need to 'emerge gentoolkit' to get qpkg if you haven't already done that. HIGHLY recommended.)
Useful log files to look at would be:
/var/log/mysql/mysql.log
/var/nagios/nagios.log
mysql.log will only exist if you temporarily enable SQL query logging by uncommenting the 'log = /var/log/mysql/mysql.log' line in /etc/mysql/my.cnf, and then doing '/etc/init.d/mysql restart'.
You REALLY SHOULD disable SQL query logging (and then restart mysql) as soon as the problem is resolved because it can grow in size fast and eat a lot of disk I/O, slowing down overall system performance. (For a single user workstation, no big deal. Could be more of an issue on a really busy large production server.)
You probably only need to enable SQL query logging if you're getting SQL access errors in the Nagios logs and don't have enough detail to see what user the CGI is logging in to MySQL as, what the queries are, which tables, etc.
Last edited by dsf on Thu Dec 09, 2004 6:00 am; edited 7 times in total |
|
Back to top |
|
 |
ali3nx l33t


Joined: 21 Sep 2003 Posts: 732 Location: Winnipeg, Canada
|
Posted: Mon Dec 06, 2004 6:34 am Post subject: |
|
|
Hey thanks ! Solar has a very nice eggdrop plugin for nagios that may be of interest. I think it's in his devspace. I've been meaning to use nagios for some time but alas a tutor is everyone's best learning aid  _________________ Compiling Gentoo since version 1.4
Thousands of Gentoo Installs Completed
Emerged on every continent but Antarctica
Compile long and Prosper! |
|
Back to top |
|
 |
Esteban Tux's lil' helper

Joined: 23 Jan 2003 Posts: 77 Location: Paris
|
Posted: Tue Dec 07, 2004 10:23 pm Post subject: |
|
|
Hi,
I followed all your HowTo... All runs quite well...
My only problem is I don't get /var/nagios/status.log file...
Do you have the same problem ? |
|
Back to top |
|
 |
grimm26 Guru


Joined: 23 May 2004 Posts: 313 Location: Chicagoland, IL
|
Posted: Tue Dec 07, 2004 10:40 pm Post subject: |
|
|
Quote: | Having created the Nagios DB, we now need to create the various tables in it by:
Code:
# /usr/nagios/contrib/database/create_mysql
|
That file is not an executable script. How do I use it? I tried sourcing it from within the mysql interface, but it errored. _________________ "Blessed is he who finds happiness in his own foolishness, for he will always be happy". |
|
Back to top |
|
 |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Tue Dec 07, 2004 10:49 pm Post subject: |
|
|
Oops! That was the only step I couldn't remember how exactly I'd done it except it was straightforward. Sorry about that.
Let's see... looks like you can try:
Code: | # mysql -u root -p
mysql> use nagios
mysql> source /usr/nagios/contrib/database/create_mysql
mysql> quit |
If that doesn't work, let me know, and I'd be happy to redo the install steps on a clean setup to double check the right way. |
|
Back to top |
|
 |
grimm26 Guru


Joined: 23 May 2004 Posts: 313 Location: Chicagoland, IL
|
Posted: Tue Dec 07, 2004 10:58 pm Post subject: |
|
|
Looks like that was it. thanks! _________________ "Blessed is he who finds happiness in his own foolishness, for he will always be happy". |
|
Back to top |
|
 |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Tue Dec 07, 2004 11:13 pm Post subject: |
|
|
Cool, thanks for the update. I've updated the original post to reflect the changes. |
|
Back to top |
|
 |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Tue Dec 07, 2004 11:27 pm Post subject: |
|
|
Esteban wrote: |
My only problem is I don't get /var/nagios/status.log file...
Do you have the same problem ? |
Nagios doesn't have status.log. It has nagios.log.
Are you missing /var/nagios/nagios.log ?
If so, is the /var/nagios directory owned by user nagios and group nagios and has user write permissions enabled?
Here's what it looks like on my machine:
Code: | % ls -l /var/nagios
total 8
drwxr-xr-x 2 nagios nagios 192 Dec 7 00:00 archives
-rw-r--r-- 1 root root 6 Dec 5 05:35 nagios.lock
-rw-r--r-- 1 nagios nagios 1203 Dec 7 17:35 nagios.log
drwxr-xr-x 2 nagios apache 72 Dec 4 05:05 rw
-rw-r--r-- 1 nagios nagios 0 Dec 5 05:35 status.sav |
|
|
Back to top |
|
 |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Wed Dec 08, 2004 4:01 am Post subject: |
|
|
I wrote a script, mknagios-sql.sh that generates the SQL statements used to create the Nagios SQL users and permissions.
Reason? Because it was a lot easier to set up the user/pass and statements with a script doing the hard work than to hand-edit the file.
So I've put that script in the HOWTO.
If you've already done 'source mknagios.sql' then you don't need to bother with this script.
If you haven't done that step yet, then the script will help a lot. |
|
Back to top |
|
 |
Esteban Tux's lil' helper

Joined: 23 Jan 2003 Posts: 77 Location: Paris
|
Posted: Wed Dec 08, 2004 8:13 am Post subject: |
|
|
In the main configuration file (/etc/nagios/nagios.cfg), I have the line :
Code: | status_file=/var/nagios/status.log |
I have this on my machine :
Code: | ls -al /var/nagios/
total 8
drwxr-xr-x 4 nagios nagios 216 déc 8 00:00 .
drwxr-xr-x 17 root root 464 déc 7 21:15 ..
drwxr-xr-x 2 nagios nagios 112 déc 8 00:00 archives
-rw-r--r-- 1 nagios nagios 0 déc 7 21:35 .keep
-rw-r--r-- 1 root root 6 déc 7 23:47 nagios.lock
-rw-rw-r-- 1 nagios nagios 33 déc 8 00:00 nagios.log
drwxr-xr-x 2 nagios apache 104 déc 7 23:47 rw
-rw-r--r-- 1 nagios nagios 0 déc 7 23:47 status.sav |
|
|
Back to top |
|
 |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Wed Dec 08, 2004 12:29 pm Post subject: |
|
|
Esteban wrote: | In the main configuration file (/etc/nagios/nagios.cfg), I have the line :
Code: | status_file=/var/nagios/status.log |
|
Ahhh! I see what you mean. What you describe is okay to have, because the comment above that line in nagios.cfg says:
Code: | # STATUS FILE
# This is where the current status of all monitored services and
# hosts is stored. Its contents are read and processed by the CGIs.
# The contentsof the status file are deleted every time Nagios
# restarts. |
So deletion at startup time is normal, and I think the CGIs reads the status data from the MySQL database instead of from that flat file.
For example, the MySQL database has these status databases: programstatus, hoststatus, and servicestatus.
My guess is that if you had run Nagios without MySQL or PostgreSQL database support, then Nagios would write data to that file instead of inserting data in the database and CGIs would read from that file.
But because we use MySQL, Nagios writes status information to the MySQL database, and CGIs query the database for that stored information instead of from a flat file.
So I think that what you noticed is actually not a problem. I'm not a big expert on Nagios' inner workings, but that is my hypothesis. |
|
Back to top |
|
 |
Ox- Guru


Joined: 19 Jun 2003 Posts: 305
|
Posted: Fri Dec 10, 2004 2:36 am Post subject: |
|
|
I'm finally getting nagios configured the way I want it, but can't seem to get the icons and background image working for the status map. In the meantime, while I'm trying to figure that out, anyone know where I can get a good gentoo icon to use for my gentoo hosts in the status map? |
|
Back to top |
|
 |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Fri Dec 10, 2004 5:17 am Post subject: |
|
|
Ox- wrote: | I'm finally getting nagios configured the way I want it, but can't seem to get the icons and background image working for the status map. In the meantime, while I'm trying to figure that out, anyone know where I can get a good gentoo icon to use for my gentoo hosts in the status map? |
Looks like a nice one:
http://www.thinkwiki.org/images/7/72/Gentoo_logo.png
...and to convert it into something that can be used:
Code: | $ pngtogd2 Gentoo_logo.png Gentoo_logo.gd2 0 1 |
If you don't have pngtogd2 already installed, you can do:
Code: | # emerge media-libs/gd |
Also, some more image packs for other stuff:
Code: | http://www.nagiosexchange.org/Image_Packs.75.0.html |
I haven't perfected it yet, but you can get images loaded by:
Code: | $ mysql -u root -p
mysql> use nagios
mysql> INSERT INTO hostextinfo (host_name, icon_image, gd2_icon_image) \
VALUES ('myhostname','Gentoo_logo.png','Gentoo_logo.gd2');
mysql> quit |
(substitute 'myhostname' for whatever host is listed in /etc/nagios/hosts.cfg -- i.e., which host you want to have the Gentoo logo.)
Put the files in /usr/nagios/share/images/logos/ and make sure that httpd can read them.
I have only one issue with this image... it's displayed off-center. I'm not sure if you need to adjust x_2d and y_2d in the SQL table or not. I tried setting both to 0 (0,0 = origin at upper left corner) but didn't seem to help. Not sure if problem is due to image size or positioning.
Also, someone suggested that you make the image transparent before converting it into a GD2 image. For example:
Code: | $ pnmtopng -transparent rgb:ff/ff/ff Gentoo_logo.pnm > Gentoo_logo.png |
I don't think transparency works out too well for this particular image.  |
|
Back to top |
|
 |
Ox- Guru


Joined: 19 Jun 2003 Posts: 305
|
Posted: Fri Dec 10, 2004 6:50 am Post subject: |
|
|
Ah, I see. I was trying to add the hostextinfo in cgi.cfg and then trying the extended template way with hostextinfo.cfg. Didn't think it would come from the database
Yeah, that logo needs a bit of work, so I'm just using linux40.gd2 for now. I'll work on the logo soon when I have a free moment.
Still can't get statusmap_background_image working, but that's not critical
Thanks! |
|
Back to top |
|
 |
dsf n00b

Joined: 16 Nov 2004 Posts: 21
|
Posted: Sat Dec 18, 2004 11:45 am Post subject: |
|
|
Ugh... I should note my instructions are for Nagios 1.3.
I just found out that 2.0 drops support for MySQL and PostgreSQL
I can understand the reasoning -- one less thing to confuse first-timers; most of whom won't use or don't need a SQL back-end.
The Nagios maintainer says it should be possible to support SQL through the new event broker mechanism, though nobody has yet written SQL-specific code for that.
Just something to keep in mind. |
|
Back to top |
|
 |
no_hope Guru


Joined: 23 Jun 2003 Posts: 482
|
Posted: Thu Jan 13, 2005 10:34 pm Post subject: |
|
|
Esteban wrote: |
My only problem is I don't get /var/nagios/status.log file...
|
This happens when Nagios is using a database to store its data:
http://www.nagios.org/faqs/viewfaq.php?faq_id=170
In 1.2 ebuild of nagios the script is broken, so you have to edit /usr/nagios/libexec/check_nagios_db.pl and make the $CFG_DEF variable to point to your cgi.cfg |
|
Back to top |
|
 |
tecknojunky Veteran


Joined: 19 Oct 2002 Posts: 1937 Location: Montréal
|
Posted: Wed Jun 22, 2005 8:46 am Post subject: |
|
|
Man, this is like doing a medecine degree so you can put a plaster on.
Anything simpler? I find Nagios utterly complicated with a complex syntax, completely unintuitive. Gee, with all the CMS out there, it astound me to find a web apps that must be configured thrue config files.
I'm giving up on Nagios, until they make it simpler to setup and maintain. _________________ (7 of 9) Installing star-trek/species-8.4.7.2::talax. |
|
Back to top |
|
 |
ghettodev n00b

Joined: 23 Jan 2005 Posts: 11
|
Posted: Fri Jun 24, 2005 5:43 am Post subject: |
|
|
thanks for the howto, got mine up and running. only problem was perms in /etc/nagios. files werent set to 644. |
|
Back to top |
|
 |
ryanmr n00b

Joined: 01 Jul 2005 Posts: 2
|
Posted: Fri Jul 01, 2005 3:47 pm Post subject: Warning: Monitoring process may not be running! |
|
|
Great job on the walkthrough. I've got Nagios running fine with one exception. I keep seeing: "Warning: Monitoring process may not be running!". Being an idiot, I cant figure out how to fix this. Any ideas?
Thanks!
===EDIT===
Ok, I did some more poking around and found that nothing is ever being written to /var/nagios/status.log
I checked nagios.cfg and this is the file that is specified there so now I'm really stumped. Anyone have any idea why the file just isnt being written? everything else on Nagios is working so why not this?
-ryanmr |
|
Back to top |
|
 |
Zentoo Apprentice


Joined: 18 Nov 2002 Posts: 206 Location: /dev/console
|
Posted: Mon Jul 11, 2005 2:26 pm Post subject: problem to acces some nagios items |
|
|
Hi !
Really a great howto !!! i've start to configure nagios several times but never finish it dues to a lack of mysql skills.
So you save me so lot !!! a huge thanx !
Everythings go smoothly but i get a problem, once i connect to the web server, everythings is ok but i can't acces some items on the left menu. They are:
Reporting:
- Network Outages
- Process Info
- Scheduling Queue
- Event Log
Configuration:
- View Config
and if i click on it, i get this kind of message:
Quote: | It appears as though you do not have permission to view the configuration information you requested...
If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
and check the authorization options in your CGI configuration file. |
Did i get something wrong ?
If you have some clues to detect the problem, i'm listening ...
[EDIT][SOLVED]
It was my mistake, i have fill a wrong user in /etc/nagios/cgi.cg.
So everything is OK.
[/EDIT][/SOLVED] |
|
Back to top |
|
 |
njcwotx Guru


Joined: 25 Feb 2005 Posts: 587 Location: Texas
|
Posted: Fri Jul 29, 2005 7:08 pm Post subject: |
|
|
Quote: | It appears as though you do not have permission to view the configuration information you requested...
If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
and check the authorization options in your CGI configuration file. |
It appears I have this error too, nothing else appears wrong and the sanity check works without any errors. I checked my user names but I see no problems. I will continue to poke around myself, but if anyone has some tidbits of wisdom I would be happy to check them out. Thanks.
PS...I have disabled CGI authentication for now (in cgi.cfg) and all works well. Now only to figure out where I screwed it up.
OK, One more edit on my part...
I think I may have missed something in the cgi.cfg obviously. When following the instructions on the how to, I only uncommented the stuff below 'DG EXTENDED DATA' section. Perhaps I missed something along the way, is there any other options that should have the comment removed? _________________ Drinking from the fountain of knowldege.
Sometimes sipping.
Sometimes gulping.
Always thirsting. |
|
Back to top |
|
 |
Zentoo Apprentice


Joined: 18 Nov 2002 Posts: 206 Location: /dev/console
|
Posted: Sat Jul 30, 2005 11:36 am Post subject: Process Information Problem |
|
|
ôk could u put your cgi.cfg somewhere on internet to check it ?
For me, there is another problem right now:
i get this on the upper left corner on each page in the little tabloid:
Code: | Warning: Monitoring process may not be running!
Click here for more info.
|
and if i click on Quote: | Process Information | item, i get this on the upper right corner:
Code: |
Process Commands
It appears as though Nagios is not running, so commands are temporarily unavailable... |
and on the bottom:
Code: | Process Status:
UNKNOWN
Check Command Output: Nagios check command did not return any output
|
Nagios is running since all the item and probes are displayed on the board... Process Status Information
What should it display there ?
what's wrong in my configuration ?
i don't understand since everything works great but i though there are maybe the lack of some functionality dues to this error...
Any Idea ? |
|
Back to top |
|
 |
njcwotx Guru


Joined: 25 Feb 2005 Posts: 587 Location: Texas
|
Posted: Sat Jul 30, 2005 11:51 pm Post subject: |
|
|
search the cgi.cfg, there is a section that mentions something about getting the monitoring process error. I saw it when I was looking through it for my problem. Dont know if it will help you, but I did see something. _________________ Drinking from the fountain of knowldege.
Sometimes sipping.
Sometimes gulping.
Always thirsting. |
|
Back to top |
|
 |
pava_rulez Guru


Joined: 02 Mar 2005 Posts: 339 Location: Bologna -> Italy -> Europe
|
Posted: Mon Aug 01, 2005 7:46 am Post subject: |
|
|
Hi, why can't I see nagios icons in the status map? Am I missing something??
EDIT: solved, I had to work with mysql statements... |
|
Back to top |
|
 |
njcwotx Guru


Joined: 25 Feb 2005 Posts: 587 Location: Texas
|
Posted: Tue Aug 09, 2005 3:08 pm Post subject: |
|
|
I got it working, but I cant access nagios from a browser via another workstation. I can access fine from the server itself. Apache is running and I made the configuration in the instructions above.
[Solved]
added .htaccess to /usr/nagios/share _________________ Drinking from the fountain of knowldege.
Sometimes sipping.
Sometimes gulping.
Always thirsting. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|