-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathREADME
101 lines (76 loc) · 3.54 KB
/
README
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
( )
_, _ . ( ` ) . )
( ( _ )_ (_, _( ,_)_)
(_(_ _(_ ,)
POC for AWS monitoring using Zabbix and Chef automation
This is an usable proof of concept on how to manage an efficient capacity
planning (do more with less) and monitoring for cloud computing over Amazon's
AWS installations and using Zabbix SIA's monitoring tool and Opscode's Chef
automation tool
100% tested (by me only)
100% documented, but you need to know AWS, Zabbix and Chef
It has 6 main goals:
- Templatization
- Aggregation
- Resources optimization
- Abstraction
- Auto-register, auto-deregister
- Chef automation
Those concepts are not new nor invented by me, but here you can find an easy
way to implement them either for AWS or any other environment.
Templatization
Shows how can the entire Zabbix configuration be templatized, exploring this
awesome Zabbix's feature.
Aggregation
By aggregating groups it is easy to manage and persist values of volatile
AWS instances creation and destruction, and still be able to plan for best
resources usage. It is similiar as how Cloudwatch do, but lasts longer than
few weeks
Resources optimization
By using trapper items ("listeners"), show how to send all the values at same
time from the zabbix_sender tool. It helps to get snapshots of a moment and
make calculations more accurate. It also avoids long configurations in the
agent side.
By trying to use only the built-in agent items to build the LinuxBasic template
Abstraction
By modificating the default Linux template adding some more abstraction making
it easier to use the same template for all machines you have. It also includes
the cpu steal time that is important for vms and EC2 Amazon instances
Auto-register, auto-deregister
Not only building a script for auto-registration, but showing how to make it
efficient exploring the goals above. The script is also based in the Zabbix's
API. Deregistration is based on Amazon AWS, specially the autoscaling service
were your machines' pool increases and decreases dinamically
Please use Zabbix > 1.8.5, for ubuntu you can get it from here
http://packages.ubuntu.com/oneiric/zabbix-agent
Minor version has some api problems
If you like opscode's chef, start with this cookbook. My cookbook extend its
features:
http://community.opscode.com/cookbooks/zabbix
Dirs:
templates/ <- zabbix templates and installations instructions
chef/ <- chef cookbooks, roles examples and
auto-register instructions
scripts/ <- very basic instruction
TODO/Limitations/Known issues:
- use more python, specially for de-registration
- fix the max of 5 AWS accounts silly limitation
- make better and centralized documentation
- build a step-by-step walkthrough
- maybe build a script to generate the scripts independent of chef for manual
instaltion or to be used with another automation tool
- improve the calculate itens for low traffic machines don't divide by zero
and disable the item/trigger for a while
_ _
( ` )_
( ) `)
(_ (_ . _) _)
_
( )
_ . ( ` ) . )
( _ )_ (_, _( ,_)_)
(_ _(_ ,)
_ _
( ` )_
( ) `)
(_ (_ . _) _)