You could create a node shape (you might want to look into the PGF/TikZ manual to learn about how to do this in general) if you want to reuse this drawing several times (what I assume is your aim actually), but I am not sure whether a shape is flexible enough to meet your requirements. In my opinion, it is better to create a pic
from it, since it would allow you to change the marker position easily:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\tikzset{
pics/dynamometer/.style={
code={
\tikzset{dynamometer/.cd, #1}
%% Ring
\draw[line width=6pt] (2,24) circle (1.5);
\draw[line width=3pt] (2,22.5) -- ++(0,-3);
\coordinate (-ring-top) at (2,25.5);
%% Hook
\draw[line width=6pt, gray, rounded corners] (2,9) -- ++(0,-1.5) arc (90:360:1.7);
\coordinate (-hook-top) at (2,7.5);
\coordinate (-hook-center) at (2,5.8);
\coordinate (-hook-bottom) at (2,4.1);
%% Shape of the dynamometer
\draw[line width=3pt, fill=lightgray, rounded corners] (3.5,21) rectangle ++(-3,-12);
%% Scale
% Vertical line
\draw[line width=3pt] (2,20) -- ++(0,-10);
% Graduation with red marker
\foreach \i in {0,...,20} {
\draw[line width=0.5pt] (1.5,{10+0.5*\i}) -- ++(1,0);
}
\coordinate (-marker) at (2,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
\draw[line width=5pt, red] (1.5,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}}) -- ++(1,0);
}
},
dynamometer/marker position/.initial={5}
}
\begin{document}
\begin{tikzpicture}
%%
%% Key wanted : - Newton value to label the red marker.
%% - Option to use the rectangle or circle boundaries shape.
%% - Node wanted : - red marker node
%% - bottom of the hook
%% - Upper part of the hook
%% - center of the hook
%% - upper part of the ring
%%
\pic (mymeter) at (0,0) {dynamometer};
\node[circle, inner sep=3pt, fill=yellow] at (mymeter-ring-top) {};
\node[circle, inner sep=3pt, fill=green] at (mymeter-marker) {};
\node[circle, inner sep=3pt, fill=cyan] at (mymeter-hook-top) {};
\node[circle, inner sep=3pt, fill=blue] at (mymeter-hook-center) {};
\node[circle, inner sep=3pt, fill=magenta] at (mymeter-hook-bottom) {};
\pic at (5,0) {dynamometer={marker position=15}};
\end{tikzpicture}
\end{document}

I don't know what unit the scale displays, so I opted for a neutral marker position
as option to the pic.
If you want to have a highly stylable variant, you could maybe use this (which also extends the hook according to the marker position):
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\tikzset{
pics/dynamometer/.style={
code={
\tikzset{dynamometer/.cd, #1}
%% Ring
\draw[dynamometer/ring] (2,24) circle[radius=1.5];
\draw[dynamometer/ring connection] (2,22.5) -- ++(0,-3);
\coordinate (-ring-top) at (2,25.5);
%% Hook
\draw[dynamometer/hook] (2,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}}) -- ++(0,-11.5) arc[start angle=90, end angle=360, radius=1.7];
\coordinate (-hook-top) at (2,{-1.5+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
\coordinate (-hook-center) at (2,{-3.2+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
\coordinate (-hook-bottom) at (2,{-4.9+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
%% Shape of the dynamometer
\draw[dynamometer/meter] (3.5,21) rectangle ++(-3,-12);
%% Scale
% Vertical line
\draw[dynamometer/scale] (2,20) -- ++(0,-10);
% Graduation with red marker
\foreach \i in {0,...,20} {
\draw[dynamometer/tick] (1.5,{10+0.5*\i}) -- ++(1,0);
}
\coordinate (-marker) at (2,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
\draw[dynamometer/marker] (1.5,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}}) -- ++(1,0);
}
},
dynamometer/marker position/.initial={5},
dynamometer/ring/.style={line width=6pt},
dynamometer/ring connection/.style={line width=3pt},
dynamometer/hook/.style={line width=6pt, gray, rounded corners},
dynamometer/meter/.style={line width=3pt, fill=lightgray, rounded corners},
dynamometer/scale/.style={line width=3pt},
dynamometer/tick/.style={line width=0.5pt},
dynamometer/marker/.style={line width=5pt, red},
}
\begin{document}
\begin{tikzpicture}
%%
%% Key wanted : - Newton value to label the red marker.
%% - Option to use the rectangle or circle boundaries shape.
%% - Node wanted : - red marker node
%% - bottom of the hook
%% - Upper part of the hook
%% - center of the hook
%% - upper part of the ring
%%
\pic (mymeter) at (0,0) {dynamometer};
\node[circle, inner sep=3pt, fill=yellow] at (mymeter-ring-top) {};
\node[circle, inner sep=3pt, fill=green] at (mymeter-marker) {};
\node[circle, inner sep=3pt, fill=cyan] at (mymeter-hook-top) {};
\node[circle, inner sep=3pt, fill=blue] at (mymeter-hook-center) {};
\node[circle, inner sep=3pt, fill=magenta] at (mymeter-hook-bottom) {};
\pic at (5,0) {dynamometer={marker position=20, meter/.append style={sharp corners, fill=white}, hook/.append style={draw=blue}}};
\end{tikzpicture}
\end{document}

Added a few options for a label:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage{siunitx}
\tikzset{
pics/dynamometer/.style={
code={
\tikzset{dynamometer/.cd, #1}
%% Ring
\draw[dynamometer/ring] (2,24) circle[radius=1.5];
\draw[dynamometer/ring connection] (2,22.5) -- ++(0,-3);
\coordinate (-ring-top) at (2,25.5);
%% Hook
\draw[dynamometer/hook] (2,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}}) -- ++(0,-11.5) arc[start angle=90, end angle=360, radius=1.7];
\coordinate (-hook-top) at (2,{-1.5+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
\coordinate (-hook-center) at (2,{-3.2+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
\coordinate (-hook-bottom) at (2,{-4.9+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
%% Shape of the dynamometer
\draw[dynamometer/meter] (3.5,21) rectangle ++(-3,-12);
%% Scale
% Vertical line
\draw[dynamometer/scale] (2,20) -- ++(0,-10);
% Graduation with red marker
\foreach \i in {0,...,20} {
\draw[dynamometer/tick] (1.5,{10+0.5*\i}) -- ++(1,0);
}
\coordinate (-marker) at (2,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}});
\draw[dynamometer/marker] (1.5,{10+0.5*\pgfkeysvalueof{/tikz/dynamometer/marker position}}) -- ++(1,0);
\node[dynamometer/marker label] at (-marker) (-marker-label) {\pgfkeysvalueof{/tikz/dynamometer/marker label content}};
}
},
dynamometer/marker position/.initial={5},
dynamometer/ring/.style={line width=6pt},
dynamometer/ring connection/.style={line width=3pt},
dynamometer/hook/.style={line width=6pt, gray, rounded corners},
dynamometer/meter/.style={line width=3pt, fill=lightgray, rounded corners},
dynamometer/scale/.style={line width=3pt},
dynamometer/tick/.style={line width=0.5pt},
dynamometer/marker/.style={line width=5pt, red},
dynamometer/marker label/.style={right=0.5cm},
dynamometer/marker label content/.initial={},
}
\begin{document}
\begin{tikzpicture}
%%
%% Key wanted : - Newton value to label the red marker.
%% - Option to use the rectangle or circle boundaries shape.
%% - Node wanted : - red marker node
%% - bottom of the hook
%% - Upper part of the hook
%% - center of the hook
%% - upper part of the ring
%%
\pic (mymeter) at (0,0) {dynamometer={marker label content={\Huge\qty{65}{\newton}}, marker label/.append style={circle, fill=yellow}}};
\end{tikzpicture}
\end{document}

\newcommand
. A bit ugly. And my learning goal was over the dynamometer.