alerta_alerta/alerta/plugins/remote_ip.py

32 lines
841 B
Python

import logging
from flask import request
from alerta.plugins import PluginBase
LOG = logging.getLogger('alerta.plugins')
class RemoteIpAddr(PluginBase):
"""
Add originating IP address of HTTP client as an alert attribute. This information
can be used for debugging, access control, or generating geolocation data.
"""
def pre_receive(self, alert, **kwargs):
remote_addr = next(iter(request.access_route), request.remote_addr)
alert.attributes.update(ip=remote_addr)
return alert
def post_receive(self, alert, **kwargs):
return
def status_change(self, alert, status, text, **kwargs):
return
def take_action(self, alert, action, text, **kwargs):
raise NotImplementedError
def delete(self, alert, **kwargs) -> bool:
raise NotImplementedError