def grafana(self, func, grafana_password): ami_account = self.plateform['account'] if 'ami-account' in self.plateform[self.blocname]: ami_account = self.plateform[self.blocname]['ami-account'] grafana = ComponentWeb(self.plateform) web={ 'name': 'grafana', 'ami-name': 'grafana-*', 'ami-account': ami_account, 'port': '3000', 'health-check': '/api/health', 'health-check-port': '3000', 'attach_cw_ro': True, 'efs-enable': False, 'node-count': 1, 'min-node-count': 1, 'max-node-count': 1, 'ips_whitelist': self.plateform[self.blocname]['ips_whitelist'], 'enable_cognito': True, 'user-data': ''' #!/bin/bash -x exec > /tmp/userdata-grafana.log 2>&1 grafana-cli admin reset-admin-password {password} '''.format(password=grafana_password) } grafana.compute_var(web, func)
def alertmanager(self, func, sns_arn): ami_account = self.plateform['account'] if 'ami-account' in self.plateform[self.blocname]: ami_account = self.plateform[self.blocname]['ami-account'] alertmanager = ComponentWeb(self.plateform) web={ 'name': 'alertmanager', 'ami-name': 'alertmanager-*', 'ami-account': ami_account, 'port': '9093', 'health-check': '/-/ready', 'attach_sns_pub': True, 'efs-enable': False, 'node-count': 1, 'min-node-count': 1, 'max-node-count': 1, 'ips_whitelist': self.plateform[self.blocname]['ips_whitelist'], 'enable_cognito': False, 'enable_private_alb': True, 'enable_public_alb': True, 'user-data': ''' #!/bin/bash -x exec > /tmp/userdata-alertmanager.log 2>&1 sudo sed -i.bak 's/alertmanager-sns-to-email/{sns_arn}/g' /etc/alertmanager/alertmanager.yml sudo systemctl restart alertmanager.service '''.format(sns_arn=sns_arn.replace('\n', '')) } alertmanager.compute_var(web, func)
def tracing(self, func): ami_account = self.plateform['account'] if 'ami-account' in self.plateform[self.blocname]: ami_account = self.plateform[self.blocname]['ami-account'] tracing = ComponentWeb(self.plateform) web={ 'name': 'tracing', 'ami-name': 'jaeger-*', 'ami-account': ami_account, 'port': '16686', 'health-check': '/', 'health-check-port': '16687', 'attach_cw_ro': False, 'efs-enable': False, 'node-count': 1, 'min-node-count': 1, 'max-node-count': 1, 'ips_whitelist': self.plateform[self.blocname]['ips_whitelist'], 'enable_cognito': True } tracing.compute_var(web, func)
def prometheus(self, func): ami_account = self.plateform['account'] if 'ami-account' in self.plateform[self.blocname]: ami_account = self.plateform[self.blocname]['ami-account'] prometheus = ComponentWeb(self.plateform) web={ 'name': 'prometheus', 'ami-name': 'prometheus-*', 'ami-account': ami_account, 'port': '9090', 'health-check': '/-/ready', 'attach_cw_ro': False, 'attach_ec2_ro': True, 'efs-enable': False, 'node-count': 1, 'min-node-count': 1, 'max-node-count': 1, 'ips_whitelist': self.plateform[self.blocname]['ips_whitelist'], 'enable_cognito': False, 'enable_private_alb': True, 'enable_public_alb': True } prometheus.compute_var(web, func)