I realized that a month had gone by without me fulfilling my promise.

Literal

Promise [obj-を] not-fulfilling one month [subj-が] has-passed-[regret-てしまった] thing [to-に] noticed.

Several rich constructions: 果たさず is the classical/formal negative continuative 'without fulfilling' (modern alternative: 果たさないで). ~てしまう + past gives 'ended up X-ing,' with a regretful nuance. ~ことに気が付く ('notice/realize that...') uses ことに to mark the content of realization. Together the sentence reads as rueful self-recognition.