Salman Chawhan

Hi, I’m Salman Chawhan.
I am a Senior IT Operations Engineer and Full-Stack Architect with a 9+ year track record of managing global server fleets (100+ nodes) and delivering high-performance technical systems for international enterprises. I run this blog to share production-grade insights on cloud architecture, telecom, and automation. Beyond writing, I operate an active freelance consulting practice helping global clients resolve critical IT, cloud, and telecommunication challenges on an hourly basis.Core Freelance Offerings:
* RingCentral & Enterprise VoIP: Advanced IVR setup, custom queue layouts, and automated call-routing configurations.
* Cloud & DevOps Engineering: Automated infrastructure deployment via AWS, Terraform, Docker, and Kubernetes.
* Systems & Mailing Solutions: Proxmox hypervisor clustering, pfSense firewall failovers, and high-volume, secure bulk email delivery engines. Have a critical technical bottleneck or a system migrations project? Let’s connect to deploy a fast, secure, and robust fix. [Let’s Talk Projects]

How to Configure Pm2 Health for sending mails if any issue in services

Note: Replace yourdomain.com with you domain sudo su pm2 install pm2-healthvim ~/.pm2/module_conf.json {“pm2-logrotate”: {“max_size”: “500M”,“retain”: “200”,“compress”: “true”,“dateFormat”: “YYYY-MM-DD_HH-mm-ss”,“workerInterval”: “30”,“rotateInterval”: “* * * * 30”,“rotateModule”: “true”},“module-db-v2”: {“pm2-logrotate”: {},“pm2-health”: {}},“pm2-health”: {“smtp”: {“host”:…

Read more

How to auto-start Windows services

#start the following Windows services in the specified order: [Array] $Services = ‘MailService’,’SpamAssassin’,’OpenVPNServiceInteractive’,’Certify.Service’,’Schedule’; #loop through each service, if its not running, start it foreach($ServiceName in $Services){$arrService = Get-Service -Name $ServiceNamewrite-host…

Read more