Email notification when using system monitoring - grails

I am doing a Grails project. And here are some requirements about the system monitoring as below:
1. Email notify team when system goes down
2. Email notify team system log daily
3. Email notify team when app is deployed
So I don't know what to meet my requirements.
Could someone help me?

Use any monitoring software or service. I use New Relic, but there are plenty to choose from. If you only need ping, use a ping monitoring service. I use a free Google script I found on the Internet, but it has had some false alerts.
Use the Quartz plugin to send the log at a daily basis, or a cron job or similar.
Maybe use a shell script that does the employment and sends an email as well, or it might exist a Grails event for deployment.

Related

send email automatically monthly using asp .net mvc

I am developing a tuition fee management system using asp .net MVC for a university assignment. I am quite new with asp .net just learn it this April 2021. One of the requirements is that the system automatically sends an email every month to every user as a reminder about the outstanding balance. So how do I start to develop this requirement since I've been searching and only found tutorials email send manually and to one user only?
There is not built-in functionality in .NET that runs your code once a month, but there are several tools to do this. If you are using Azure, AWS or GCP (or any other cloud platform), you’d might consider a serverless Function to do this. These Functions can be triggered once a month by the cloud provider.
If you’re not hosting it in the cloud (or want to avoid any provider-specific features), you can use for instance Quartz (https://www.quartz-scheduler.net) or Hangfire (https://www.hangfire.io). There are many libraries available, all with their pros and cons. Hangfire for instance has a dashboard built-in to monitor and debug any issues, but this also costs some server resources and might be an overkill if you have a single job to run.
You should however take into account that communication with an SMTP server is quite time-consuming. Sending thousands of emails could therefore take a lot of time. Especially if you are using serverless Functions, this will become an issue due to the time-limits that apply for these Functions. Also when you run these as jobs in Quartz or Hangfire, you want to take into account this job might be aborted halfway. Therefore, you usually insert those mails into a queue (or database) and then have a second process to actually send these mails. Maybe even via a specialized email delivery service?

What's the best way to implement this shared batch process with Elastic Beanstalk?

I have a web and worker tier running on Elastic Beanstalk, the worker tier is used for background processing such as delivering email. However, what I want to do is the following.
Each day, look at who should be receiving an email (triggered by a complex set of data in the web tier), the fetch the required information and email it. This also needs to be able to work at scale.
The thoughts I have at the moment are:
Configure the worker tier to have access to the web tier database, have it periodically (via a cron.yaml) directly access the database to build the emails.
Have the web tier set up and manage a list of scheduled emails, which contains all the required information denormalised, in which the worker tier (via a cron.yaml) periodically polls and actions.
The second option does sound a lot like SQS, but the difference is these emails could be up to a month in the future at a specific time, which it sounds like SQS couldn't offer.
How would you do this? Any better ideas?
Thanks,
Dan

Jenkins (cloudbees): remotely trigger build (e.g.via instant message) w/o creating user account in Cloudbees

We're using Jenkins (and precisely Cloudbees) for couple years. Well, it works.
Not I have new use case when I would like to allow trigger build remotely (w/o user account in Cloudbees).
Looks like it's impossible (standard token trigger mechanism requires an account in Cloudbees).
The only one way that I see it to set-up instant message integration (e.g. Jabber) and trigger builds in chat. It's nice solution that I would like to have, but ... it doesn't work for me. No errors and no messages (I tried different jabber servers).
Because I have only one such weird user I don't want to install special software (like Jabber/IRC server) and wanna use existing (like Gtalk or similar).
Any thoughts will be welcome.
standard token trigger mechanism requires an account in Cloudbees
You can use the Build Token Root plugin to bypass authentication long enough to check the token.
In the long term it would be desirable for Jenkins to let users create non-user principals that would have their own API tokens and SSH keys (but no UI login) and a restricted subset of permissions, so you could freely create a one-off principal for a specific purpose such as triggering builds. The infrastructure for such a feature does not exist today, however.

JIRA Integration with external systems

I'm working on a POC to automate downstream processes in external systems based on JIRA processes and have hit a wall with the API. It appears to have great integration for pulling data about tickets out of JIRA and for the ability to externally generate tickets into JIRA.
However I don't see how to trigger external calls as a part of my workflows. For example if a ticket should be prevented from being routed to the next stage of a workflow without accessing a database to ensure availability of inventory first how could I do that in JIRA?
Based on attributes in the JIRA ticket upon final completion of the workflow we'd like to send a JMS or REST message or possibly update an external database. Is this possible?
Thanks all in advance for the help!
If you want to do a "before" check, use a Validator on the Workflow Transition.
I strongly suggest deploying the (free) Script Runner add-on. There you can implement a ton of things. For example, you'll get a new validator option "Script Validator", where you can specify a Groovy script that decides if it lets through the transition or aborts it.

How can I order a job in Control-M using a message queue?

I am trying to find a way to order a Control-M job via a message from an external application. We are using Control-M v8. We are able to send messages to the queue, but we have been unsuccessful in receiving messages that perform some sort of action in Control-m.
Erick, look at the documentation for the Control-M Business Process Integration Suite Manual. This suite provides the capability that you are looking for.
We have application back-end in UNix and, we use Control-M in-built utilities to call jobs from unix. The jobs should be created in desktop, and should have been uploaded to control M database without any specific schedule. A utility called 'ctmorder' can be used to call these jobs as and when required.

Resources