Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
design:snmpdaemon [2006/01/31 00:06] – Ueli Heuer | design:snmpdaemon [2009/02/16 22:08] (current) – Ueli Heuer | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Polling Daemon ====== | ||
+ | DVG polls the devices either by crontab (exec_rrd.pl) or by an experimental daemon (dvg_snmpd.pl). The problem is - if you use a large installation - the I/O load on the Server. Within a short time all rrd-files are updated and in the same time a lot of updates need to be written to the database. | ||
+ | ===== new polling daemon ===== | ||
+ | the new daemon should use multitasking (threads) to distribute the load over the time. | ||
+ | |||
+ | ==== requirements / wishes ==== | ||
+ | Other things the new daemon should do: | ||
+ | * periodic check the database for new devices (and hosts, locations) (or some notification if someone changes the config, via front- or any back-end-program) | ||
+ | * periodic check for changed parameter. (or some notification if someone changes a parameter, via front- or any back-end-program) | ||
+ | * track the state of a host, at least it should know about following states: up, down, reboot/ | ||
+ | * track the state of a device, at least it should know about following states: up, down, shutdown | ||
+ | * notification of the owner | ||
+ | * alarm levels would be nice. if an interface shows some errors, has some unusual drops it would be nice if there are some alarms | ||
+ | * it should be possible to add modules. so the program exec_rrd.pl [exec|modules] is not needed anymore. | ||
+ | |||
+ | **are there more needs** | ||
+ | |||
+ | ==== Frameworks ==== | ||
+ | Possible Libraries for the implementation: | ||
+ | **Are there other possibilities? | ||
+ | ==== Structures ==== | ||
+ | |||
+ | is this a good separation of the different tasks? | ||
+ | * one thread/ | ||
+ | * create for each host a thread/ | ||
+ | |||
+ | open items: | ||
+ | * what if the connection to the database is lost? (snmpd.pl needs to restart) | ||
+ | * communication between the threads specially between the config reader and poller-threads? | ||
+ | |||
+ | {{tag> |