We are GKE managing several applications:
app1
app2
app3
In GCP Error Reporting dashboard, errors are intermixed for all the applications. For example, the errors below are coming from a different app.
However in the Configure Notifications tab, there is no option to setup alerts based on app/conditions.
I'd like to be able to setup different notifcation channels depending on app eg. app1 -> slack, app2 -> email. We have different ops team that handle these apps and having them go to a shared, noisy Slack channel is not ideal. Also, it would be great to setup alerts based on exception details - for example all Java RuntimeExceptions result in different alerts.
What the conventional way to setup fine-grained alerts like these?
In the GCP Logs explorer (if in the legacy explorer, need to click upgrade) you can create an alert using this button, which will let you setup an alert anytime some criteria is met based on a log condition.
It will then create an entry in the monitoring tab under alerting and the rest is straightforward
Related
I want to enable slack and email notifications for GCP CloudSQL instances's maintenance.
When i go to each one of CloudSQL instances, I can see notifications are off in maintenance settings.
However when i try to edit maintenance and notification preferences, I am not able to find a way to turn on notifications for maintenance.
Also the docs are a bit misleading IMO.
On this Page https://cloud.google.com/sql/docs/mysql/maintenance#notifications
There is a link for You need to opt in to maintenance notifications. but it goes to a page where I couldn't find anything related to turning notifications on https://cloud.google.com/sql/docs/mysql/set-maintenance-window#opt-in
My Questions :
Can I enable all kind of cloudsql maintenance notifications including planned and sudden migrations.
Is this possible to receive these notifications on slack and email.
There is one other answer on SO which was not much of a help
Is there a way to configure email notification in GCP for Auto Updates on Google Managed Services?
Thank you in advance.
Only email is supported. You can do that by going to that url: https://console.cloud.google.com/user-preferences/cloud-profile
Then click on communication
From here you can activate the email communication by clicking on the slider.
You can select one or several projects in the dropdown list if you want.
EDIT 1
Sadly, you can't put a team email for notifications
I would like to start a new e-commerce platform build with Shopify/Hydrogen (React) an I'm still not sure about the back-end side (maybe ExpressJS + DynamoDB).
The issue is that I want to host everything on AWS, I am new there and I don't really know in which direction should I go.
Basically the platform is created for selling fishing stuff but it should also support the drop-shipping context, where other companies can sell their own products there.
Can anyone help me with a path for achieving this? What are the right steps?
Regarding headless storefronts you have multiple options with hosting, starting from Gatsby Cloud, through Netlify, Vercel or Amazon Amplify in case you want to host it on AWS.
I will assume that "drop-shipping context" would mean you want to become a some sort of a marketplace? Where other merchants would list their products and upon purchase handle the shipping themselves? You can organize that through using free open-source CMS - Strapi in a manner where it acts as a PIM (product information management system), basically you will create users in admin panel and allow them to put products into CMS and then pull and publish them to Shopify storefront (through Admin API you can even create products and add them to an order on the fly), also through webhooks that Shopify trigger on the purchase event you will be able to send a notification to a dropshipper.
Regarding Hydrogen it's pretty early in the making so I would suggest to take a look on React-powered boilerplates out on Github and it will boost implementation speed significantly.
Assume that there is an application, SPA, that uses Google OAuth2.0 to access the Google Drive API.
Reading the docs, the application flow seems familiar enough on the client-side specially with Google's JavaScript library for authentication. However, I have stumbled upon a roadblock during application registration phase.
When creating the credentials for our client application, I am redirected to fill out the form at the OAuth Consent Screen first. There, among other things it demands us to declare whether the application is in Testing or In Production phase, so it can decide whether the app will be available to everyone or to Test Users only.
Assume I create a project for our application and set it on testing at first and then change it to production once I am ready to publish (with a new set of credentials as well).
My question is this. What if development continues on the application for new features while one instance of the app is in production? During development and testing I would need to restrict the application to my Test Users alone. Since the OAuth consent screen is project specific, not credential specific, will I require multiple projects on the console for every environment in which the application is running?
As in,
Project MyAppTesting will permanently remain in testing mode and will denote our development/testing branch.
Project MyAppProduction is always in production and denotes my production branch.
Similarly for the mobile client:
A MyMobileAppDev project having credentials configured with the debug keystore hash
A MyMobileAppProd project having credentials configured with the production keystore hash.
(both sets of credentials share the same package name).
Is this the idiomatic way? I failed to find any documentation on the matter. Please advise.
What #JohnHanley stated is the best way and the best practice when deploying application/s in GCP.
You can create multiple projects and create different Oauth for each of the projects. Check out this link on service accounts.
In addition to that, there are also some pros and cons when it comes to billing.
Pros:
Users consider having multiple billing accounts with respective projects assigned for each account to be able to see their billing details separately. In this way you can monitor the billing for each of the respective projects for each account.
Cons:
Attaching all the projects to one billing account, however, the billing reports will show all of the sum of the cost for all the projects, but you can still use the filter menu to be able to see the charges for each project.
I am trying to setup Cloud Datastore, in GCP. Upon selecting "Cloud Datastore", in console, I see the "Choose where to store your data" page, with this error:
"Unable to retrieve database locations
There was a problem retrieving the available storage locations for your data. Retry or return later to finish getting set up."
Has anybody encountered this?
I have encountered same and resolved as below. (Iam using free tier)
When you select a location in either product (Cloud Datastore or App Engine), you set the location for your entire Google Cloud Platform project. I choose location to set from App Engine.
From Home (on left side) --> App Engine --> Select a language (I have selected "python"). --> It prompts for location (I have selected "us-central") --> (press) Next
Thats it come out of the tutorial. Next time I selected Datastore, it worked fine.
Hope this helps (screens below)
SCREEN1
SCREEN2
SCREEN3
SCREEN4
I've encountered the exact same error. Some of the Google Cloud management tools are a bit buggy, gcloud included, they need more TLC and more users to report bugs to Google. The best way around the bugs is to either use the Firebase Console or the App Engine console. Either one of these two appear to be required to provide the missing management glue between the various Cloud products Google has. The Firebase console IMHO is superior to the app engine console, and that's what I would recommend using. You can create the DB from the Firebase console. it will also add Firebase to your project, giving you access to the Firebase CLI, which works very well and doesn't have all the bugs that gcloud CLI has.
Go to https://console.firebase.google.com/u/0/ to open the firebase console
Click on +Add Project and select the project you created using the Google Cloud Console.
This will prompt you to accept addind Firebase for this project. Click accept, it will enable access to the project via the Firebase emulator and firebase CLI, you definitely want this.
Under Develop in the left hand menu, select Database, from there you will be able to add the version you want. Keep in mind only the old firestore has an SLA, but the new native Cloud Datastore is better, it has the pub/sub on events on read/writes.
I use Firebase to manage microservices that are only accessible via special routing from other backends and don't use any Firebase client code, it's just so much easier to manage the functions and run them locally with the firebase emulator before deploying using the Firebase CLI. I've not had the same luck with gcloud or using the Google cloud console as opposed to the Firebase console. On the other hand, Firebase CLI, the emulator and the Firebase console are fantastic, pretty seamless experience. It's been a joy using them. I wish I could say the same about the Cloud console, I go in there only when truly necessary.
How do we ensure tenant based logging in WSO2?
We do not want logs from different customers getting mingled. Essentially, what we are looking for is completely different directories for each tenant's logs.
I have read a fair bit of documentation for the same and there does not seem to be an out of the box solution.
Any tips is appreciated.
The logs are separate in memory, so you may login to the carbon console as a tenant admin and check Monitor -> System Logs to see the logs dedicated to that specific tenant.
However, there is no OOTB solution to dividing the text based logs by tenant.