PDA

View Full Version : Mein Kampf


teddymills
23-03-2005, 15:49
So I completely start from scratch, but I dont include the GD the first time.
So I waste 20 hours and after 8 more hours of trying to get Zabbix to work, 28 hours in, I wipe the server clean. Then I try a simpler approach, the Zabbix-SME, but 6 hours in, find out that does not work either.

So I completely rebuild the server entirely from scratch again. (wiped partitions, new os) everything) 3 hours later, Right back where I was before the first time.

I am at the HOSTS, and configure that. I am pretty sure I am configuring HOSTS wrong. The choices in the HOSTS form are just too vague.

HOST (what is HOST? IP? HOSTNAME?, Some text i can put in?)
Groups (what are groups?)
New Group (whats that? make a new zabbix group, why? I dont know what groups are!)

Use IP Address ( I assume the IP address of the Zabbix client)
Port (I assume the TCPIP port the zabbix client is configured to use)
Status (I assume I leave it on monitored, (Got no clue)
Use templates of this host (What the heck are these? These really mess it up)

Add, (I assume Add this record to the list above)



Fine..so I got 2 hosts that are GREEN and MONITORED...so I go over the ITEMS tab and things really start to get vague.

Description (I can type anything in here?)
Host (What host? )
Type (all clients are configured to use Zabbix Agentd, but its not working)
Key (?what the heck is this? A snmp key? I though Zabbix Agentd handled this)

Units (god only knows)
Use Multiplier (I take a 7, on the dont pass line)
Update Interval (not clue again)
Keep Histoery (no clue again)
Keep Trends (no clue)
Status (leave on monitored I assume)
Type of information (no clue, leave on numeric)
Store Value (again no clue)

Add or Add All Hosts? (Again no clue)


As for the dropdown menus..that only makes it more confusing.

IS THERE ANY PICTURES AROUND THAT SHOW HOW TO GO FROM THE INITIAL LOGIN SCREEN, THEN TO PROPERLY CONFIGURE THE HOSTS, THEN TO THE ITEMS? THE DESCRIPTIONS IN THE MANUAL ARE TOO VAGUE FOR ME.


I wrote down the procedures I took to install
Here they are almost line for line...

I used a RHEL4, but this will work for almost any Fedora or
Redhat line I assume.


Sorry for the rant, but you spend this amount of time trying to get this to work, and you'd be upset too.

All i want is monitor my linux clients with the agentd process, and my Windows clients with the ZabbixW32client. and monitor stuff like free diskspace, free inodes, used diskapce, processes, cpu load etc.


Any assistance would be appreciated.


RHEL4
Apache 2.053.tar.gz
Zabbix 1.1 Alpha 7
MySQL 4.1.10a.tar.gz
net-snmp-5.2.1.tar.gz
php-4.3.10.tar.gz
samba-3.012.tar.gz
zlib-1.2.2.tar.gz
gd 2.033.ta.gz




mkdir /scripts
mkdir /packages
download all your source.tar.gz into /packages



Apache 2.0.53 installation
==============================

mkdir -p /usr/local/apache
cd /packages
gunzip httpd-2.0.53
tar -xvf httpd.2.0.53.tar
cd http-2.053
./configure --prefix=/usr/local/apache --enable-modules=most --enable-module=so
make
make install

cd /usr/local/apache/bin
cp apachectl /scripts
/scripts/apachectl start
/scripts/apachectl stop



mysql-max-4.1 installation
==============================

gunzip mysql-max.xxxxx.tar.gz
tar -xvf mysql-max.xxx.tar
mv mysql-max.xxxxx mysql
mv mysql /usr/local
cd /usr/local/mysql

groupadd mysql
useradd -g mysql mysql
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
cd support-files
cp mysql.server /scripts



samba 3.0.xx installation
==========================

cd /packages
gunzip samba-3.0.12.tar.gz
tar -xvf samba-3.0.12.tar
cd samba-3.0.12
mkdir -p /usr/local/samba
cd source
./configure --prefix=/usr/local/samba
make
make install


net-snmp 5.21 installation
===========================

cd /packages
gunzip net-snmp-5.2.1.tar.gz
tar -xvf net-snmp-5.2.1.tar
cd net-snmp-5.2.1
./configure --with-perl-modules
make
make install

choose SNMP v3 and all defaults



php-gd-2.033 installation
==========================

cd /packages
gunzip gd-2.0.33.tar.gz
tar -xvf gd-2.033.tar
cd gd-2.0.33
./configure
make
make install


zlib 1.22 installation
=============================

cd /packages
gunzip zlib-1.2.2.tar.gz
tar -xvf zlib-1.2.2.tar
cd zlib-1.2.2
./configure
make
make install



php 4.3.10 installation
==========================

cd /packages
mkdir -p /usr/local/php
gunzip php-4.3.10.tar.gz
tar -xvf php-4.3.10.tar
cd php-4.3.10
./configure --prefix=/usr/local/php --with-gd --with-apxs2=/usr/local/apache/bin/apxs --with-mysql --with-zlib-dir=/usr/local/lib/libz
make
make install

cp php.ini-dist /usr/local/lib/php.ini

make these changes in /usr/local/apache/conf/httpd.conf
verify: "LoadModule php4_module libexec/libphp4.so (or similar is in /usr/local/apache/conf/httpd.conf)
verify: DirectoryIndex index.php index.html index.htm
verify: AddType application/x-httpd-php .php
verify: AddType application/x-httpd-php-source .phps


/scripts/apachectl stop
/scripts/apachectl stop
/scripts/apachectl start

cd /usr/local/apache/htdocs
pwd (confirm it is /usr/local/apache/htdocs)
rm index* (delete all files that start with index)

vi index.php
and create index.php with the text as shown below...

<html>
<head><title>Zabbix</title></head>

<body>


<h2>Zabbix</h2>

<? phpinfo() ?>


</body>
</html>


http://localhost (verify support for "gd" and "mysql" and "zlib")





post-installation
==========================


cd /etc/rc.d
vi rc.local

add: /scripts/apachectl start
add: /scripts/mysql.server start
add: /usr/local/samba/sbin/nmbd
add: /usr/local/samba/sbin/smbd


updatedb
reboot the server

http://localhost (or the servers ip)

and verify that
Apache is running, GD support, PHP, Zlib, and Mysql are running.




ZABBIX INSTALL
==========================

useradd zabbix


download the latest zabbix.tar.gz and mv into /packages
cd /packages
gunzip zabbix-1.1.alpha7

/usr/local/mysql/bin/mysql -u root -p (password is blank for now, press enter)
create database zabbix;
quit;
cd create/mysql
cat schema.sql | /usr/local/mysql/bin/mysql -u root -p zabbix (press enter for password)
cd ../data
cat data.sql | /usr/local/mysql/bin/mysql -u root -p zabbix (press enter for password)
cd /packages/zabbix-1.1.alpha7
./configure --with-mysql=/usr/local/mysql --with-net-snmp=/packages/net-snmp-5.2.1
make
cd /packages/zabbix-1.1alpha7/bin
cp * /usr/local/bin

cd /packages/zabbix-1.1alpha7/misc/conf
mkdir -p /etc/zabbix
cp * /etc/zabbix

cd /usr/local/bin
./zabbix_server

ps ax |grep zabbix (confirm 10 instances of zabbix are running)

mkdir -p /usr/local/apache/htdocs/zabbix
/bin/cp -R frontends/php/* /usr/local/apache/htdocs/zabbix

http://localhost/zabbix (you better get the default zabbix login page)
login with "admin" no password

click on Configuration>Users
add an account using your name (add "read/write" and "add")


At this point...

I can get GREEN MONITORED for my clients, but I cannot configure any item parameters.


Have not included the exacly client installation instructions...but I installed
ZabbixW32.exe a a Windows 2000 box and zabbix_agentd onto a linux box.
Both are running the agentd and showing up in task manager and ps.
I only had to change the Server IP to 192.168.1.12 in agentd.conf in both clients. Not sure if that was all i needed to do.

welshpjw
24-03-2005, 16:14
Thank you for having some patients and spending your effort into getting Zabbix to work. I'm sorry you are having such a rough time getting this VERY good NMS working. Honesy, I have still not yet even scratched the surface of what Zabbix can do (eg triggers, maps etc).

So, on to your problem... where to start... The manuals at http://www.zabbix.com/manual/v1.1/index.php ? I will assume that you have taken a good read through it (I didn't, but I don't like manuals).

In spite of the RTFM comment, I have the feeling you are well versed in Unix/Linux in general. Not many peeps will take on the daunting task of starting from source (tgz) files like you. Unless you have some REAL hangup about the distro binaries, why not just use them? That will save you ALOT of library dependacy HELL (not to mention wierd ass build problems)...

Yes even the 1.1 manual is a little short on EXACTLY what is meant by "host" in regards to the setup. "Click on the ‘HOSTS’ link to add new hosts to be monitored" says the manual. I can tell you that ATLEAST (resolvable) hostnames will work. The "green" light with the host you created means that the agent is being contacted atleast.

"Items" tab is maybe overkill for us neeewbs. I have had MUCH better luck looking at the well though out templates that are already provided like "Host.Standalone" or better yet, "Host.Standalone". The template called, "Host.Win32" is obviously related to winblows OS... Use them and prune your little guts out. If you are still inclined to create all of your own items, check out the full reference at the bottom of: http://www.zabbix.com/manual/v1.1/config_items.php
DO NOT go overboard with monitoring EVERYTHING in the templates!!!! You will NOT like your system/server performance. I would HIGHLY also recommend increasing the "Update interval" for almost every item you monitor! That's just my opinion, however. I don't realy need to check the 1 minute system load every 5 seconds...

"Groups" seem to be arbitrary groupings ;) of hosts... I have a group for "Production" and "Development" systems.

sauron
25-03-2005, 05:26
HOST (what is HOST? IP? HOSTNAME?, Some text i can put in?)

Field contains hostname if "use ip address" unchecked and name if this checked


Groups (what are groups?)

Simple groups for separate hosts.


New Group (whats that? make a new zabbix group, why? I dont know what groups are!)

Create new group for this host


Use IP Address ( I assume the IP address of the Zabbix client)

See host. It need if you not need used dns.


Port (I assume the TCPIP port the zabbix client is configured to use)

Set port by default for adding items


Status (I assume I leave it on monitored, (Got no clue)
Use templates of this host (What the heck are these? These really mess it up)

Status: monitored notmonitored
Template - this is host is TEMPLATE.


Host (What host? )

monitoring host (server, any switch with SNMP & etc)


Type (all clients are configured to use Zabbix Agentd, but its not working)

If you need Items for Zabbix Agent working you need start zabbix agent on monitoring host.


Key (?what the heck is this? A snmp key? I though Zabbix Agentd handled this)

Real Name for Item (eq. for snmp ifInOctets.1 or OID)


Units (god only knows)

Name value units.
Example for ifInOctets.1 i'm set Bps


Use Multiplier (I take a 7, on the dont pass line)

If you set it you can change value from host. For example if for IfInOctets.1 set is custom multiplier and set custom multiplier at 8. You got Speed on Bit


Update Interval (not clue again)

How frequency obtain new values for items


Keep History (no clue again)

How long keep values


Keep Trends (no clue)

I'm don't know. Leave this as default


Status (leave on monitored I assume)

I'm write up about this


Type of information (no clue, leave on numeric)

numeric - integers, floats
character - strings. Example Description interface


Store Value (again no clue)

As is - no comments
Delta (speed per second) - view diff per second. Very usefull for monitoring network activity.


Add or Add All Hosts? (Again no clue)

Add - add item for this host
Add to All Hosts - add this item to all host


IS THERE ANY PICTURES AROUND THAT SHOW HOW TO GO FROM THE INITIAL LOGIN SCREEN, THEN TO PROPERLY CONFIGURE THE HOSTS, THEN TO THE ITEMS? THE DESCRIPTIONS IN THE MANUAL ARE TOO VAGUE FOR ME.

Read again and again. But zabbix contains many undocumented features :rolleyes:

[cc]smart
24-05-2005, 17:34
Quote:
Originally Posted by teddymills
Groups (what are groups?)

Simple groups for separate hosts.



???

Groups are simple groups. Good explanation.

Do groups have a sense or meaning, too ?

E.g. what i could imagine are sensible things would be if adding a host to a group would make the host assume monitoring configuration (items ?) defined for those groups.

It seems to me that there is a different mechanism that is meant to achieve sth. similar. Which is the last field "Use the host as template".

If i'm right with my assumption that this copies all triggers defined for this host (called template, but just for fun, because it's no different from host except for that it doesn't make sense to activate it) to the host you're are just editing. If this is true, it's halfway senseless. Why that you ask ?
Because the you loose the idea of what an actual group would be, which is the ability to change the configuration of all members of a group at the same time by modifying group configuration only. With a copy, this doesn't work.
Instead of this would be useful function of groups, actual groups in the hosts configuration have no meaning at all. They are no groups, these are display filters, so you can reduce the amount of displayed hosts to only what is defined in the "group".

If these assumptions are correct i'd heavily vote for making groups act as a set of common, centralized configuration (not copying out to individual hosts, but staying common repository), removing the "Use the host as template" copy functionaslity completely (because, if you have such a case that several hosts share configuration, this should be done by the real idea of groups) and rename what host groups are right now to "folder", allow a host to be in one folder only and maybe organize display in a folder style users are used to.

But then, maybe i still got all this wrong, because i think original poster is right with the issue of documentation. All keywords are put into the documentation, but they are not filled with their meaning in the world.

That way, buy yourself a resmatograph (<- you get the idea :) )

Alexei
24-05-2005, 18:22
smart']If these assumptions are correct i'd heavily vote for making groups act as a set of common, centralized configuration (not copying out to individual hosts, but staying common repository), removing the "Use the host as template" copy functionaslity completely (because, if you have such a case that several hosts share configuration, this should be done by the real idea of groups) and rename what host groups are right now to "folder", allow a host to be in one folder only and maybe organize display in a folder style users are used to.


A couple of notes. First of all, existing Host Groups are real groups, i.e. the hosts can be grouped geographically, by OS, usage, whatever. One host may belong to zero or several groups. Why limit existing functionality and introduce "folders"?

As for the "Use the host as template", or in other words host-template linkage, undoubtadly it can be improved. The idea of group-template linkage is very good and it must be evaluated. It may make the whole template functionality more clear and understandable.

Thanks for your input.

[cc]smart
25-05-2005, 09:40
Hi again, and first of all, thanks for Zabbix and your patience...

but i think it should be clarified even more to achieve a good solution. I have a feeling that for everybody the idea of these things is not very clear.

So here more comments:

Quote:
First of all, existing Host Groups are real groups, i.e. the hosts can be grouped geographically, by OS, usage, whatever.

I don't see the functional explanation of group. Whatr is "real" group and what does it mean in the software "to group geographically, by OS usage, whatever". From what i feel, it doesn't mean anything at all to the software. It's just for display to the user. Which is what i described. It's a filter for viewing. And a filter for viewing is an aspect for usability. That means, it's purpose is to allow the user to identify and navigate the different hosts efficiently and allow usable interaction with the software when the amount of hosts increases. This is what group in your case is. But this is not what a user at first sight things when reading "group". Group is the other thing, also described in previous mail.
Now when we go back to the scratchboard, understanding clearly (if this is the case) that current group has the idea described above, to simply navigation and orientation with many hosts, then we can try to look at the options there are to achieve this.
One solution is the way you have it, that is, you allow to assign a host into any amount of groups and you present it as a flat structure, but then i personally think this does not help much for the purpose. The multiple (from here i will call it folder, not because i already would already say folder is the ultimate correct thing, but for differentiation) assignment to folders is a source for confusion on its own, and the flat presentation of folders does not really reduce the visible set/set in scope. In my opinion, the classical folder idea, like in a filesystem, supports best here, because it allows the filtering, it allows the sorting, it allows the organization "geographically, by OS, usage, whatever" as is and last but not least, it's a well know method. YOu can easily do like this (F:Folder H:Host)

F: Office Moscow
....+ F: Unix Hosts
......+ H: Zabbix Server
......+ H: Mailserver

etc., as in whatever....



Quote:


As for the "Use the host as template", or in other words host-template linkage, undoubtadly it can be improved.

I have the feeling that templates, as in an object that holds example configuration that is copied over into actually used instance is not usable, so would suggest not to look at improving it in the "template" way, but to evolve it into what groups really are, as in groups like user rights in OS. So you have a common place for configuration of all members, without duplication of configuration objects, which i guess is what you mean with:

Quote:

The idea of group-template linkage is very good and it must be evaluated. It may make the whole template functionality more clear and understandable.

The though, it's not a template anymore. Template actually (again if i get it right) is the correct name for what it is now, a source for copy operation. This would/should become a group functionality.


Some additional topics i found worthwhile sharing:

The IP option in host configuration should not exist.
The host field is the container for the technological identification of the target machine. It should be possible to use either IP or hostname there. Right now, you can give both, hostanme and IP making Zabbix another source for IP to hostname association (in application layer instead of network/OS layer). This should not exist. For hostname to IP association there are DNS and /etc/hosts (and likewise in other OS) files. These are sufficient for name/IP relation. Adding another one source on application layer in the long term in my opinion causes inconsistency and confusion/errors.
What i feel might be areason for introducing both, IP and hostanme field in Zabbix might be that sbdy. had to use IP and wanted a human understandable idetnification, too. This is a different thing, though. In this case, what can be identified are the technological identifier, which we have in hostfield and could either be IP or hostname, and human readable information, addon data, non functional. This is description field as in other objects, and there need be no meaning for the application. Hard to explain i feel, but i hope i was able to describe my point.

Last thing, i would suggest to rename "item" to "probe", or similar.

Alexei
25-05-2005, 10:54
smart']
I don't see the functional explanation of group. Whatr is "real" group and what does it mean in the software "to group geographically, by OS usage, whatever". From what i feel, it doesn't mean anything at all to the software. It's just for display to the user. Which is what i described. It's a filter for viewing. And a filter for viewing is an aspect for usability. That means, it's purpose is to allow the user to identify and navigate the different hosts efficiently and allow usable interaction with the software when the amount of hosts increases. This is what group in your case is.

Exactly! The host groups, as they are now, are for presentation (GUI) only. ZABBIX backend has absolutely no idea what the host groups are.
smart']
One solution is the way you have it, that is, you allow to assign a host into any amount of groups and you present it as a flat structure, but then i personally think this does not help much for the purpose. The multiple (from here i will call it folder, not because i already would already say folder is the ultimate correct thing, but for differentiation) assignment to folders is a source for confusion on its own, and the flat presentation of folders does not really reduce the visible set/set in scope. In my opinion, the classical folder idea, like in a filesystem, supports best here, because it allows the filtering, it allows the sorting, it allows the organization "geographically, by OS, usage, whatever" as is and last but not least, it's a well know method. YOu can easily do like this (F:Folder H:Host)

F: Office Moscow
....+ F: Unix Hosts
......+ H: Zabbix Server
......+ H: Mailserver

Hmm... Can the Mailserver be part of other folders, or your approach is limited to have only one Folder-Host relation (one-to-one)?
smart']
I have the feeling that templates, as in an object that holds example configuration that is copied over into actually used instance is not usable, so would suggest not to look at improving it in the "template" way, but to evolve it into what groups really are, as in groups like user rights in OS. So you have a common place for configuration of all members, without duplication of configuration objects, which i guess is what you mean with:

It would work in case of one-to-one relation. However, if one host may belong to more than one folder, what folder keeps the configuration of the host? I just do not quite understand how it could be implemented.
smart']
The IP option in host configuration should not exist.
The host field is the container for the technological identification of the target machine. It should be possible to use either IP or hostname there. Right now, you can give both, hostanme and IP making Zabbix another source for IP to hostname association (in application layer instead of network/OS layer). This should not exist. For hostname to IP association there are DNS and /etc/hosts (and likewise in other OS) files. These are sufficient for name/IP relation. Adding another one source on application layer in the long term in my opinion causes inconsistency and confusion/errors.
What i feel might be areason for introducing both, IP and hostanme field in Zabbix might be that sbdy. had to use IP and wanted a human understandable idetnification, too. This is a different thing, though. In this case, what can be identified are the technological identifier, which we have in hostfield and could either be IP or hostname, and human readable information, addon data, non functional. This is description field as in other objects, and there need be no meaning for the application. Hard to explain i feel, but i hope i was able to describe my point.

Note that you may have several hosts with the same IP (192.168.*.*, several private networks with same IP range, for example). In this case, you must have unique identifier for each host.

Anyway, I see your point. I agree that it makes no sense to keep information that has no real functional meaning.

[cc]smart
25-05-2005, 13:04
Quote:
Hmm... Can the Mailserver be part of other folders, or your approach is limited to have only one Folder-Host relation (one-to-one)?

As two datatypes, this could be for example:

Definition Folder: "ID", "Folder Name","Parent Folder ID"
For Rootfolder, "Parent Folder ID" = NULL

Definition Host: "ID","Hostname","Description","Folder ID"

So a host can only be in one folder, but any folder can have several hosts in it and a folder can be in maximum on parent folder.


Qutoe:
It would work in case of one-to-one relation. However, if one host may belong to more than one folder, what folder keeps the configuration of the host? I just do not quite understand how it could be implemented.

Folders don't have any information, the just build a tree structure. Hosts and groups would have configuration stored with it. Host and Group could actually be the same thing in principle, except for that group would not have an assigned hostname such that "Host ID" is no different than "Group ID". So now i assume host is identical datatype to group, where in host "hostname" is set in group, it isn't. I add "probe" (aka "item"):

Definiton Probe: "ID","Description","Host ID","Probe Key","Factor","Frequency"....

And i add to host: "ID","Hostname","Description","Folder ID",["inherited Group ID", "inherited Group ID", "inherited Group ID"...]

Again "inherited Group ID" is same object type as "Host ID".
That is e.g. you have:

Folder: "1","Root Folder","NULL"
Folder: "2","Groups","1"
Folder: "3","Moscow Office","1"
Folder: "4","IT departement","3"

Host: "1","","Linux system","2",[NULL]
Host: "2","","Zabbix Server system","2",[NULL]
Host: "3","zabsrv","Zabbix Server in Admnistrators office","4",["1","2"]

Probe: "1","passwd file change","1","cksum[/etc/passwd]","1","30"...
Probe: "2","services file change","1"," cksum[/etc/services]","1","30"
Probe: "3","zabbix server process","2","proc_cnt[zabbix_suckerd]","1","30"
Probe: "4","mp3 music player","3","proc_cnt[xmms]","1","30"


So Zabbix server in Admin Office would monitor all four probes.


Quote:
Note that you may have several hosts with the same IP (192.168.*.*, several private networks with same IP range, for example). In this case, you must have unique identifier for each host.

The you need different hostnames, and you can use these in hostname field. You could map these different hostname same IP addresses in hosts file, i would just wonder how Zabbix monitors them when this resolves to same IP ?


Edit: Edited Host definition and examples.

Alexei
25-05-2005, 13:11
smart']The you need different hostnames, and you can use these in hostname field. You could map these different hostname same IP addresses in hosts file, i would just wonder how Zabbix monitors them when this resolves to same IP ?This is one of many advantages of Active Checks released in the latest alphas.

Alexei
25-05-2005, 13:20
smart']
Folders don't have any information, the just build a tree structure. Hosts and groups would have configuration stored with it. Host and Group could actually be the same thing in principle, except for that group would not have an assigned hostname such that "Host ID" is no different than "Group ID". So now i assume host is identical datatype to group, where in host "hostname" is set in group, it isn't. I add "probe" (aka "item")
Well, it sounds too difficult to me! What is the main advantage of all this?

By the way, have you checked IT Services functionality which is very close to what you describe?

Anyone else willing to comment...?

[cc]smart
25-05-2005, 13:41
Well, i'm originally just wondering what "groups" in Zabbix actually are :)

It would be the same as a folder in a filesystem in such a modified case.

rafinnerty
24-05-2006, 10:13
I like Zabbix - I think. I don't KNOW that I like it, because although it's now installed, the documentation is sooooooooo desperately weak, hopeless and threadbare, that I wonder that anyone has ever persevered with it! Please... REVAMP THE DOCUMENTATION!!! It's only the docs that let the whole thing down!

Alexei
24-05-2006, 10:39
I appreciate all criticism. I admit that the documentation leaves room for improvement, and we improve it constantly perhaps not as fast as one may desire.