How to Monitor a Golang Application with Supervisor - Golang Web Development

Опубликовано: 19 Январь 2025
на канале: Maharlikans Code
469
12

In this Golang Web Development Series #20, we will learn on How to Monitor a Golang Application with Supervisor on Ubuntu 20.04 LTS with step by step guide here in Golang's Web Development Series.

#MaharlikansCode
#GolangWebDevelopment20
#Supervisord
#MonitorGolangAppUsingSupervisor
#GolangTutorial
#LearnGolangWebDevelopment
#Golang
#LifeAsSoftwareDeveloper
#Maharlikans
#FilipinoSoftwareDeveloper

Get Linode Account:
https://www.linode.com/?r=6aae17162e9...

If you go with extra mile for buying me a cup of coffee, I appreciate it guys: https://ko-fi.com/maharlikanscode

supervisord.conf:
; supervisor config file

[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)

[inet_http_server]
port=server_ip_address:9001
username=yourUserName
password=yourPassword

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket

; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files cannot
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf

supervisor/conf.d/gowebapp.conf:
[program:gowebapp]
directory=/root/go/bin/
command=/root/go/bin/gowebapp
autostart=true
autorestart=true
startretries=10
stopasgroup=true

; Log any events from this web service.
stdout_logfile=/etc/supervisor/logs/gowebapp.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10

stderr_logfile=/etc/supervisor/logs/gowebapp.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10