summaryrefslogtreecommitdiffstats
path: root/TODO
blob: bc55474baf1e60ecdd0a6ef907c9a9770470914f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
1.1beta6:
 - php: http://www.zabbix.com/forum/showthread.php?t=1825
 - SCO: http://www.zabbix.com/forum/showthread.php?t=2010
 - http://www.zabbix.com/forum/showthread.php?p=7006#post7006
 - http://www.zabbix.com/forum/showthread.php?t=1997
 - dos style EOL: http://www.zabbix.com/forum/showthread.php?t=1993
 - http://www.zabbix.com/forum/showthread.php?t=1992
 - http://www.zabbix.com/forum/showthread.php?t=1657
 - http://www.zabbix.com/forum/showthread.php?t=1971
 - make failed: http://www.zabbix.com/forum/showthread.php?t=1957
 - check if ZABBIX server accepts values returned by W32 agent

 - clear error message if user/name password are wrong for zabbix_server
 - configurable location (left,right,top, bottom) of label for icons
 - set host to unrechable if unreachable within N seconds
 - explain how templates work in the documentation
 - execution of commands on monitored hosts in case of pre-defined events
 - fix undeleted warnings for host and trigger statuses
 - new implementation for templates

 - timout-immune poller
 - improve housekeeper. check if it works correctly.
 - make agents return error message if not supported or not available
 - centralised management of agent configuration files
 - add encryption between server and agents
 - how to disable unreachable hosts
 - new item status: not available. If agent doesn't accept parameter.
 - new function for item status to enable sending of notification in case if an item changes status to unknown (for example)
 - do zabbix_sender for windows

 - http://www.zabbix.com/forum/showthread.php?t=1141&page=3&pp=10

ZABBIX 1.1:

> -Should the update linkage buttons synchronize the stuff between the host and
 his templates....... this is very usefull?
 -Did you know what is very very very bad..... not having a add triggers and
 graphs from this host button.... like the one that adds items.
 -Can u make possible to change the simple graph..... like changing it to
 bold....
 - anvanced SNMP trapper
 - add acknowledgements

 - add HTML block to the screen cell (to see external data, images, etc)
 - centralised agent upgrade
 - take advantage of 'make dist'

TKOM:

 - alarms forwarding to external systems (using SNMP traps, for example)
 - alarm/trigger sounds
 - SNMP trap processing
 - SNMP trap sending

 - clickable map in map configuration
 - rus/lat characters for graphs
<?
print_r($_POST);
?>
<form method="POST" action="">
<input type="image" src="images/image.jpg" name="imgname">
</form>

4. SNMP traps. Make possible action definition for the SNMP trap-related
 events.

7. snmp traps kak?

dalee pozhelanija:

OTHER:

 - multi-institution support

 - improve removal of item related data from history
'-' doesn't work in trigger expressions (a-b=0)

 When editing trigger actions in subject it says something
for instance "low disk space on {HOSTNAME}'s /usr"
when submitting form, it dumps mysql error, due to non-
escaped single quote. I believe all user input should be
escaped before submitting to mysql.

>  Atradu liekas, ka vienu bug: tad, ja updeito Host statusu zem Host, tad trigeris par "Host unreachable" pazuud, jo ir statusaa "unknown", bet pie alarms neparaadas
>, ka tas buutu mainijis savu statusu.

 - negative values in graphs
 - check all screens if they are user friendly and present information in the best possible way
 - possibility (a button) to recheck unsupported parameters
 - add advanced task scheduler/executor to ZABBIX
 - agent incorrectly returns amount of free/available memory on HP-UX (must be 24GB)

 - add icons to a map by clicking mouse
 - optionally support map generation in JPEG. PNG images are huge!
 - security-related issues

There are still quite a few strcpy calls made against non-const user, database, or remote supplied data, in both the src/* and include/* directories.

printf calls w/o static format specifiers...
in src and include:
grep -R printf * | grep -v "\%\|Makefile\|Binary"

extensive use of atoi rather than something w/ bounds checking like strtol.

Most of the signal handlers all need to delay or block signals to avoid signal race conditions, as they call non-reentrant functions.

 - in user administration, add many resources from a list (not by one ID)
 - availability report for day/week/month/etc
 - check if items delay works
 - review PHP code for simplifying (urls, iif() )
 - fix screenedit.php permissions

 Kak naschet dopolnenij k time & date:
 * tipa month, day, year, hour, minute, ...

 Nu i k 'str' dodlstj csjakie vsjakosti tipa
 * substr, length, poisk pozicii simvola/podstroki (FIND/SEARCH v Excel),
 podscet kolichestva simvola (tipa skoljko tam zapjatih)...

 - add requirement for fping to the manual
 - separate login.php and index.php
 - remove icmpping and others from the QUEUE

 - summarising report about triggers/actions/items. Show items without triggers,
trigger wihout actions, etc etc
 5) When adding trigger, next page is without triggers of this host. Is  
 it possible after adding triger to go back to triggers of this host page ?

 - zabbix thinks that host is unrechable if it receives string for numeric item

 - think about implementation of sinchronised items like cpu[usr], cpu[sys], cpu[idle]

 - implement complex SLA calculation (donwtimes, working/non-working hours), etc. See
forum Open Discussion for more info.
 - add selection of MIN/MAX/AVG for graphs
 - rewrite validation and evaluation of expressions (i.e. make >-1 work)
 - support for 'Clone' (graphs and screens)
 - add support of interface statistics under Solaris and FreeBSD
 - calculate MIN value for graphs (do not use '0')
 - infrastructure for reports
 - stacked graphs

 - check if alert and service alert is added after host become reachable again

LATER:

 - add zabbix[unixtime] and lastupdate() and tick() to get rid of nodata()
 - check return code for alert scripts
 - zabbix_agentd to support processor load, swap[*] and memory[*] onder AIX
 - make session expiration time configurable in config.php
 - mess with user groups when running under root
 - support for PREFIX/zabbix/etc (configuration files)
 - trapper item. Source->Alarms do not grow when last status is unknown for
latest trigger (item type  = TRAPPER)
 - SNMP traps. Condition to switch expression off. New function which would return
 status of the trigger could help. 

 - when zabbix cannot evaluate expression it does not change status to UNKNOWN but adds ALARM (UNKNOWN) 
 - preset time for graphs

 - links to Zabbix frontend in alert emails
 - strings items for graphs
 - ability to add a library of  userwritten c-functions with dlopen/dlsym to
the agent with a predefined API that can return values to suckerd (for both 
suckerd and agentd)
 - zabbix_trapperd does not start if PostgreSQL and DBConnectOnEach=1

 - [10] Refresh stop ability. At least for graphs and triggers being selected.
 - [10] IT Services. Show downtimes for weeks.
 - [10] IT Services. User view, show algorithm.
 - [10] BUG. When adding new service, service name is wrong.
 - [10] IT Services. SLA for a period of time only (09:00-18:00)

LS:

 - update trigger value immediately after add or update
 - graphs. Dobavljatj item so smescheniem vo vremeni
 - check permissions for zabbix_agentd when started under root
 - add item to group (not to all)
 - update host from template

change(N) - raznica mezhdu poslednim i na N vremeni ranee poluchennim
znacheniem;
abschange(N) = abs(change(N));

trend(N) - linejnaja aproksimacija sled.znachenija po interval vremeni N;
trend(N,M) - tozhe, no ne sled.znachenie, a vpered na interval vremeni M;

!!!!! kstati bilo-bi neploho pozvolitj poljzovatsja ne toljko intervalom
vremeni kak argumentom funkcij,
no i ispoljzovatj kolichestvo otscetov, tipa srednee za poslednie 5
scitivanij !!!!!
* k primeru argument 5 oznachhaet pjatj sekund, a #5 - pjatj izmerenii !!!

nu i massu matematicheskih mozhno - dlja super-advanced chuvakov:
* SQRT, LOG, LOG10, trigonometricheskie, ...

 - if 'Update', then default action (button 'Enter') must be Update
 - do not check SNMP port existance if Item is not SNMP
 - add item to host group
 - add descriptions to items
 - link host (group) to template

graphs:

 - min value (0 or automatic)
 - customisation of font size
 - link items to show them in one graph (network in/out) 

 - snmp oid symbolic representation
 - periodically check unsupported items (NxInterval). Can be configurable.
 - Latest values->Host->[Show not monitored]

HP:

 - add threshold,min,max line for user-defined graphs
 - 
Vel viens wishlists ir pie "IT Services", pielikt pie 
/~zabbix/report3.php?serviceid=1&year=2003

 Ka ir reziims, ka paraada visus downtime attieciigajaa meenesii (vai gadaa/nedeelaa).
(Tipa  : time  - subservice/trigers - priority - ...)



 - [3] Windows event log checking.
 - [4] Latest values. Link to page which shows list of all triggers-related
 to the item.
 - [4] users.php. Link to page which shows all actions defined for this user.
 - [5] Configuration of items/triggers. Add Select.
 - [7] SLA algorithm (A - 0%, B - 100% -> availability of AB = 50%)
 - [7] IT Service % must start at 01.01.20xx, not first day of the week
 - [7] ALARMS. Ability to select events by specifying date from/to.
 - [9] History of who and when changed trigger comment. As starting point: who and when
 did latest changes.
 - [9] ... the history to be used to see who did changes and who wrote specific parts
 of comments to know who is in charge for the instructions
 - [9] ... find outdated instructions to initiate its renewal (review)

LS:

 - detailed description for items

TOP PRIORITY:

 - fix update of 'status'. When added it never gets updated, if server is already unreachable.
 - add more checks for forms (check all possible wrong values)
 - support of fetch_html[*]
 - zabbix_agentd to support swap[*] and memory[*] onder AIX

BUGS:

 - add protection from IT Service looping

DIFFERENT TASKS:

 - SNMP trapping
 - distributed monitoring
 - personalisation (refresh rate, graph size, default graph period, etc)
 - SNMP-walk in WEB interface
 - add UserParameter without restart of an agent

TODO:

- Agent
 1. An API so that I can build and active agent into
    the centralized monitoring point of my application.
 2. max/min/average values during the poll pause along with last value to catch
CPU spikes otherwise invisible (have had these problems with BMC Patrol).
 3. Ability to add a library of  userwritten c-functions with dlopen/dlsym to
the agent with a predefined API that can return values to suckerd.

Not ready yet:

1. Monitoring of Windows (2000) services via SNMP
This is an extension I wrote based on your SNMP checker that scans through the Windows SNMP mib to check if a specified
+process is running. I thought it may be able to be used in a similar situation to the new SIMPLE check.

2. Basic schedule to monitor certain items during specified period.
I made changes to the PHP frontend and zabbix_sucker.c to enable the user to specify a time period (like between 9am-5pm) when
+the item should be checked.
(From: "Dave McCrudden" <dmccrudden@custcare.com.au>)


 - do not send notifications at certain periods of time. Do not monitor services at certain periods of time.
 - decrease number of TCP connections between server and agent
 - add triggers for all hosts at once
 - check new Mariusz patches
 - add support for downtimes, user availablity, etc

HB:

 - BUG. history graph goes left
 - personalisation (refresh rate, graph size, default graph period, etc)

 - LDAP authorisation (should work with MSWindows LDAP)

WIN32 Agent:

* API for sub-agents
* Support for check_port[] parameter
* Support for check_service[] parameter
* Installation program
* Possibility to store configuration in registry
* Configuration tool (may be through MMC?)

 OTHER:

 - support for netload under other platforms
 - make kstat structure local (instead of static)
 - collect network and other statistics using kstat()
 - apply Mariusz's patches
 - support for complex reports
 - support for check_service[samba]
 - ability to execute command on server monitored
 - support for OS X (network loads, disk loads)
 - check for function parameters in evaluate_simple_expression
 - update trigger status to UNKNOWN if cannot evaluate function 

 LATER:

 - setup demo site
 - different sound files for different severity
 - think about service node types (some nodes will automatically register
  problem)

 POSTGRESQL:

> Some corrections for  zabbix 1.1alpha9, PostgreQL version
> 1.)data.sql record for  itemid = 17201 is missing in table items
>
> 2.)  schema.sql some rows are commented using --; not valid pgsql syntax
>
> 3.)  schema.sql script for table images is missing
>
> CREATE TABLE images
> (
>    imageid serial NOT NULL,
>    imagetype int4 NOT NULL DEFAULT 0,
>    name varchar(64) NOT NULL DEFAULT 0,
>    image oid NOT NULL,
>    CONSTRAINT pk_imageid PRIMARY KEY (imageid),
>    CONSTRAINT unq_type_name UNIQUE (imagetype, name)
> )
> WITH OIDS;
> ALTER TABLE images OWNER TO zabbix;
>
>
> 4.) fill table images - little bit problem. Blob objects can be added
> only by pgsql supeuser
>
> My working work:
>
> Please, correct text in doc (paragraph 3):
>
> shell> cd ../data
> shell> cat data.sql|psql -U <username> zabbix
> # new
> shell> cd ../data
> shell> cat images.sql|sed s%addr%$PWD%|psql -U postgres zabbix
> # end new
>
> file images.sql is icluded as images1.sql
>
>
> (This mail was send to limo - Lukas Macura)
> Bye Mike
>
>
> New for rel ....10
>
> Changelog:
> - added column items.lastlogsize (Alexei)
> - added column screens_items.colspan (Alexei)
> - added column media.period (Alexei)
> - minor modifications of DB schema. Unnecessary indexes dropped. (Alexei)
>
> This changes are not included in patch.sql
>
> I can contribute with this things.
>
> Bye Mike
>
> --
> Michal K?ivka
>
> m.krivka@vlp.cz
> ICQ: 295 942 520
>

> --
> -- Zabbix
> -- Copyright (C) 2000,2001,2002,2003,2004 Alexei Vladishev
> --
> -- This program is free software; you can redistribute it and/or modify
> -- it under the terms of the GNU General Public License as published by
> -- the Free Software Foundation; either version 2 of the License, or
> -- (at your option) any later version.
> --
> -- This program is distributed in the hope that it will be useful,
> -- but WITHOUT ANY WARRANTY; without even the implied warranty of
> -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> -- GNU General Public License for more details.
> --
> -- You should have received a copy of the GNU General Public License
> -- along with this program; if not, write to the Free Software
> -- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> --
>
> --
> -- Dumping data for table `images`
> --
>
> insert into images values('1','1','Hub',lo_import('./images/Hub.png'));
> insert into images values('2','1','Hub (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Hub_small.png'));
> insert into images values('3','1','Network',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Network.png'));
> insert into images values('4','1','Network (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Network_small.pn
g'));
> insert into images values('5','1','Notebook',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Notebook.png'));
> insert into images values('6','1','Notebook (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Notebook_small.
png'));
> insert into images values('7','1','Phone',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Phone.png'));
> insert into images values('8','1','Phone (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Phone_small.png'))
;
> insert into images values('9','1','Printer',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Printer.png'));
> insert into images values('10','1','Printer (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Printer_small.p
ng'));
> insert into images values('11','1','Router',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Router.png'));
> insert into images values('12','1','Router (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Router_small.png
'));
> insert into images values('13','1','Satellite',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Satellite.png'));
> insert into images values('14','1','Satellite (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Satellite_sma
ll.png'));
> insert into images values('15','1','Server',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Server.png'));
> insert into images values('16','1','Server (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Server_small.png
'));
> insert into images values('17','1','UPS',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/UPS.png'));
> insert into images values('18','1','UPS (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/UPS_small.png'));
> insert into images values('19','1','Workstation',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Workstation.png'));
> insert into images values('20','1','Workstation (small)',lo_import('/usr/src/zabbix-1.1alpha9/create/data/images/Workstation
_small.png'));