Azure Monitor is great, it can store logs, metrics. By default, Azure will store all of your resources metrics in Azure Monitor. When you provision a resource (CPU, App Service) , Azure automatically send relevant metrics to Azure Monitor. This is what i love most when working on Cloud, every service in cloud is built with a monitoring in mind. This means it gives you the ability to see what’s going on with your resource ( how much cpu,memory, disk…). Azure also allows you to send your custom metrics as well. It looks great right? Why don’t we send all our metrics to Azure?You thinkRead More →

If you receive this Application Error , you can’t even use Console – Diagnostics Tools. This is mostly because your application is crashed during the start and the docker keep restarting. To access the diagnostics pack. you need to enable this variable in the environment variable SCM_DO_BUILD_DURING_DEPLOYMENT=true After you can access to the Console, you can watch the Log stream to see the error, or open Bash command.Read More →

Have you ever been asked to monitor PowerBI gateway status? They need to receive alert when the gateway is offline. Or it’s just simply a dashboard to show the gateway status with its data such as hostname, version? The most common approach will be writing some scripts, pulling the data to logs and ingest it into Splunk. Why not using Splunk? Splunk can’t not run curl command by default, but if you install the Webtools Addons then it will open a new world. Below is my query to get PowerBI gateway status directly from Splunk, then i ingest that result into Splunk index. In orderRead More →

First, we need to update our apt sources.list /etc/apt/sources.list deb http://archive.debian.org/debian-security stretch/updates main contrib non-free Then run this command apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev   && docker-php-ext-configure gd      –with-freetype-dir=/usr/include/freetype2      –with-png-dir=/usr/include      –with-jpeg-dir=/usr/include   && docker-php-ext-install gdRead More →

This is the script you will need to get the start and end date of last quarter    $start_date = (new DateTime(‘first day of -‘ . (((date(‘n’) – 1) % 3) + 3) . ‘ month’))->format(‘Y-m-d’); # first day of previous quarter         $end_date = (new DateTime(‘last day of -‘ . (((date(‘n’) – 1) % 3) + 1) . ‘ month’))->format(‘Y-m-d’); # last day of previous quarter  Read More →

Sample data: 2024-06-04 12:22:44.140-04:00 DEBUG c.m.a.a.i.exporter.AgentSpanExporter – exporting span: SpanData{spanContext=ImmutableSpanContext{traceId=7315e28acf0b7ac821a6c135368c48ac, spanId=341e43ed1acc9776, traceFlags=01, traceState=ArrayBasedTraceState{entries=[]}, remote=false, valid=true}, parentSpanContext=ImmutableSpanContext{traceId=00000000000000000000000000000000, spanId=0000000000000000, traceFlags=00, traceState=ArrayBasedTraceState{entries=[]}, remote=false, valid=false}, resource=Resource{schemaUrl=null, attributes={service.name=”unknown_service:java”, telemetry.sdk.language=”java”, telemetry.sdk.name=”opentelemetry”, telemetry.sdk.version=”1.37.0″}}, instrumentationScopeInfo=InstrumentationScopeInfo{name=io.opentelemetry.tomcat-7.0, version=2.3.0-alpha, schemaUrl=null, attributes={}}, name=GET /**, kind=SERVER, startEpochNanos=1717518164122000000, endEpochNanos=1717518164126927840, attributes=AttributesMap{data={server.port=8080, applicationinsights.internal.item_count=1, user_agent.original=curl/7.29.0, http.response.status_code=404, network.protocol.version=1.1, thread.id=39, applicationinsights.internal.is_pre_aggregated=true, url.scheme=http, thread.name=http-nio-8080-exec-1, url.path=/suck, network.peer.port=53590, network.peer.address=1.1.1.1, server.address=servername, client.address=1.1.1.1, http.route=/**, http.request.method=GET}, capacity=128, totalAddedValues=16}, totalAttributeCount=16, events=[], totalRecordedEvents=0, links=[], totalRecordedLinks=0, status=ImmutableStatusData{statusCode=UNSET, description=}, hasEnded=true}Read More →

Login portal.azure.com , click on Resources Graph and run this query: resourcecontainers | where type == ‘microsoft.resources/subscriptions/resourcegroups’ | project name, id,subscriptionId,tags |project-rename rg_name=name,rg_id=id,rg_tags=tags | join kind=inner ( resourcecontainers | where type == ‘microsoft.resources/subscriptions’ | project name,subscriptionId,tenantId,tags | project-rename sub_tags=tags ) on subscriptionIdRead More →