|
2 | 2 | # All rights reserved |
3 | 3 | # Licensed under a 3-clause BSD style license (see LICENSE) |
4 | 4 |
|
5 | | -import datetime |
6 | | -import re |
7 | | -import time |
8 | | - |
9 | 5 | from . import exceptions, helpers |
10 | 6 |
|
11 | 7 |
|
@@ -58,10 +54,6 @@ def collect(self): |
58 | 54 | except (exceptions.APIConnectionException, exceptions.APIParsingException): |
59 | 55 | pass |
60 | 56 | self._submit_ten_data(t) |
61 | | - try: |
62 | | - self.collect_events(t) |
63 | | - except (exceptions.APIConnectionException, exceptions.APIParsingException): |
64 | | - pass |
65 | 57 |
|
66 | 58 | def _submit_app_data(self, tenant, app): |
67 | 59 | a = app.get('fvAp', {}) |
@@ -120,74 +112,3 @@ def submit_raw_obj(self, raw_stats, tags, obj_type): |
120 | 112 | metrics[dd_metric] = mval |
121 | 113 |
|
122 | 114 | self.submit_metrics(metrics, tags, instance=self.instance) |
123 | | - |
124 | | - def collect_events(self, tenant, page=0, page_size=15): |
125 | | - # If there are too many events, it'll break the agent |
126 | | - # stop sending after it reaches page 10 (150 events per tenant) |
127 | | - if page >= 10: |
128 | | - return |
129 | | - |
130 | | - event_list = self.api.get_tenant_events(tenant, page=page, page_size=15) |
131 | | - |
132 | | - now = int(time.time()) |
133 | | - prior_ts = self.last_events_ts.get(tenant) |
134 | | - time_window = 600 |
135 | | - if prior_ts: |
136 | | - time_window = now - prior_ts |
137 | | - |
138 | | - self.last_events_ts[tenant] = now |
139 | | - |
140 | | - log_line = "Fetched: {} events".format(len(event_list)) |
141 | | - if len(event_list) > 0: |
142 | | - created = event_list[0].get('eventRecord', {}).get('attributes', {}).get('created') |
143 | | - log_line += ", most recent is from: {}".format(created) |
144 | | - self.log.info(log_line) |
145 | | - |
146 | | - for event in event_list: |
147 | | - ev = event.get('eventRecord', {}).get('attributes', {}) |
148 | | - created = ev.get('created') |
149 | | - create_date = re.search(r'\d{4}-\d{2}-\d{1,2}T\d{2}:\d{2}:\d{2}', created).group(0) |
150 | | - |
151 | | - self.log.debug("ev time: %s", created) |
152 | | - strptime = datetime.datetime.strptime(create_date, '%Y-%m-%dT%H:%M:%S') |
153 | | - timestamp = (strptime - datetime.datetime(1970, 1, 1)).total_seconds() |
154 | | - if now - timestamp > time_window: |
155 | | - return |
156 | | - |
157 | | - self.log.debug("sending an event!") |
158 | | - |
159 | | - title = "The resource: " + ev['affected'] + " emitted an event" |
160 | | - dn_tags = helpers.get_event_tags_from_dn(ev['dn']) |
161 | | - tags = ["tenant:" + tenant] |
162 | | - tags = tags + self.user_tags + self.check_tags |
163 | | - if 'code' in ev: |
164 | | - tags.append("code:" + ev['code']) |
165 | | - if 'user' in ev: |
166 | | - tags.append("user:" + ev['user']) |
167 | | - if 'cause' in ev: |
168 | | - tags.append("cause:" + ev['cause']) |
169 | | - if 'severity' in ev: |
170 | | - tags.append("severity:" + ev['severity']) |
171 | | - self.check.event( |
172 | | - { |
173 | | - 'timestamp': timestamp, |
174 | | - 'event_type': 'cisco_aci', |
175 | | - 'msg_title': title, |
176 | | - 'msg_text': ev['descr'], |
177 | | - "tags": tags + dn_tags, |
178 | | - "aggregation_key": ev['id'], |
179 | | - 'host': self.check.hostname, |
180 | | - } |
181 | | - ) |
182 | | - |
183 | | - # if we get to the end without running out of new events, move onto the next page |
184 | | - # there is a bug when sometimes it'll return 30 events despite the page size setting |
185 | | - if len(event_list) != 0 and len(event_list) % 15 == 0: |
186 | | - self.collect_events(tenant, page=page + 1, page_size=15) |
187 | | - |
188 | | - @property |
189 | | - def last_events_ts(self): |
190 | | - if self.instance_hash not in self.check.last_events_ts: |
191 | | - self.check.last_events_ts[self.instance_hash] = {} |
192 | | - |
193 | | - return self.check.last_events_ts[self.instance_hash] |
0 commit comments